Luke Rodgers has signed a two-year contract at Crewe after rejecting terms at former club Shrewsbury.
Manager Dario Gradi is delighted to capture the 23-year-old striker.
He said: "Luke has been busting a gut to be involved ever since he arrived on trial. He's a confident lad and he's impressed me with his attitude."
Gradi has also announced that Mark Rivers, Crewe's experienced 29-year-old midfield man, can now leave Gresty Road on a free transfer.