A Malaysian man sliced off his own penis, then fried and ate it after taking hallucinatory pills that caused him to hear voices urging him to mutilate himself, police said.

The 34-year-old claimed he only realised what he had done when he saw blood oozing from his crotch, said a police spokesman in the town of Sitiawan, 300 kilometres north of Kuala Lumpur.

The man had taken hallucinatory pills before sleeping on Friday and awoke hearing voices telling him to chop off his penis and devour it, the spokesman said on condition of anonymity.