"Penny pooped in my bed. Not too fond of that. If it happens again, Penny goes Bye Byes," Margera, who lives in Chester County, Pa., said in a message along with the photo he posted on Twitter.
The Philadelphia Inquirer said the "Jackass" star clarified his intent after animal-rights activists loudly condemned the stunt.
"I feel like every follower I have on Twitter knows my Jackass joking kind of humor," he told the newspaper, adding nobody complained about other images he posted showing him holding the toy gun to various human heads.
Margera also said he was unaware of a recent spate of animal cruelty in the county where he lives and admitted if he had known about the incidents, he never would have posted the puppy photo.
"I think those people need to go down," he told the Inquirer of the abusers. "Just hurting another animal is rude, crude, and more."