The 21-year-old striker, who had a successful loan spell with the Lions earlier this season, has put pen to paper on a two-and-a-half-year deal.
"I really enjoyed my loan spell at Millwall and felt I settled in well," he told the club's official website.
"Thankfully the manager had faith in me and said he wanted to sign me when the transfer window opened.
"Now I can't wait to get back playing again. This is an ambitious club, and I'm looking forward to helping establish Millwall in the Championship and progress from there."
Source: PA
Source: PA