The 28-year-old was deemed surplus to requirements by Royal Blues coach Jens Keller earlier this summer and, after being linked with a move to Italy, has chosen to remain in the Bundesliga with the Eagles.
Frankfurt become his third Bundesliga employers after Bayer Leverkusen and Schalke.
"I'm immensely delighted that it has worked out and that I will get to know the city and the team," Barnetta said. "First of all, though, I have to join my national team and then I will return to Frankfurt in 10 days' time with (team-mate) Pirmin Schwegler."
Barnetta brings with him plenty of experience having appeared 251 times in the Bundesliga, scoring 26 goals.
He has also played seven Champions League games and will help Frankfurt as they embark on a campaign in the Europa League this term.