McCarthy moves to Selhurst Park for an undisclosed fee.
"I can't wait to get started," the 28-year-old told Crystal Palace's official website. "It feels like a very nice club, nice family club.
"I'm delighted to be here; it's a fresh start that I thought I needed."
The Republic of Ireland international made 108 Premier League appearances for Everton over a six-year spell at Goodison Park, scoring six goals.
He made a further 115 PL appearances and scored a seven more goals in the competition before joining the Toffees, having started his career in the top flight with Wigan Athletic.
Palace open their 2019/20 campaign at home to McCarthy’s former club Everton on Saturday.