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.
Everton moved quickly to wrap up the deal for Williams after John Stones sealed his £47.