The Toffees paid £20 million for the Colombian playmaker, according to BBC Sport. He signed a two-year contract on Merseyside, with a club option for a third season.
James played under Everton manager Carlo Ancelotti at Real Madrid and Bayern Munich.
"I'm looking forward to achieving great things here - and winning things, which is what everyone's aim is," James said. "I've come here to try to improve, to get better. I've also come here to help the team to win, to play good football - entertaining football.
"I'm convinced, with Carlo and his technical staff, we can achieve big things and one of the big reasons (I signed) was the presence of Carlo Ancelotti."
The 29-year-old rose to prominence after scoring an outrageous volley for Colombia and winning the Golden Boot at the 2014 World Cup. He moved to Real Madrid later that summer and went on to win two La Liga titles and two Champions Leagues with Los Blancos. He also collected two Bundesliga crowns during an extended loan spell at Bayern Munich.
He was entering the final year of his contract at Real Madrid.