The 31-year-old has penned a three-year contract with the Merseyside club after passing a medical on Wednesday, and signs for a reported £9million fee.
Williams departs Swansea after eight years at the Liberyty Stadium, during which he played more than 300 games and captained the side.
Swans boss Francesco Guidolin was eager to keep hold of the Wales international but reluctantly allowed him to join their Premier League rivals after he made it clear he wanted to join the Toffees.
Speaking after the announcement of the deal, Williams told the official Everton website: “I’ve had eight great years at Swansea and, for me, the new challenge was something I felt I needed, so I’m delighted to have joined Everton.
“Everton is a great club with an unbelievable manager – a world legend in football – and I believe the Club is going in the right direction. This is something I wanted to be a part of.
“I look forward to seeing what the manager’s plans are for me and the team. He’s been one of the greatest centre-halves to ever play the game, so I look forward to learning from him and seeing what he can teach me.
Everton moved quickly to wrap up the deal for Williams after John Stones sealed his £47.5m move to Manchester City on Tuesday.