The 27-year-old has made 20 appearances for Boro since joining from Oxford United last summer, but has fallen down the pecking order in recent months.
Johnson has played just twice this term, both appearances coming in the EFL Cup, prompting the former Motherwell man to seek first-team football elsewhere.
"Marvin gives us plenty of options, quick, left-footed and can play in a number of positions," Blades boss Chris Wilder told the official club website.
"We've tracked him for a while for good reason, we are delighted that we've finally got his signature."
Johnson is United's second capture on deadline day and eighth in total of the summer transfer window.