"The United States takes this as seriously as if it was our own citizens, and our children, who were murdered. We're heartbroken over the loss of innocent life," Obama said.
The president is working to calm tensions in the wake of the massacre. Defense Secretary Leon Panetta says the American soldier could face the death penalty if convicted.
Taliban insurgents opened fire during a visit by Afghan officials at the scene of the killings, and angry students staged a protest, shouting, "Death to the soldier who killed our people."
U.S. officials have identified the shooter as a married, 38-year-old father of two. His name has not been released. The trained sniper had three deployments to Iraq. In 2010, he rolled over in a vehicle and suffered a mild traumatic brain injury, but just over a year later, he was back in combat, this time in Afghanistan.
Nine of the 16 civilians killed on Sunday were children and three were women, according to the Afghan president.
The killings were a reminder that more than 10 years after the Afghanistan War began, tens of thousands of U.S. forces were still fighting there. The incident has added to pressure in the U.S. to get out of Afghanistan more quickly.
"Make no mistake, we have a strategy that will allow us to responsibly wind down this war," Obama said.
He repeated the timetable for bringing forces home that he had already laid out: 23,000 troops by the end of this summer, on top of 10,000 removed last year. He did not give a schedule for withdrawal of the approximately 68,000 U.S. forces that will remain in Afghanistan at the end of this year.
The Associated Press contributed to this report.