Ukraine and Russia have exchanged around 200 prisoners of war from each side.
Russia's defence ministry said the swap involved 195 soldiers on each side - but President Zelenskyy said 207 Ukrainians were freed in Wednesday's exchange.
There was no immediate explanation for the different figures.
"We remember each Ukrainian in captivity. Both warriors and civilians. We must bring all of them back. We are working on it," the Ukrainian president wrote on X.
The Russian military said, without providing details or evidence, the Russian prisoners of war "faced deadly danger in captivity" and will be flown to Moscow for treatment and rehabilitation.
The exchange comes a week after Russia accused Ukrainian forces of shooting down a military transport plane carrying Ukrainian prisoners of war, who were going to be swapped for Russian counterparts.
Missiles fired from across the border brought down the plane in Russia's Belgorod region on 24 January, the defence ministry said.
The crash killed all 74 people on board, including six crew members and three Russian servicemen, local authorities in Belgorod, which borders Ukraine, said.
Moscow said 65 Ukrainian prisoners were on the plane.
The incident also led some Russian officials to publicly question the possibility of future prisoner swaps.
Ukrainian officials confirmed last week a prisoner swap was due to happen that day but said it had been called off.
It said it has seen no evidence the plane was carrying prisoners.