The 30-year-old winger has been with Cologne since January 2019 when he was acquired from Werder Bremen for three million euros.
"Florian is one of our most consistent players and one of the absolute key players in our team. He has backed up his form from the previous season as well," said Koln managing director Christian Keller.
"Four goals and five assists in 14 Bundesliga games speak for themselves, he's our top scorer. Since his signing four years ago, he has continued to develop and is now one of the leaders off the pitch as well. He identifies 100% with FC and the path we want to go on."
Kainz has made 14 Bundesliga appearances for Cologne this season, while scoring five goals and providing four assists.
"I am very pleased to have extended my contract at FC and am thankful for the trust which the club has given me," Kainz told the press.
"I want to take over more responsibility on and off the pitch in the future.
"I am convinced by the way we want to play football and believe that FC can be successful in the Bundesliga in the coming years."