Live updates: follow the latest news on Russia-Ukraine
Protests took place across Russia as anti-war protest pages were set up on social media, and about 1,745 people in 54 cities were detained, at least 957 of them in Moscow.
One online petition, started by prominent Russian human rights advocate Lev Ponomavyov, gathered more than 330,000 signatures by the end of the day.
Tatyana Usmanova, an opposition activist in Moscow, wrote on Facebook that she thought President Vladimir Putin's strike on Ukraine was “a disgrace that will be forever with us now”.
“I want to ask Ukrainians for forgiveness," Ms Usmanova said. "We didn’t vote for those who unleashed the war."
Several Russian celebrities and public figures, including some who work for state TV, spoke out against the attack.
Yelena Kovalskaya, director of a state-funded Moscow theatre, announced on Facebook that she was quitting her job.
In Moscow and other cities, authorities moved swiftly to crack down on critical voices.
OVD-Info, a rights group that tracks political arrests, reported that 1,745 people in 54 cities had been detained.
Hundreds also took to the streets in St Petersburg and dozens in Yekaterinburg.
In Berlin, several hundred people rallied at the Brandenburg Gate, which was lit in the blue and yellow colours of the Ukraine flag for the second evening.
Anton Kushch, 35, a Ukrainian software engineer, said he woke to “a push notification on my phone about war” and had been sent “messages on my phone with all these burning tanks on the roads".
“It's hard to believe, it's surreal,” Mr Kushch said. “This is just catastrophic for the whole world … But we have what we have, a tyrant sitting there in the Kremlin.”
Student Sofia Avdeeva, 22, from the disputed Donetsk region, called Mr Putin a war criminal and said she hoped “the same thing he is putting people through happens to him and his family".
Russians also joined the protests, with some holding placards outside the Russian embassy.
“We want to show that we are against the war,” said Ekaterina Studnitzky, 40, a teacher from Moscow, holding a cardboard Ukraine flag.
Thousands rallied on Prague's Wenceslas Square then marched towards the Russian embassy, with protesters carrying a large poster featuring Hitler and Mr Putin, with the tagline "1938-2022", referring to the year of Nazi Germany's occupation of Czechoslovakia.
In Paris, several hundred people gathered outside the Russian embassy. Protesters chanted “Stop Putin, stop the war” and carried placards reading “No war".
In New York, about 200 protesters marched from Times Square to Russia's UN office. Among them was Kateryna Bieliaieva, 34.
“I feel so powerless, this is the only thing I could do. I want to do more,” Ms Bieliaieva told AFP.
In Madrid, Oscar-winning Spanish actor Javier Bardem was among about 50 people who gathered outside the Russian embassy.
In London, a few hundred mainly Ukrainian protesters rallied outside Prime Minister Boris Johnson's official Downing Street residence, which was lit up in yellow and blue.
“Wake up, Russia, wake up,” the crowd chanted, many of them tearful.
About 150 people demonstrated in Stockholm outside the Russian embassy, waving Ukrainian flags and holding signs reading “Ukraine, solidarity", “Stop Russian aggression” and “Stop the bloody maniac".