Do Betta Eat Other Fish?

Betta – also known as Siamese Fighting fish – have a reputation for being aggressive and territorial.

It’s said (truthfully) that if you put to male bettas together they’ll fight to the death.

But do they eat other fish?

Betta are carnivores and will eat other fish who are small enough to fit in their mouths. In most cases, this means baby fish (fry) that are small enough to fit in their mouths. They will also eat dead fish they find.

Do Betta Kill Other Fish?

Betta can attack and even kill other fish if they feel threatened by them, are competing over food, or if the other fish nips the betta’s fins and provokes them.

Not all fish are in danger of being killed by a betta. There are a lot of species of fish that make great additions to a betta tank. Others, such as guppies, aren’t really compatible with betta.

Because of the long, flowing fins of the male guppies, your betta will mistake them for male bettas and will go after them. If it gets the chance, it may kill them.

They may take bites out of these fish as they’re attacking them, but by and large they’re not going to eat them (while they’re still alive, anyway).

When it comes to fish fry, on the other hand, it’s a different story.

Because of how small they are, baby fish are a perfect target for betta to eat. A betta can fit them in its mouth easily, and they’re relatively defenseless, so they’re the perfect target for a hungry betta.

Do Betta Eat Dead Fish

Once a fish is dead, a betta will absolutely pick at the body and eat what it can. In some cases, betta have been known to carry around the bodies of dead fish.

To a hungry betta, the body of a dead fish is a perfect meal. It’s also probably a nice change from the flakes, pellets, and freeze dried insects it would usually get a chance to eat in an aquarium.

Do Betta Hunt Other Fish in the Wild?

Betta do not hunt other fish in the wild and do not attack other fish as a food source. Instead, they mostly eat small insects, including:

  • Mosquito Larvae
  • Daphnia
  • Midge Larvae
  • Other Small Aquatic Bugs

The main reason a betta would kill another fish in the wild is for territorial and defensive reasons.

It’s the male bettas job to make the nest and tend the eggs, so it has to be aggressive to protect its children.

Do Betta Eat Baby Fish?

Betta will happily eat baby fish from other species. In fact, if you want to reduce how fast livebearers are breeding, it’s actually relatively common to add a betta to the aquarium with them so the betta can eat the fry.

This gives the betta a source of food and prevents as many baby fish as possible from making it to adulthood – thus keeping your tank from becoming overpopulated as quickly.

Betta aren’t the best fish to choose if that’s what you’re looking for, but they do eat baby fish.

Do Bettas Eat Their Own Young?

Bettas are generally very good parents.

Though they will occasionally eat their fry – especially if they’re first time parents or if food is scarce – bettas don’t usually eat their own babies.

A betta will usually look after and protect its young, and because of that it has parental instincts that prevent it from wanting to eat them.

What Makes Betta Fish Aggressive?

Betta fish mainly become aggressive when they are feeling threatened or feel another fish has entered their territory. There are many reasons another fish may trigger a betta:

  • Size – if a fish is small enough it may be seen as potential prey by the betta, but if a fish is larger than a betta the betta will feel threatened and hide away. Fish which are a similar size or a little smaller than the betta will get along well as tank mates.
  • Color – Bettas do not like other brightly colored fish – especially those with long fins – in the tank because they see them as a threat. 
  • Temperament – male bettas tend to be more aggressive than females, yet each betta can have an individual personality, and some are more docile than others. Betta get along with peaceful tank mates who will not aggravate them or nip their flowing fins.
  • Tank Area – Fish that spend a lot of time at the bottom of the aquarium or out of your betta’s way are less likely to trigger aggression in your betta. This includes otocinclus catfish, plecos (which hang out at the bottom or on the glass and are nocturnal besides), and cory catfish.
  • Tank size – A larger tank will give your betta more room to swim and will – thus – reduce the likelihood that there will be conflict between your betta and other compatible fish.

What Fish Can Live with Betta?

Despite their aggressive nature, bettas can live peacefully when paired with the right tankmates. The below are suitable tankmates for bettas who are unlikely to get eaten by a betta:

  • Plecos – such as bristlenose, rubberlip, and rubbernose. Plecos are often herbivores who dwell at the bottom of the tank eating algae, have a very peaceful temperament and have armor-like skin to protect them from aggressive bettas.
  • Rasboras – such as harlequin rasbora. They are very peaceful, like lots of plants in the tank and similar conditions to bettas.
  • Cory catfish – these small catfish are bottom dwellers who mind their own business and will stay away from betta fish.
  • Snails – Small snails that are commonly seen as pest species are okay to keep. They generally can stay unnoticed by the betta and reproduce fast enough that it doesn’t matter if one or two get picked off.
  • Shrimps – such as ghost shrimp. Ghost shrimps are transparent, which means they are hard for bettas to spot in the tank, but they should have a hiding place from the bettas to avoid being eaten. Ghost shrimps eat algae and will keep the tank clean.
  • Kuhli loaches – as with bettas, they prefer a tank with a lot of plants. Kuhli are very peaceful and mind their own business so will not aggravate a betta.

I have a guide on appropriate tank mates for bettas who are being kept in 5 gallon and 10 gallon tanks that you can read if you’re interested.


Bettas will eat other fish if they are given the chance. Because their mouth is so small, the only fish they’re really going to see as food are super small ones like fry, but if they find a dead fish, they will absolutely eat it.

And this applies to fish they’ve killed as well as ones that died naturally.

They don’t, however, eat their own young. They have that going for them at least.