Do Cory Catfish Eat Shrimp?

There are a great number of fish in the hobby that will live peacefully with other fish, but that will devour any shrimp as soon as they hit the tank. Are cory catfish one of those types of fish?

In general, cory catfish will not eat shrimp. Adult shrimp, specifically are too big to eat for cory catfish. They may occasionally eat baby shrimp less than 2 weeks old, but they won’t eat enough to hurt the population growth of shrimp in an aquarium.

This isn’t true in every circumstance, however, so let’s discuss some of the caveats you need to know.

Two small spotted Cory catfish side by side | Source: Deposit Photos

Can Cory Catfish Live With Shrimp?

It is safe for cory catfish to live with shrimp. For the most part, cory catfish will not attack shrimp and will leave them alone. Even baby shrimplets are typically safe around cory catfish in an aquarium. It is still recommended to provide thick plant cover for baby shrimp to hide in.

Out of all of the people I’ve heard from who have kept corydoras with shrimp, I’ve only ever heard of a single case where corydoras have attacked an adult shrimp. (And the details aren’t clear in that case – it could have been a shrimp that was already sick or dead.)

Overwhelmingly, corydoras are peaceful around adult shrimp and will even share an algae wafer with them without causing any problems.

Because of this, I’d say you don’t have to worry about them attacking or eating any of your adult shrimp.

Do Cory Catfish Eat Baby Shrimp?

This is where we get into more of a grey area.

Cory catfish will occasionally eat a baby shrimp if they are hungry enough and one that is small enough gets close to their mouth. They don’t eat enough baby shrimp to impact the overall population growth of the shrimp, however, so a lot of baby shrimp will still make it to adulthood in a tank with cory catfish.

Whether or not they eat baby shrimp seems to be largely dependent on the personality of the individual cory.

Cardinia Red Bee Shrimp | Source: Deposit Photos

Some people say they’ve never seen their cory catfish eat baby shrimp, even when they’re right next to each other sharing food. Other’s say they’ve seen it happen occasionally if the corydora was hungry or food wasn’t readily available.

A few have said that they’ve seen corydoras go after baby shrimp and even baby livebearing fish as a matter of preference, but this seems to be the exception rather than the norm.

That having been said, there are some things that you can do to protect your baby shrimp in the event one of your corydoras does decide to try eating them.

Choosing Your Corydoras Wisely

There are some species of cory catfish that are less likely to eat shrimp than others. If you already have your cory catfish, there’s nothing you can do here, and you should skip to the next section down.

If you’re still thinking about getting cory catfish, however, you should try to get ones whose mouths aren’t on the front of their faces.

This won’t guarantee they’re more shrimp safe, but it does stack the deck a bit more in your favor.

An example of this would be C. Habrosus (mouth on bottom) vs C. Pygmaeus (mouth on front).

Corydoras Pygmaeus | Source: Deposit Photos

Getting dwarf cory catfish may help as well, because the smaller sized fish will only be able to eat smaller sized things, but I wouldn’t worry about this too much unless you have a small shrimp tank that you want to put your corydoras in (e.g. less than 20 gallons).

Feeding Your Corydoras

Corydoras aren’t much known for being fish that are willing to go through a lot of effort to get a meal. 

Generally speaking, if they are well fed and there are wafers available to them, they should go after those instead of trying to hunt live shrimp that are trying to get away from them.

You still don’t want to overfeed, but also don’t underfeed them.

Providing Hiding Places

Even if a cory catfish was trying to hunt baby shrimp, most of them should be able to survive as long as they have a place to hide that is difficult for your cory catfish to get to.

For shrimp, plants make a better hiding place than plastic or ceramic decorations. This is becaus there are a lot of branches and leaves and crevices to hide in, rather than one big hole on the inside.

If you want to go with live plants, here are some good options:

  • Mature Java Moss
  • Guppy Grass
  • Dwarf Hairgrass

If live plants aren’t your thing, I’d recommend trying some fake plants instead. Try to go for ones that are bushy and have lots of leaves, rather than skinny skimpy ones like you find at walmart.

Some of the good ones from petsmart will also have tiny fake plants around their bases that add additional cover.

Tall and skinny plants can work as long as they have a lot of leaves (preferrably silk ones) and flexable stems that let you twist and bend them into more of a bush shape.


Cory catfish don’t usually eat shrimp. If you see them eating an adult shrimp, chances are good that it was already dead. They will sometimes eat baby shrimp if it’s easy and they’re hungry, but they won’t eat enough to stop your shrimp population from growing.

If you want to give your baby shrimp the best chance of surviving to adulthood, I’d recommend getting some real or fake plant cover for your aquarium.

Getting some fake ledges for your aquarium may also give your shrimp more places to hang out that the corydoras are less likely to go to.

If you want to just throw them both in an aquarium and not worry about it, however, that’s a perfectly safe choice as well.

Good luck with your shrimp tank!