German members of Parliament are set to vote on Friday to legalise same-sex marriage, days after Chancellor Angela Merkel dropped her opposition to the idea.

The reform would give gay men and lesbians full marital rights, and allow them to adopt children, reports the BBC.

At present, German same-sex couples are limited to civil unions.

On Monday, Merkel, who previously opposed a vote on gay marriage, said she would allow MPs from her CDU party to "follow their conscience".

But at an event hosted by the women's magazine "Brigitte" on June 26, she shocked the German media by announcing on stage that she had noted other parties' support for it, and would allow a free vote in the future.

Merkel said she had had a "life-changing experience" in her home constituency, where she had dinner with a lesbian couple who cared for eight foster children together.

A survey by the government's anti-discrimination agency found that 83 per cent of Germans favour marriage equality, reports the BBC.

The Green Party, the far-Left Linke, and the pro-business Free Democrats all back same-sex marriage and they have refused to enter a future coalition deal unless reform is agreed on.

Merkel's current coalition partners — the centre-Left Social Democrats (SPD) — have done the same.

The right-wing Alternative for Germany (AfD) is now the only party to oppose same-sex marriage.

Civil marriages are legally recognised in Norway, Sweden, Denmark (excluding the Faroe Islands), Finland, Iceland, the Netherlands, Belgium, Spain, Portugal, Luxembourg, France, the UK (except Northern Ireland and Jersey), and the Republic of Ireland.

But in Austria and Italy — as in Germany — gay couples are restricted to civil partnerships.