On 6 July 2007, he signed a two-year professional contract with Reading,[4] and made his debut against Luton Town on 26 August in the League Cup, getting on the scoresheet.
During Reading's 2–0 victory over Leeds United on 6 April, Karacan suffered a broken ankle after a tackle by Michael Brown.
[20] For the 2014–15 season, Karacan was made captain by Nigel Adkins and changed his squad number to 21, due to his admiration for Italian maestro Andrea Pirlo.
[22] He scored a consolation goal from 20 yards on 14 March, after replacing Jake Taylor as a second-half substitute in a 4–1 defeat at Vicarage Road, in his second appearance of the season.
[23] He went on to play in each of the remaining games and made his final appearance in a Reading FC shirt in a 3–0 away victory against Derby County.
Bursaspor enquired about the permanent signing of Karacan but according to reports the financial situation at the club meant negotiations broke down.
On 11 March 2017, Karacan joined Bolton Wanderers on a one-month contract, making his debut for the Trotters from the substitutes bench that same day, coming on for Darren Pratley in a 4–2 win away at Fleetwood Town.
[27] On the final day of the season, Karacan scored the opening goal to put Bolton 1-0 up against Peterborough United in a 3–0 win, which was enough to seal promotion back to Championship as runners up.
[35] At the end of the 2020–21 season, after helping Scunthorpe United avoid relegation and playing 24 times, Karacan left the club with the expiration of his contract.
[citation needed] He made his debut for the under-21s as a substitute against Armenia in August 2008,[3] before making his first appearance for the A2 team when they beat Estonia 5–0 in March 2012.
[40] Karacan received his first senior call-up for Turkey on 13 October 2012,[41] for the 2014 FIFA World Cup qualification match against Hungary, but was an unused substitute.