An estimated 200,000 demonstrators marched through the streets of Brazil's biggest cities last night.

The protests were due to anger over poor public services, police violence and government corruption.

The marches were organised mostly through social media campaigns.

Streets in Sao Paulo, Rio de Janeiro, Belo Horizonte and Brasilia were blocked and traffic was halted.

The protests have added to growing unease over Brazil's sluggish economy, high inflation and a rise in violent crime.

While most of the protests unfolded as a festive display of dissent, some demonstrators in Rio threw rocks at police and vandalised the state assembly building.

Vandals also destroyed property in the southern city of Porto Alegre.

The epicentre of the marches shifted from Sao Paulo, where 65,000 people took to the streets late in the afternoon, to Rio.

Protesters gathered throughout the evening and crowds grew to 100,000 people, local police said.

At least 20,000 more gathered in Belo Horizonte.

The protests have gathered pace as Brazil is hosting the Confederations Cup, a dry run for next year's football World Cup.

The government hopes these events, along with the 2016 Olympics, will showcase Brazil as an emerging power on the global stage.

Contrasting the billions in taxpayer money spent on new stadiums with the shoddy state of Brazil's public services, protesters are using the Confederations Cup as a counterpoint to amplify their concerns.

The tournament got off to shaky start at the weekend when police clashed with demonstrators outside stadiums at the opening matches in Brasilia and Rio.

More protests are being organised for the coming days.