The 36-cap Italy international emerged through Roma's academy in 2011 – initially as a midfielder – and has made 280 appearances for the Serie A club.
He was named captain in 2019 but spent the second half of last season on loan with Valencia, appearing 14 times in all competitions.
PSG boss Thomas Tuchel confirmed on Wednesday he was in the market for a new right-back and a deal has now been agreed with Roma.
The French champions, who have also been linked with Arsenal's Hector Bellerin, announced Florenzi's arrival on their official website on Friday.
"I'm really proud and happy to become a Paris Saint-Germain player," the 29-year-old said.
"They're one of the major clubs in Europe today, confirmed by their run to the Champions League final last month.
"I'm keen to give my best for Paris Saint-Germain and the supporters. We have extraordinary challenges ahead of us this season.
"It will be a pleasure and an honour to face them alongside my new team-mates, who are among the best players in the world."
PSG, without seven first-team players due to positive coronavirus tests, lost 1-0 to Lens on Thursday in their opening game of the 2020-21 campaign.