Parliament voted on Thursday for the law proposed by the centre-right government which said face veils were contrary to Danish values.
Opponents say the ban, that comes into effect on Aug, 1 infringes women’s right to dress as they choose.
Justice Minister Soren Pape Poulsen said police would not order offenders to remove their veils, but would fine them and tell them to go home.
Fines will range from 1,000 Danish crowns (160 dollars) for a first offence to 10,000 crowns for the fourth violation.
France, Belgium, the Netherlands, Bulgaria and the German state of Bavaria have all imposed some restrictions on full-face veils in public places.
Justice Minister Pape Poulsen, head of the conservative party in a government backed by the nationalist Danish People’s Party, said when the bill was proposed in February: “It is incompatible with the values of the Danish society or the respect for the community to keep the face hidden when meeting each other in the public space.”
Zainab Ibn Hssain, who lives in Copenhagen and has been wearing the niqab for the last year, told Reuters: “It’s not nice. It will mean that I won’t be able to go to school, go to work or go out with my family.
“But I won’t take my niqab off so I have to find another solution,” the 20 year-old added.
Human rights group Amnesty International called the ban “a discriminatory violation of women’s rights”.
“All women should be free to dress as they please and to wear clothing that expresses their identity or beliefs,” amnesty said.