Iranian authorities have released French academic Roland Marchal, who has been imprisoned in Iran since June 2019, a French presidency official said on Saturday.
Marchal is due to arrive in France around midday on Saturday, the official said.
French President Emmanuel Macron urged Iran to also release French citizen Fariba Adelkhah, who is still imprisoned, the official added. Adelkhah also holds an Iranian passport.
Iran and France have agreed to swap Marchal, held on security charges, and an Iranian detained by Paris over alleged violations of US sanctions against Tehran, Iranian state media reported on Friday.
France has released Jalal Ruhollahnejad, an Iranian engineer wanted by US authorities over sanctions charges, state broadcaster IRIB has reported.
France had demanded that Iran release Marchal, a senior researcher at Sciences Po university whose arrest was reported by Paris in mid-October.
In May, a French court approved the extradition of Rouhollahnejad to the United States to face charges of attempting to illegally import US technology for military purposes on behalf of an Iranian company which US officials said was linked to the elite Revolutionary Guards.
The detentions have complicated ties between the two countries during a period when Macron was seeking to defuse tensions between Washington and Tehran.
Iran Revolutionary Guards have arrested dozens of dual nationals in recent years, mostly on espionage charges.
The detentions have coincided with a protracted standoff with Western powers prompted by a US decision to withdraw from an international agreement to curb Iranian nuclear activities.