Officials from the Donetsk and Luhansk People's Republics said Ukraine turned over 124 people and the separatists freed 76.
Those released by Ukraine included five former members of the disbanded special police force Berkut, who were accused of killing protesters in Kiev in 2014, according to their lawyer, Igor Varfolomeyev.
Among the 76 freed by the rebels were 12 servicemen, two of whom had been held since 2015 after being ambushed while escorting a convoy of wounded out of the battle of Debaltseve, the Security Service of Ukraine said.
The last major prisoner swap between separatist rebels and Ukrainian forces took place in December 2017, with 233 rebels exchanged for 73 Ukrainians.
The conflict in eastern Ukraine has killed more than 14,000 people since 2014. It began about two months after Ukraine's Russia-friendly president fled the country amid massive protests in Kiev. Russia's takeover of the Crimean Peninsula soon followed.
Hopes for ending the fighting have risen since the election of Ukrainian President Volodymyr Zelensky, who has been more amenable to negotiations with Russia on ending the war.
But questions remained over how Ukraine would allow local elections that would ensure the rebel regions more autonomy and how the government would control its border with Russia in the rebel areas.
Konstantin Kosachev, a top diplomat in Russia's upper parliament house, took note of the difficult issues still to be solved but said, "One way or another, the countdown is finally moving in the right direction."
The leader of the Luhansk People's Republic, Leonid Pasechnik, praised the exchange as the rebels' "latest victory."
The Associated Press contributed to this report.