Roman Sushchenko, 47, was "conducting espionage activities" when he was detained in Moscow, the FSB said.
It accused him of being an officer in Ukrainian military intelligence and "collecting state secrets".
Ukrainian state news agency Ukrinform said he had been working for them since 2002 and was based out of Paris.
It said he had been in Moscow in a private capacity and was detained on 30 September.
Ukraine's foreign ministry said it was "outraged" by Mr Sushchenko's detention on "trumped up charges".
"We consider this yet another step in the Russian Federation's purposeful policy to use Ukrainians who find themselves in the hands of the Russian authorities as political hostages in its hybrid aggression against our country," it said in a statement.
Ukrainian pilot Nadiya Savchenko was released by Russia in May in a prisoner swap.
In a high-profile trial, she had been sentenced to 22 years in jail for killing two Russian journalists in eastern Ukraine, charges she denied.
Russia's FSB security service has detained a Ukrainian journalist for spying, sparking a fresh diplomatic row between the two countries.