The Turkish international midfielder will receive €600,000 per season in wages and €15,000 per appearance.
If the 26-year-old starts over 25 games in his first season his yearly wage will increase to €800,000. If Karacan makes 25 starts in his second season he will receive €1 million in the 2017-18 season.
The former Reading man passed a medical and joined the rest of the Galatasaray team for pre-season training.
Reading boss Steve Clark wanted the 26-year-old to remain and offered him a new deal however, the box-to-box midfielder opted to join the Turkish Super Lig champions.
Karacan has missed much of the last two seasons due to injury. The Turkish international made just 11 appearances this season due to a lengthy knee injury.
Galatasaray won the league title for the 20th time last season and secured a place in the Champions League group stages.