Sergeant Sanick Dela Cruz made the admission at a pre-trial hearing ahead of a series of military trials over the killings and alleged cover-up at Haditha, 120 miles west of Baghdad, in November 2005.
He said he knew urinating on the dead Iraqi was wrong but was enraged after one of his colleagues, Lance Corporal "TJ" Miguel Terrazas, had been torn apart by a roadside bomb.
"I know it was a bad thing what I've done, but I done it because I was angry TJ was dead and I pissed on one Iraqi's head," Sgt Dela Cruz said.
The Haditha killings have prompted the biggest US criminal case involving civilian deaths in the Iraq conflict. A total of seven US marines face charges, including three marines who have been charged with murder.