The 27-year-old, who is with the national squad at Euro 2012, has struggled to get into the first team at the Premier League side after joining from Portsmouth in 2009.
Kranjcar played 72 games in all competitions for Spurs, scoring 11 goals, but with the emergence of Gareth Bale on the left of midfield his opportunities became increasingly limited.
"...after a great first season where we made the Champions League and I played a lot of games, the last two were quite disappointing and I really wanted to play because that's what you grow up wanting to do," he told Sky Sports.
British media estimated the transfer fee was about £5.5 million.
Kranjcar, who began his career with Dinamo Zagreb before joining their rivals Hajduk Split in 2005, was his country's top scorer with four goals in their Euro 2012 qualifying campaign.
Although one of Croatia's most experienced players, he faces a battle with Ivan Perisic and Ivan Rakitic for a starting spot at the tournament being co-hosted by Poland and Ukraine.
Croatia are in Group C with holders Spain, Italy and Ireland and open their campaign against the Irish in Poznan on Sunday.