The 30-year-old has signed a two-and-a-half-year contract with the Turkish side.
Babel spent the first half of the season at Spanish side Deportivo La Coruna, but his contract with the club expired at the end of 2016.
Welcome to #Beşiktaş #RyanBabel pic.twitter.com/PX0gVUSymc
— Beşiktaş JK English (@BesiktasEnglish) January 2, 2017
Babel made 11 La Liga appearances for the club, scoring four goals.