You are thinking about getting your own pleco catfish or maybe you had some noticeable events happen in your tank. This raises the question: do pleco catfish eat other fish? After all, the last thing you want is adding a pleco to your tank and later figuring out it’s been eating your other aquarium fish.

In this post, you’ll learn everything about a pleco’s diet and whether it eats fish. The answer might surprise you!

Do plecos eat fish?

Pleco catfish like bristlenose plecos eat other fish, but only after they died. They will not hunt for live and healthy fish and only eat what’s on the ground. This makes them a good cleaner, that cleans up dead fish.

So, if you have noticed your pleco is eating off a dead fish, don’t worry. Most pleco species are omnivores and will try to eat all the protein they can get. This means they will also take the opportunity to feast off of dead fish.

Even bristlenose plecos or clown plecos, who are mostly herbivores (plant-eating), will not hesitate to eat dead fish or even shrimp/snails. If you see a pleco eating off of a dead fish, just let it be (unless it’s too big to be consumed by it alone). It won’t harm your tank, nor the fish;

This makes plecos a good cleaner fish- but not in the way it’s often claimed to be. If you have occasionally a dead fish in your tank, which is totally normal, your pleco will most likely eat it. It’s even healthy for them.  The common misconception is that plecos will make your tank cleaner overall. This is not true, since a pleco creates a ton of waste, even more than most other fish species. Buying a pleco to clean your tank is thus not a good idea.

Do plecos eat baby fish?

Pleco catfish will only eat weak or dead baby fish, that lay on the bottom of the tank. They will not eat healthy or active baby fish. In some cases, they might eat their own fry/eggs if they are undergoing stress.

If you are familiar with breeding pleco catfish, you know they lay their eggs in holes or small spaces. The male guards the eggs in the cave and later the fry. In some cases, when the male is stressed or inexperienced it might eat his own fry or offspring. This can be because of tank mates, too much noise or vibration, or changes in tank conditions (like water temperature).

Do plecos kill fish?

Pleco catfish do not kill other healthy fish because it isn’t a predator. When a fish is sick or weak, it might hang on to it trying to eat it and thus killing it. 

As stated above, it will not harm healthy fish. They are made for scavenging on the bottom layer, searching for things like algae, or leftovers. If you look at the anatomy and mouth of a pleco fish, it’s quite clear that they aren’t made for hunting.

Plecos are opportunistic fish, though. When a fish is close to dying or very sick, being unable to swim away, a pleco might try and eat it. So, if you see a sick fish, give it the proper treatment away from the pleco.

Do plecos eat each other?

Plecos are not cannibalistic. They are omnivorous and only eat other fish that are dead. That being said, if a pleco has died, another pleco might try and eat it.

The only case that plecos might eat their own species is during the breeding process. Stressed males might eat their own eggs or sometimes fry.

If you are keeping multiple males in the same tank, you might notice fights happen. Males will try and take over dominance, possibly causing scars or wounds. This is no sign of cannibalism, but can get out of hand. Read our full guide on pleco aggression.

Understanding the natural diet of pleco fish

As noted earlier, pleco fish are mostly omnivores. There are carnivorous and herbivore species too, but even these species might eat protein or plants when given the chance.

It’s a myth that pleco catfish only eat algae. Most plecos species are omnivores, and plecos need extra food to have enough nutrition. You can for example feed vegetables to plecos, or algae wafers and add some protein-rich pellets, too.

If you want to learn more about feeding plecos vegetables like zucchini, cucumber or even carrots, I highly recommend you read our full guide on this topic. Feeding plecos vegetables like cucumber.

How to stop a pleco from eating dead fish

Luckily, it isn’t unhealthy for a pleco to eat dead fish. But it might be a good choice to try and prevent a pleco from eating a dead carcass. The fish might have died from a disease, which can infect the pleco. Or the pleco might eat only half the fish, causing a carcass to pollute the water.

In most cases, there isn’t really a lot you can do to prevent your plecos from eating dead fish.

The best thing you can do is feed your pleco a healthy and varied diet. This should include both plant-based materials and protein-based foods. If you feed some meaty foods, too a pleco will have less need for proteins of f.e. dead fish.

The easiest method will be to just remove the dead fish from your tank as soon as you notice it. This will prevent the pleco from eating it and the carcass possibly affecting water quality.

Do plecos eat fish poop?

Plecos will not eat fish poop. In fact, no fish eat other fish’s poop, simply because it hasn’t enough nutritional value.

Plecos will not eat fish poop and in fact, produce way more poop than the average fish. So it’s not recommended to buy them to clean your tank


Plecos are omnivores and will eat dead fish. It will never kill the fish. Males might also eat their own fry if they are stressed or inexperienced.

Sometimes, you might notice plecos fighting each other. This is however to assert dominance and not a sign of cannibalism.

It’s often claimed that plecos are cleaner fish that among other things eat fish poop. This isn’t correct. Plecos need their own varied diet.