The US soldier who killed 16 Afghan villagers in a solo attack has apologised for his "act of cowardice'' as he made his case at his sentencing hearing for why he should one day be eligible for parole.

Robert Bales said on Thursday that he was operating "behind a mask of fear... and bravado" when he left his base in Kandahar province and slaughtered people in two villages as they begged him to stop.

"Sorry just isn't good enough, but I am sorry," he told a military jury. "What I did is an act of cowardice."

Al Jazeera's Rob Reynolds, reporting from Lewis-McChord military base near Tacoma in Washington state, said Bales "got a bit choked up".

The massacre prompted such angry protests that the US temporarily halted combat operations.

Bales, 39, pleaded guilty in June in a deal to avoid the death penalty for the March 11, 2012 attacks. A jury is determining if his life sentence should offer a chance of parole.

Bales said he was mad at himself for being angry all the time, drinking too much and hiding his problems.

'Horrible things'

In June, he could not explain to a judge why he committed the killings.

"There's not a good reason in this world for why I did the horrible things I did," he said at the time.

If he is sentenced to life with the possibility of parole, Bales would be eligible in 20 years, but there is no guarantee he would receive it. He will receive life with parole unless at least five of the six jurors say otherwise.

Defence attorneys are hoping to convince jurors that Bales simply "snapped" after four combat deployments and deserves leniency. They say he suffered from post-traumatic stress disorder.

Jurors this week have heard from Afghan survivors and family members of the victims who were flown to the US to testify.

Bales' attorneys did not question any of the Afghan witnesses.

Source: Al Jazeera and agencies