Nearly two-thirds of Swiss voters backed the government's plan to introduce same-sex marriage in a referendum held today, with campaigners calling it a historic day for gay rights in Switzerland.

With results in from 20 of the wealthy Alpine nation's 23 cantons, 64% of voters backed the move, on a 52% turnout.

Switzerland was one of the last countries in western Europe where same-sex marriage remained illegal.

The government's 'marriage for all' proposals were challenged by opponents, who successfully triggered a referendum.

"The Swiss have dropped a massive 'yes' into the ballot box," Olga Baranova, a spokeswoman for the 'yes' committee, said.

"Today does not change my country. Today reflects the change of mentality over the last 20 years. It is really the reflection of a very broad and very important acceptance of LGBT people in society," Ms Baranova said.

Switzerland decriminalised homosexuality in 1942, but numerous local and regional police forces continued to keep 'gay registers', some into the early 1990s.

Same-sex couples can already register a civil partnership, with around 700 established each year.

However, this status does not provide the same rights as marriage, including for obtaining citizenship and the joint adoption of children.

After years of debate and discussion, the Swiss parliament approved a bill last December allowing same-sex couples to marry in the country of 8.6 million people.

But it was challenged under Switzerland's direct democracy system, with opponents gathering the 50,000 signatures needed to put the issue to a referendum.

The law change will allow same-sex couples to marry in civil ceremonies and provide them with the same rights as those enjoyed by other married couples.

Foreign spouses will become eligible to apply for citizenship through a simplified procedure, and same-sex couples will be permitted to jointly adopt.

And, in what proved the most controversial aspect of the referendum campaign, lesbian couples will have access to sperm donations.

The right-wing populist Swiss People's Party (SVP) - Switzerland's largest political party - called for a 'no' vote.

Opponents plastered Swiss cities with stark posters decrying the commodification of children and warning the law will "kill the father".

One poster showed a crying baby with its ear tagged like cattle, and the question: "Babies on demand?"

Another featured a huge zombie-like head meant to represent a dead father.

"Everyone will be disappointed," said Yohan Ziehli, vice president of the SVP in the French-speaking Vaud canton in western Switzerland.

"Parliament made the tactical choice to link two subjects that should not have been, namely the question of parentage which has been hidden behind the shield of marriage for all in order to guarantee its success," he told broadcaster RTS.

A second vote was held alongside the referendum, on an initiative brought forward by the youth wing of the Socialist Party, titled "Reduce taxes on wages, tax capital equitably".

Proponents of the so-called '99%' initiative wanted greater taxation on high levels of capital income, with the revenues generated used to reduce income taxes for the less well off.

Results so far showed that 65% voted against the measure.