The worst clashes occurred in the northeastern city of Fortaleza, where Brazil played Mexico to a 0-0 draw.
During the match, some 30 protesters demonstrating outside the stadium were detained by police, Xinhua quoted the Secretariat of Security in the state of Ceara.
Police used tear gas to disperse the crowds after some protesters threw rocks at a bus at the service of world football governing body FIFA (International Federation of Associated Football). In southeast Rio de Janeiro, at least 15 youth were arrested at a downtown demonstration demanding free public transportation service, in the wake of a recent bus fare hike.
In southeast Sao Paulo, at a FIFA-sponsored Fan Fest, where fans with no tickets to events can watch the games for free on giant screens, a group of violent protesters tried to force their way into the venue.
In Belo Horizonte city, nearly 200 people demonstrated peacefully in the downtown area during the match between Algeria and Belgium.