Schneiderlin spent three-and-a-half years at Goodison Park after joining from Manchester United for £20m in January 2017.
The 30-year-old France international made 88 appearances in all competitions for the Toffees and scored one goal.
Schneiderlin has suffered injury problems this season, restricting him to 15 appearances in the Premier League.
Everton confirmed his departure with a short statement that read: “Morgan Schneiderlin has completed a transfer to OGC Nice for an undisclosed fee.
“Thank you and best of luck for the future.”
Everton manager Carlo Ancelotti confirmed that the club had to let Schneiderlin go after he expressed a desire to return to his homeland.
"I can talk about the period he spent with me and I think it was a good period," Ancelotti said.
"He had injuries but in the time he played, he played well. Everyone in the club is happy for what he did as a professional here and everyone wants to wish him the best.
"He had the desire to go back to France and we let him, he had the possibility to go there, so we wish him all the best for the future."
Nice, who are managed by former Arsenal captain Patrick Vieira, finished fifth in the French Ligue 1 this season.
Schneiderlin has played 15 times for the French national team and was part of their squads for the 2014 FIFA World Cup and EURO 2016.