Throngs of people blocked a central avenue and the main highway junction and bridge in the capital Belgrade, marching behind a black banner reading "Serbia Against Violence".
"My message is to put an end to violence. I am standing here not for my daughter but also for the well-being of all our children. That is my main objective," said Bojana, a protester in her 40s.
A schoolboy who brought two handguns to his school on May 4 killed eight pupils and a security guard, wounding six other pupils and a teacher. A day later, a 21-year-old man killed eight and wounded 14 people with an assault rifle. Both shooters surrendered to the police.
Protesters, mainly opposition supporters, demanded a shutdown of TV stations and tabloids that are predominantly pro-government and which they accuse of promoting violent and vulgar content.
Opposition parties and rights watchdogs accuse President Aleksandar Vucic and his ruling populist Serbian Progressive Party (SNS) of autocracy, oppressing media freedoms, violence against political opponents, corruption and ties with organised crime. Vucic and his allies deny the accusations.
Similar rallies were held in several other Serbian cities.
In response to the shootings, Serbia's police on Monday started a one-month amnesty for surrendering illegal weapons.
Reuters