The 22-year-old American arrives at Selhurst Park having made 10 first team appearances for the German giants across his three years there.
Richards also spent time on loan at fellow Bundesliga side 1899 Hoffenheim where he made 34 competitive outings and scored one goal.
The defender also boasts eight international caps for the United States and will be looking to book his spot in the team for the 2022 World Cup.
Having put pen to paper in south London, he said: "I grew up watching the Premier League and grew up of course watching [Wilfried] Zaha, so it'll be cool to spend some time on the field with them [the Palace players] and be a part of this historic club. I'm really excited for it.
"The kind of project I've seen [attracted me]. It's a lot of young players but also young players who have a lot of fight. Palace is a club that seems like they're always fighting."
Palace Chairman Steve Parish added: "Chris is a hugely talented young player, and he brings a lot of experience at a high level for his age, as well being an established International for the USA national side.
"I had the great pleasure of spending some time with him and his family yesterday and I know he will be a great fit for the club and I'm sure will become a firm fans' favourite. Competition can only drive him and our squad on."
Crystal Palace have one more friendly against Montpellier this weekend before kicking off their Premier League campaign against Arsenal at home on August 5.