About 50 civilians were killed this week in fighting in western Afghanistan between US-led troops and suspected militants, Afghan and UN officials say.
Mr Karzai said civilian casualty levels were unacceptable
Investigators said women and children were among those killed in Herat province. More civilians deaths were reported in Kandahar province.
President Karzai summoned foreign military commanders to tell them his people's patience was wearing thin.
US-led forces said they killed 136 Taleban and knew of no civilian deaths.
Western forces have been accused of carelessness over civilian lives when attacking Taleban fighters.
The death of civilians has been a major issue in Afghanistan, with Nato saying in January that its biggest mistake in 2006 had been the killing of innocent people. It promised to do better.
Correspondents say most civilian deaths in Afghanistan are the result of suicide bombings and other attacks by the Taleban.
Confirmation of the worst civilian casualties in the country for months emerged on Wednesday after provincial investigators and a United Nations team visited Shindand district, scene of the clashes over the weekend.
The fighting was some of the bloodiest seen in the hitherto relatively quiet province, with the US-led coalition saying it had used land and air strikes to target militants.
It said it had no reports of any civilian casualties and had taken "every precaution to prevent injury to innocent Afghan civilians".
But Afghan police who visited the area found that 51 civilians had been killed in the fighting, Herat provincial spokesman Akramudin Yawar said.
"The figures I have so far of the civilians killed in the three-day operation in Shindand is that 51 civilians were killed, including 18 women and a number of children.
"I don't have the exact figures for children," Mr Yawar told the AFP news agency.
Afghans have been protesting against alleged civilian deaths
Many more civilians are reported to have been wounded.
Afghan investigators say hundreds of families have fled the area and about 100 houses were destroyed.
The UN Assistance Mission in Afghanistan also sent a team to the area and told the BBC it had found "credible reports from the local community of 49 civilian deaths".
Its spokesman, Adrian Edwards, said the team had been sent because "we were concerned about the possible indiscriminate use of force and possible displacement of civilians."
In Kabul, President Hamid Karzai met foreign military commanders to express his displeasure.
"The president told Nato and coalition commanders that the patience of the Afghan people is wearing thin with the continued killing of innocent civilians," a statement from his office said.
"Civilian deaths and arbitrary decisions to search people's houses have reached an unacceptable level and Afghans cannot put up with it any longer.
Mr Karzai told journalists that civilian deaths would bring "bad consequences".
"It is becoming a heavy burden and we are not happy about it.
"I hope the international community will find with us, with our relevant ministries, a mechanism that will bring an end to collateral damage, to damage to civilians."
His comments came as more than 1,000 students protested in the eastern province of Nangarhar for a fourth day over the alleged killing of civilians by US-led forces in a raid at the weekend.
In the southern province of Kandahar, Governor Asadullah Khalid said civilians had been among 13 people killed by foreign and Afghan forces in an attack on a convoy.
He said the dead included two women.
The US-led coalition said five militants had been killed in a clash at a checkpoint.
Violence has surged in recent weeks, with the onset of spring. About 4,000 people were killed in Afghanistan last year, about a quarter of them civilians.