Police unleashed tear gas and chemical-laced water today at thousands of demonstrators who staged one of Malaysia's largest street rallies in years, demanding fair rules for national elections expected soon.

At least 25,000 demonstrators swamped Malaysia's largest city, hoping to pressure Prime Minister Najib Razak's ruling coalition - which has held power for nearly 55 years - to overhaul electoral policies before polls that could be held as early as June.

Authorities insist the elections will be free and fair, rejecting activists' claims that the election commission is biased and that voter registration lists are tainted with fraudulent names.

Demonstrators wearing yellow T-shirts, waving banners and chanting slogans poured into central Kuala Lumpur, massing near a public square that police had sealed off with barbed wire and barricades.

"I'm here because I'm a Malaysian and I love my country," said information technology manager Burrd Lim. "There's no election that's perfect, but I want one that's fair enough."

Authorities had refused to allow an opposition-backed pressure group that organised the rally to use Independence Square, a nationally renowned venue that hosts parades and patriotic celebrations.

The demonstration remained peaceful for several hours, prompting organisers to declare it a success and ask people to head home. But when a small group appeared to suddenly breach the police barriers, authorities began firing tear gas and water laced with stinging chemicals at the crowd.

Baton-wielding police backed by trucks mounted with water cannon sporadically fired tear gas at some demonstrators for at least an hour before much of the crowd was dispersed. People fled into streets and stores nearby, leaving shoes, bottles and other belongings scattered on the ground.

Authorities were seen detaining dozens of people, with Malaysian media reports saying as many as 60 were arrested. Police said one protester snatched a pistol from its personnel during the chaos and others destroyed public property.

Video footage by independent news website Malaysiakini showed angry demonstrators overturning a police car that allegedly hit two people. Several people elsewhere were seen to have fainted, but no major injuries were immediately reported.

Kuala Lumpur's police said in its social media statements that authorities were forced to move against the protesters, but opposition leaders and rights groups said the action was unjustified.

"By launching a crackdown on peaceful protesters on the streets of Kuala Lumpur, the Malaysian government is once again showing its contempt for its people's basic rights and freedoms," said Phil Robertson, Human Rights Watch's deputy director for Asia.

Federal police spokesman Rasdi Ramli estimated there were about 25,000 demonstrators, but many witnesses and some Malaysian news organizations said there were far more. Malaysiakini said there were 100,000, while The Sun newspaper estimated 80,000.

"We all want change today," said Ambiga Sreenevasan, one of the demonstration's leaders.

The rally's organisers have also sought longer election campaigning periods and changes to ensure citizens living abroad can cast ballots, as well as international observers for the polls and fairer access for all political parties to the government-linked media.

But despite the large turnout for today's demonstration, there was no indication that Prime Minister Najib's National Front coalition would agree to major changes to satisfy the activists.

"If (elections) are not clean, not fair, show the evidence," Najib was quoted as saying by the national news agency, Bernama, today. "We do not want to be elected through cheating. We are a government chosen by the people. The majority of the people chose us because they know (we) are better" than the opposition.

Sign up to our free newsletters

Get the best updates straight to your inbox:
Please select at least one mailing list.

You can unsubscribe at any time by clicking the link in the footer of our emails. We use Mailchimp as our marketing platform. By subscribing, you acknowledge that your information will be transferred to Mailchimp for processing.