Skip to content

Why did my fish eat its babies?

Fish eating their own fry is normal, not cruelty. Here's why it happens, which fish do it, and how to stop losing the babies you want to raise.

The short answer

It’s normal β€” not cruelty, and not a sign of a bad fish. Most fish have no instinct to protect young; to them, a tiny fry is simply an easy meal. Livebearers like guppies routinely eat their own newborns, and even attentive parents such as angelfish often eat their first few spawns before they learn. The fix isn’t to change the fish’s nature β€” it’s to separate the babies.

Why fish do it

Fish evolved to produce large numbers of young precisely because most get eaten. A parent that eats a few of its own fry loses nothing evolutionarily when it produces dozens more. Several things make it worse:

  • No parental instinct in most community fish β€” fry are just food.
  • Stress or crowding, which prompts parents to consume a spawn and try again later.
  • Inexperience β€” first-time angelfish and cichlid parents commonly eat early clutches while learning. See how do I breed angelfish.

How to save the babies

Since you can’t train the instinct away, separate the two:

  • Move the fry to a breeding box inside the tank or to a separate grow-out tank.
  • Add dense cover β€” floating plants and moss let fry hide the moment they appear.
  • For egg-layers, move the eggs to a hatching container before the parents get to them β€” see how do I breed corydoras.
Perspective: in a community tank, some losses are simply part of the deal. If you want to raise a whole batch, plan a separate tank from the start β€” see do I need a breeding tank.

Plan ahead next time

Once you know a fish is close to giving birth or spawning, get protection ready before the event. For livebearers, watch for a swollen belly and gravid spot β€” see how do I tell if my fish is pregnant β€” and have cover or a breeding box in place. Then read what do I do with baby fish and browse aquariums for a grow-out tank.

Frequently asked questions

Is it normal for fish to eat their own babies?

Yes, completely. Most fish have no parental instinct and simply see tiny fry as food. Even good-parent species like angelfish often eat their first few spawns. It's natural behaviour, not a sign of a sick or bad fish.

How do I stop my fish eating the fry?

Separate them. Move the fry to a breeding box or grow-out tank, or add such dense plant cover that the babies can hide the instant they're born. In a community tank, some losses are unavoidable.

πŸ”Ž The tool we recommend

Found your model? Buy it at the right price.

UniverTrack tracks the real price of your aquarium gear across several retailers, spots fake discounts and warns you when it's genuinely the right moment to buy β€” with an AI assistant to guide you.

πŸ“‰ Real price historyπŸ”” Buy-now alertsπŸ€– AI buying assistant
Try free for 14 days β†’
No commitment Β· Cancel in 1 click Β· 5 languages