The hostages were flown home by the Turkish Prime Minister Ahmet Davutoglu on his personal plane.
The 49 were greeted by flag-waving crowds in Ankara after arriving in southern Turkey early on Saturday.
Prime Minister Ahmet Davutoglu said Turkey's intelligence agency had led the operation, but gave few details.
The hostages were seized after Isis overran Mosul, a city in northern Iraq, and arrested all non-Iraqi citizens.
Turkey has refused to use any military action against Isis due to fears that the hostages may have been harmed.