The 24-year-old was under contract with the Stags, but Marcus Bignot's side have reached an agreement to bring him in on a free transfer.
He spent the first half of the season on loan at Crawley, scoring three goals in 23 appearances.
The ex-Burton player will officially join on 1 January and becomes Bignot's first signing for the Mariners.
Grimsby have signed striker Adi Yussuf on an 18-month deal from fellow League Two side Mansfield.