Asda, which is owned by Walmart, was selling a white jacket spattered with blood and a fake meat cleaver.
Tesco's costume included an orange jumpsuit and a machete.
The move comes after mental health advocates complained, The Financial Times reported.
"Asda and Tesco have shown themselves to be extremely misguided," said Sue Baker, director of Time to Change, a mental health group. "It is staggeringly offensive to the one in four of us affected by mental health problems and our families and friends."
Both companies have issued apologies, the Times said.
Couple calls 9-1-1 over missing hash browns; assault McDonanld's employees
Workers accuse National Zoo of animal mismanagement