Why do dogs eat poo?
- Most dogs eat poo out of habit, hunger, stress, or boredom. It’s very rarely due to a medical problem or something lacking in their diet.
- The best way to stop your dog eating poo is by distracting them and giving them something better to do.
- If your dog has suddenly started eating poo and it’s very out of character for them, contact your vet for advice.
Most dogs eat poo (also known as ‘coprophagia’) out of habit, hunger, stress, or boredom. Only a very small number do it because of illness or something lacking in their diet.
Habit - some dogs start eating poo at a young age, which then becomes a habit.
Hunger - some dogs eat poo when they are hungry. This could be because they’re not being fed enough, they have suddenly started doing more exercise, they have a health condition that’s making them extra hungry, or they’re on a medication that’s increasing their appetite.
Boredom, stress or anxiety - some dogs eat poo if they are bored, stressed, or anxious.
Attention - some dogs learn that eating poo gets them attention and if they are very bored, they might even think being told off is better than getting no attention at all.
Medical reasons - it’s rare for a dog to eat poo due to an illness or dietary deficiency. However, it’s best to contact your vet if you’re worried, especially if your dog has started eating poo very suddenly and it’s out of character for them. Make sure to tell your vet about any other symptoms you’ve noticed, such as weight loss, diarrhoea, vomiting, or a change in their coat. If your dog exclusively eats poo from one particular dog, it would be sensible to also have that dog checked to ensure nothing is wrong with them.
Mothers and puppies - it’s completely normal for a mother dog to eat their puppies’ poo so this should never be discouraged. Puppies will also sometimes eat their own poo, or their littermates’ poo out of curiosity, but this usually stops with age.
Steps to success:
Supervise - Monitor your dog’s outdoor time - even if they’re just going for a quick toilet in the garden.
Distract - As soon as your dog approaches a poo, use a friendly voice to enthusiastically call them back.
Reward Give them something more interesting to do – a treat, a game, lots of fuss, or all three. The distraction will need to be ‘high value’ i.e., yummy or special!
Remove temptation - If it’s a dog poo – pick it up, if it’s a livestock poo – walk away from it. If it’s everywhere – keep distracting your dog, or put them on the lead!
Repeat - As with any habit, it can take a while to break. You will need to repeat this routine every time your dog is near a poo - keep training and you will reap the rewards.
What not to do:
Don’t punish - If you shout at your dog they won’t understand why you are cross, and it might even make them eat the poo quicker (to stop you taking it away). If your dog manages to get hold of some poo while you are training them, just ignore them and continue as normal.
Don’t muzzle - Don’t use a muzzle to stop your dog eating poo – it doesn’t stop them wanting to eat it, and they’ll often still try– which can be very messy!
Don’t give up - It will take time and patience to get your dog out of the habit of eating poo. Eventually, though, your hard work will pay off and your dog will learn that it’s much more fun to play with you than to eat poo.
Does pineapple stop dogs eating their own poo?
Some people find that feeding their dog pineapple or courgette stops them from eating their own poo because it gives the poo a bitter taste. There is no evidence to suggest that this works but there is no harm in trying. It’s fine for dogs to eat pineapple and courgette, but introduce it to them slowly because any sudden changes in diet can cause a stomach upset.
How do I stop my dog eating cat poo?
If your dog eats cat poo out the litter tray, the best solution is to put the tray somewhere they can’t reach. Move it up high, into a room/cupboard only your cat can access (microchip cat flaps are great for this), or consider using the type of litter box that is only accessible from the top.
When to contact your vet/behaviourist
If your dog has suddenly started eating poo, and doesn’t seem right in themselves, call your vet for advice. It’s a good idea to have a vet check-up to look for any medical causes before starting any training.
Once your dog has the all clear from your vet, it’s best to seek training advice from a certified dog behaviourist.
- Will my dog get poorly from eating their own poo?
- How can I stop my puppy eating his/her poo overnight?
Will my dog get poorly from eating their own poo?
Poo eating is unpleasant but, fortunately, it doesn’t often cause health problems for dogs.
How can I stop my puppy eating his/her poo overnight?
It can be difficult for young puppies to hold a poo in for a whole night while their owner sleeps, and it’s a natural behaviour for them to eat it – they are just copying what they have seen their mum do to keep their living space clean. The best way to reduce the risk of it happening is to take your pup out for a wee/poo just before you go to bed (as late as possible), provide them with an area where they can poo during the night (away from their sleeping space), then get up as early as possible to let them out again. If pooing inside is a real problem, it might be necessary to let them out half way through the night as well (and clear up any mess they have made). While this might not stop the problem completely, fortunately, most pups grow out of the habit with age. It’s very important never to tell your puppy off for toileting in the house, or eating their own poo as this will be very confusing for them.
Published: January 2023
Did you find this page useful?
Tell us more
Please note, our vets and nurses are unable to respond to questions via this form. If you are concerned about your pet’s health, please contact your vet directly.
Thank you for your feedback
Want to hear more about PDSA and get pet care tips from our vet experts?Sign up to our e-newsletter
Written by vets and vet nurses. This advice is for UK pets only. Illustrations by Samantha Elmhurst.