A far-right proposal to ban facial coverings in Switzerland won a narrow victory in a binding referendum on Sunday instigated by the same group that organised a 2009 ban on new minarets.
The measure to amend the Swiss constitution passed by a 51.2-48.8% margin, provisional official results showed.
The proposal under the Swiss system of direct democracy does not mention Islam directly and also aims to stop violent street protesters from wearing masks, yet local politicians, media and campaigners have dubbed it the burqa ban.
"In Switzerland, our tradition is that you show your face. That is a sign of our basic freedoms," Walter Wobmann, chairman of the referendum committee and a member of parliament for the Swiss People's Party, had said before the vote.
Facial covering is "a symbol for this extreme, political Islam which has become increasingly prominent in Europe and which has no place in Switzerland," he said.
Muslim groups condemned the vote and said they would challenge it.
"Today's decision opens old wounds, further expands the principle of legal inequality, and sends a clear signal of exclusion to the Muslim minority," the Central Council of Muslims in Switzerland said.
It promised legal challenges to laws implementing the ban and a fundraising drive to help women who are fined.
"Anchoring dress codes in the constitution is not a liberation struggle for women but a step back into the past," the Federation of Islamic Organisations in Switzerland said, adding Swiss values of neutrality, tolerance and peacemaking had suffered in the debate.
France banned wearing a full face veil in public in 2011 and Denmark, Austria, the Netherlands and Bulgaria have full or partial bans on wearing face coverings in public.
Two Swiss cantons already have local bans on face coverings, although almost no one in Switzerland wears a burqa and only around 30 women wear the niqab, the University of Lucerne estimates. Muslims make up 5% of the Swiss population of 8.6 million people, most with roots in Turkey, Bosnia and Kosovo.
The government had urged people to vote against a ban.