The 26-year-old underwent his medical on Wednesday afternoon to complete his move to The Den, and has been assigned the no. 44 shirt.
Marshall will be unavailable for Millwall’s FA Cup fourth-round replay against Rochdale on February 6, as he was not registered for the original fixture.
He has featured just nine times for Wolves this season, with his last appearance coming back in November in a 2-0 win over Fulham.
Marshall, who has previously played for Blackburn, Leicester and Sheffield Wednesday, has two-and-a-half years remaining on his contract at Molineux.
The winger previously attracted interest from Championship strugglers Sunderland.
Manager Neil Harris has already added defender Jason Shackell and re-signed midfielder Tim Cahill to his squad this month.