Juventus midfielder Adrien Rabiot fired France ahead on 52 minutes in Split as coach Didier Deschamps selected an inexperienced side without star forwards Kylian Mbappe and Karim Benzema.
Croatia equalised seven minutes from time when Andrej Kramaric won and converted a spot-kick.
“We did some good things taking into account all the changes. We were ahead and we could have got the second goal. It’s a shame we gave them the equaliser with the penalty,” Deschamps told M6.
“Of course the result doesn’t fully satisfy me. But there’s tiredness to factor in and with all the other matches I’m forced to make changes. It’s an ideal preparation for the World Cup.”
France and Croatia have just one point apiece in League A, Group 1. France were beaten 2-1 by Denmark in their opening game at home last week, while Croatia crashed to a 3-0 loss to Austria.
Denmark top the section on six points after defeating Austria 2-1 in Vienna in a game that was delayed Monday by an hour and a half because of a power outage.
On a night Luka Modric earned his 150th cap for Croatia, Deschamps handed a number of fringe players the chance to make an impression before the World Cup starts in Qatar in November.
But it was experienced defender Presnel Kimpembe who raced back to block as Ante Budimir hesitated to shoot with team-mate Lovro Majer also in position for a tap-in.
Christopher Nkunku, coming off a brilliant season with RB Leipzig, dinked the ball home over Dominik Livakovic but was adjudged offside on the half-hour.
Moussa Diaby was then denied by Livakovic as he burst towards goal down the right, with Aurelien Tchouameni’s long-range drive punched away by the Croatia goalkeeper.
Rabiot broke the deadlock when he was played in by a superb ball from Wissam Ben Yedder, sweeping clinically inside the near post for only his second international goal.
Substitute Antoine Griezmann saw a shot repelled by Livakovic shortly before Croatia were awarded a penalty following a VAR review after it was initially overruled for offside.
Mike Maignan saved at the feet of Luka Sucic, but Jonathan Clauss caught Kramaric from behind, the Hoffenheim striker calmly rolling in from the spot after a lengthy wait to review the incident.
Nikola Vlasic threatened to snatch a first win for Croatia over France in nine attempts, but Maignan got down sharply to turn behind.
Griezmann was then unable to take advantage of a miskick by Josip Juranovic in the closing moments as he dragged wide.