Malaysian riot police have fired tear gas and used water cannon on a crowd of protesters who had converged on the centre of the capital, Kuala Lumpur.
Thousands of protesters marched on a central square in the city calling for changes to the electoral system.
They believe the current arrangements will benefit Prime Minister Najib Razak's long-ruling coalition in forthcoming elections.
The rally is one of the largest in the country in the past decade.
A police spokesman estimated there were about 25,000 demonstrators at the protest, but some Malaysian news organisations put the numbers as high as 80,000.
Police had sealed off the city's historic Merdeka (Independence) Square with barbed wire and barricades and began firing tear gas when these were breached by the demonstrators.
At least 20 people were reported to have been detained by the authorities.
The demonstration was organised by an opposition-backed reform group, Bersih. Police said the group had no right to use the symbolically important square.
Malaysia's parliament approved a series of electoral reform measures this month, but activists say these do not address the main issue of electoral fraud which they maintain has kept the ruling Barisan Nasional coalition in power since independence.
Activists have alleged that the Election Commission is biased and that voter registration lists are tainted with fraudulent voters.
"I'm here because I'm a Malaysian and I love my country," one protester, information technology manager Burrd Lim said. "There's no election that's perfect, but I want one that's fair enough."