It says the legislation states that France has “legal responsibility” for the “tragedies it caused”, and “full and fair” compensation was an “inalienable right of the Algerian state and people”.

France has not yet commented on the vote.

It comes at a time of growing pressure on Western powers to offer reparations for slavery and colonialism, and to return looted artefacts still kept in their museums.

Algerian lawmakers have been demanding that France return a 16th Century bronze canon, known as Baba Merzoug, meaning “Blessed Father”, that was regarded as the protector of Algiers, now Algeria’s capital.

French forces captured the city in 1830, on their third attempt, and removed the cannon – which is now in the port city of Brest in north-western France.

In 2020, France returned the remains of 24 Algerian fighters who were killed resisting French colonial forces in the 19th Century.

Last month, Algeria hosted a conference of African states to push for justice and reparations.

Algeria’s Foreign Minister Ahmed Attaf said that a legal framework would ensure that restitution was neither regarded as “a gift nor a favour”.

Diplomatic relations between between Algeria and France soured last year, when Macron announced France was recognising Moroccan sovereignty of Western Sahara and backed a plan for limited autonomy for the disputed territory.

Algeria backs the pro-independence Polisario Front in Western Sahara and is seen as its main ally.

French-Algerian novelist Boualem Sansal was then arrested at Algiers airport in and jailed for five years, before being pardoned by Algeria’s President Abdelmadjid Tebboune last month.

Prosecutors said he had undermined national security for making remarks that questioned Algeria’s borders.