Yes, fish do eat other fish.  They will also eat snails, shrimps, tadpoles, and frogs.  Why they do this can be for several reasons. 

 It is not because they are brutal and aggressive.  The main reason that they do is that their teeth, mouth, and digestive system are designed to do just that.  When you add other fish to your aquarium or buy fish, do your research to make sure what you are buying.

Why Fish Eat Other Fish

It is normal for fish to eat other fish.  It is all a part of nature’s system to keep things in balance.  They may feast on the bodies of other dead fish or they may prey on live fish. 

One such fish is the piranhas, which eat not only other fish but animals because that is what they were designed to do.  The fish that eat other fish are called carnivores.  Some of the species of fish include bettas, cichlids, pipefish, and killifish.  

Although being a carnivore fish is the most obvious reason for fish eating other fish, it could also be that the fish in the aquarium have gotten aggressive and started to tear and eat the other fish.  The main reason for this aggressive behavior is due to territorial issues.  If you add new fish to your aquarium and notice this behavior, you will have to move one of the fish to a tank of their own.

  Bichir Care Guide - Tank Mates, Breeding & More

What to Feed Carnivore Fish

If you have carnivore fish, it is important to remember that they eat meat.  In the wild and in aquariums too, some are lazy scavengers that will kill and eat whatever comes their way.  Other carnivore fish are more specific and have sharp teeth, big jaws, and shorter digestive system when compared to herbivorous fish.

fish eating fish

As with all other non-carnivore fish, they need to have a balanced diet.  Their diet needs to consist of more fats and proteins with a minute quantity of cars.  The carnivore fish dish should be 45 to 75 percent protein.  When feeding carnivore fish meat, they also need to include live animals.  They contain all the nutrients they need plus they are fun to catch.   

How to Stop Fish From Eating Other Fish

When you find you have carnivore fish in your aquarium you want to make sure that you stop them from eating your other fish, but how do you do that?  Your aquarium is not suitable for all fish and it can lead to territorial issues and water contamination. 

As mentioned, some of the reasons that fish eat other fish are due to territorial rights.  One way to do this is to put the carnivore and aggressive, territorial fish into their own tank.  Make sure that they have enough frozen, live blood worms or frozen, live, and cooked small fish.  These types of fish are grown commercially for this purpose.  Make sure that when you get this frozen, live fish and bloodworms that you check to make sure that there is no disease or infection in what you are about to feed the fish.

  Do Fish Have Blood & What Type?

To do this, keep these frozen, live fish and bloodworms in a separate aquarium or tank for a few days to make sure they are healthy and active.  Once you know they are okay, then you can allow the fish to catch and eat them.  This should teach the fish that they are to prey on fish and bloodworms instead of the fish in the aquarium if they are still kept all together.  

If any of the small fish or bloodworms is diseased or infected they can cause the entire aquarium to become infected.  Fish do not need too much food to fill themselves so do not drop too many of them in the aquarium.  What they do not eat will contaminate your aquarium.

hunting eel

Do Fish Eat Frogs?

Yes, in the wild there are predator fish that will eat frogs.  These predator fish include six species of almonds, which is a name for several species of ray-finned fish like trout, whitefish, and grayling.  Rainbow trout will also eat frogs.  These fish have sharp enough teeth to chew a frog and a big enough mouth.  They are one of the better foods for carnivore fish because they are rich in fats and proteins.  These fish do not eat toads because they secrete an unpleasant chemical and toxin that repels fish.


This seems to be the ‘go-to’ fish when setting up aquariums, which is good because they generally not aggressive or predatory.  There are some exceptions though.  Goldfish like bite-size morsels and if they come across small fish, they will eat it if they can reach them, even if it is one of their own.

  How to Tell if a Mystery Snail is Dead or Alive


  • Fish that eat other fish are called carnivores
  • If you notice that some fish are disappearing from your aquarium, then you may have accidentally put carnivore fish in your aquarium.
  • If you are not sure which fish are carnivores, make sure you ask the employees at the pet store so you know what you are buying.
  • In the aquatic environment, cannibalism is found in 90% of these animals, fish included.
  • Carp and bass eat tadpoles in the wild so if you have a pond of bass and carp, they will eat them so if you want to save the tadpoles you have to use your net to scoop them out and put them where there are no fish to eat them.
  • Goldfish will even eat frog tadpoles
  • If you decide to feed your fish shrimp, they only need one or two because any more than that will decompose and contaminate the water.
  • Some fish like the bettas, labyrinth fish, and loaches like snails and use their tongues to such out the snail.
  • Any time that you add a new fish to the aquarium, be observant to make sure that there are no signs of aggression from the new fish or ones already there over territory.  To help solve this, just rearrange the décor of the aquarium and now there are no set territories.
Was this article helpful?

Hi! I'm Anna and I´m a certified cynologist (KAU, ACW). Expert, blue cross volunteer, owner of Chinese crested kennel "Salvador Dali" and breedless friend called Fenya. "I can't imagine my life without dogs and I totally support the idea #AdoptDontShop".