Afghan officials say 57 people have been killed and 119 wounded in a suicide bombing in Kabul that targeted a voter registration centre.

The Isis militant group has claimed responsibility for the attack, which General Daud Amin, the Kabul police chief, said targeted civilians who had gathered to receive national identification cards.

The large explosion echoed across the city, shattering windows miles away from the attack site and damaging several nearby vehicles. Police blocked all roads to the blast site, with only ambulances allowed in. Local TV stations broadcast live footage of hundreds of distraught people gathered at nearby hospitals seeking word about loved ones.

Isis claimed responsibility in a statement carried by its Aamaq news agency, saying it had targeted Shia "apostates".

Afghanistan will hold parliamentary elections in October.

Last week, three police officers responsible for guarding voter registration centres in two Afghan provinces were killed by militants, according to authorities.

Afghan security forces have struggled to prevent attacks by the Isis affiliate as well as the more firmly established Taliban since the US and NATO concluded their combat mission at the end of 2014. Both groups regularly launch attacks, with the Taliban usually targeting the government and security forces, and Isis targeting the country's Shia minority.

Both groups want to establish a harsh form of Islamic rule in Afghanistan, and are opposed to democratic elections.

Elsewhere in Afghanistan, at least five people were killed when their vehicle struck a roadside bomb in the northern Baghlan province. Zabihullah Shuja, spokesman for the provincial police chief, said four other people were wounded in Sunday's blast in Puli Khomri, the capital of the province.

The Taliban routinely target security forces and government officials with roadside bombs, which often end up killing civilians.

In the northern Balkh province, a district police chief died of his wounds after being shot on Saturday during a gun battle with insurgents, according to Sher Jan Durrani, spokesman for the provincial police chief. He said around a dozen insurgents were also killed in the battle, which is still under way.

Durrani identified the dead commander as Halim Khanjar, police chief for the Char Bolak district.

The Taliban claimed responsibility for the killing.