India's parliament on Tuesday passed a new labour law that allows children to work for their families despite concerns by activists that it will hurt their development.

The Lok Sabha or the lower house approved a ban on all children under 14 from working, except if employed in family businesses or in the sports and entertainment industry.

The current law prohibits children under 14 from working only in hazardous jobs, although even this is not properly implemented, according to activists.

The government defended the decision to allow some forms of labour after school hours or during vacations, saying some children needed to learn traditional skills and that families needed a helping hand.

"The purpose of the bill is that we should be able to practically implement it. So we have given some exemptions," junior labour and employment minister Bandaru Dattatreya told parliament.

"We have enabled many safeguards in the new bill," he added.

UNICEF decried the new provision in the law, saying the legitimisation of family work would further disadvantage children from poorer families.

"The proviso where the child helps his family or family enterprises, which is other than any hazardous occupations... raises serious concerns and is believed to impact the development and protection of the child," it said in a statement.

Millions of children in India work as domestic servants and in factories, mines and many other areas, according to aid agencies and government figures.

India's Nobel laureate and child rights activist Kailash Satyarthi said he was disappointed by the amended law.

"The Child Labour Amendment Bill 2016 is a missed opportunity to protect our children and generations to come," he wrote on Twitter.