Published: September 21, 2020 · Updated: September 27, 2026
Quick answer: Yes, goldfish can eat other fish — especially eggs, fry, and fish small enough to swallow. But goldfish are not aggressive, fish-hunting predators, and healthy adult goldfish of a similar size usually do not hunt one another. They may also scavenge dead or weakened tankmates. Size difference, food availability, stocking density, and tank compatibility all decide what actually happens.
Myth: Goldfish routinely hunt and eat other adult goldfish.
Fact: Goldfish are opportunistic omnivores, not typical fish-hunting predators. They can consume fish eggs, fry, very small fish, and sometimes dead or weakened tankmates. That size-and-opportunity risk is exactly why small tank mates such as guppies need careful thought — see whether goldfish and guppies can live together.

Many goldfish keepers notice that a smaller tankmate — or a whole batch of fry — slowly disappears, which leads straight to the question: do goldfish eat other fish, or even each other? The honest answer is more nuanced than a flat yes or no, and understanding it will help you build a tank where everyone stays safe.
Do Goldfish Eat Other Fish?
Yes — goldfish will eat other fish that are small enough to fit in their mouths, along with eggs and fry. They are not skilled hunters that chase down healthy fish, but they are constant foragers that swallow anything bite-sized. A full-grown goldfish sharing a tank with tiny fish, shrimp, or newborn fry will often treat them as food, even without any real aggression.
Do Goldfish Eat Each Other?
Healthy adult goldfish of a similar size generally do not eat one another. Goldfish are social and usually coexist peacefully. The exceptions come down to size and condition: a much larger goldfish can swallow a very small or juvenile one, adults readily eat their own eggs and fry, and any goldfish may scavenge a dead or seriously weakened tankmate. That is opportunistic feeding, not the behaviour of a predator.

Are Goldfish Naturally Predators?
No. Goldfish are foraging omnivores descended from wild carp, not natural predators. In an aquarium they spend the day browsing the substrate and picking at anything edible, and their constant “begging” at the glass is hunger and curiosity, which owners often mistake for affection. They eat whatever they can reach — very different from actively hunting other fish.
What Do Goldfish Actually Eat?
In the wild, goldfish (Carassius auratus) are true omnivores with a broad, opportunistic diet. The USGS species profile documents a diet that includes planktonic crustaceans, phytoplankton, insect larvae, fish eggs and fry, vegetation, and detritus. Animal Diversity Web likewise describes them as opportunistic, generalist feeders, and FishBase lists plankton, benthic invertebrates, plant material, and detritus as their main foods. In short, small fish and eggs are a natural part of the menu — not because goldfish hunt, but because they eat almost anything they come across.
When Will a Goldfish Eat Another Fish?
A goldfish is most likely to eat a tankmate when the odds are tipped in its favour. The main triggers are:
- A big size difference: anything that fits in the mouth is fair game.
- Hunger or underfeeding: an underfed goldfish forages harder and takes more chances.
- Eggs and fry in the tank: spawning produces easy, defenceless food.
- Sick, injured, or dead tankmates: weak fish are easy to catch, and dead ones are scavenged.
- Overcrowding and poor water quality: stress and competition make both aggression and opportunistic feeding more likely.
Do Goldfish Eat Their Babies or Fry?
Yes. Goldfish show no parental care and will readily eat their own eggs and newly hatched fry. When a female scatters her sticky eggs, the adults — parents included — eat most of them, and they pick off tiny fry that stray within reach. If you want to raise baby goldfish, move the eggs or fry to a separate rearing tank.
Do Goldfish Eat Dead Fish?
Yes. As opportunistic scavengers, goldfish will nibble at a dead or dying fish. Finding a half-eaten fish does not mean the goldfish killed it — the fish often died of illness or old age first, and the goldfish simply scavenged the body. Remove any dead fish promptly to protect water quality and limit the spread of disease.
Is Goldfish Cannibalism a Myth?
Mostly, yes — but not entirely. Goldfish do not stalk and kill healthy, similar-sized adults, so the idea of a cannibal fish hunting its tankmates is a myth. What is true is that they eat their own eggs and fry and will scavenge dead or dying individuals. It is better described as opportunistic feeding than true cannibalism. This is also where the “goldfish eat other fish” reputation comes from: small fish and fry quietly vanish, and the goldfish gets the blame.
How to Prevent Goldfish From Eating Smaller Fish
Prevention comes down to size, feeding, and setup. To keep smaller tankmates safe:
- Only house goldfish with fish too large to be swallowed.
- Feed a complete diet on a regular schedule, so no fish is hungry enough to hunt.
- Move eggs and fry to a separate tank if you want them to survive.
- Avoid overcrowding and keep the water clean — see our guide on whether too much dechlorinator can kill fish for safe water changes, and why fish turn black and die for catching water-quality problems early.
- Add plants, caves, and hiding spots so smaller fish can escape.
- Remove sick or dead fish quickly.
What Makes a Safe Goldfish Tank Mate?

A good goldfish tank mate is not simply “small and peaceful” — in fact, being small often makes a fish more likely to be eaten. Before adding any companion, check that it matches your goldfish on several points:
- Size: too big to fit in a goldfish’s mouth at full adult size.
- Temperature: comfortable in cool, unheated water, since goldfish are coldwater fish.
- Temperament: peaceful, and not a fin-nipper that will harass fancy goldfish.
- Swimming speed and feeding: able to compete for food without starving slow fancy goldfish or outpacing them.
- Adult size and husbandry: similar space, filtration, and care needs.
The RSPCA’s guide to keeping pet fish together is a helpful primer on matching tankmates by size, temperament, and environment.
5 Compatible Goldfish Tank Mates
No pairing is ever guaranteed — every fish is an individual, and a large or hungry goldfish can still surprise you. The options below are among the more reliable choices when the tank is spacious and well managed. Pair sturdy single-tail goldfish with hardier companions, and slow fancy goldfish with gentle ones.
| Tank mate | General compatibility | Main reason | Main caution |
|---|---|---|---|
| Another goldfish (same type & size) | Good | Identical care, diet, and temperament | Match body type — don’t mix fast single-tails with slow fancy goldfish |
| Dojo / weather loach | Good | Coldwater bottom-dweller that grows too large to be eaten | Escape artist (needs a tight lid); wants soft substrate and space |
| White Cloud Mountain minnow | Moderate | Excellent coldwater temperature match | Only ~1.5 in — a large goldfish can eat one; best with small or young goldfish, kept in a school |
| Rosy barb | Moderate | Tolerates cool water; active and hardy | Keep a group of 6+ to curb fin-nipping; better with single-tail goldfish than long-finned fancies |
| Hillstream loach | Moderate | Coldwater algae grazer — flat and fast, hard to catch | Needs high oxygen and water flow; not suited to warm, low-flow fancy setups |
The single most reliable companion for a goldfish is simply another goldfish of the same variety and size. Whatever you choose, add new fish slowly, watch how they interact, and be ready to separate anyone that is bullied or at risk.
Watch: which fish can safely share a tank with goldfish.
Frequently Asked Questions
Will goldfish eat other goldfish?
Only in specific situations. Similar-sized adult goldfish live together peacefully, but a much larger goldfish can eat a very small or juvenile one, and adults will eat their own eggs and fry.
Do goldfish eat small fish?
Yes. Any fish small enough to fit in a goldfish’s mouth can be eaten, even though the goldfish is not aggressive or actively hunting.
Do goldfish eat baby goldfish?
Yes. Goldfish give no parental care and will eat their own fry, so raise baby goldfish in a separate tank if you want them to survive.
Will a goldfish attack a larger fish?
Rarely. Goldfish are not aggressive toward fish too big to eat, although they may still compete with them for food.
Sources & Further Reading
- U.S. Geological Survey — Goldfish (Carassius auratus) species profile
- Animal Diversity Web — Carassius auratus
- FishBase — Carassius auratus summary
- RSPCA — Keeping pet fish together
Related guides: Can too much dechlorinator kill fish? · Why did my fish turn black and die?
The Bottom Line
So, do goldfish eat other fish? They can — eggs, fry, and any fish small enough to swallow — and they will scavenge the dead. But goldfish are gentle, opportunistic omnivores, not hunters, and similar-sized adults live together happily. Get the sizes, feeding, and tank setup right, and your goldfish and their companions can share a healthy, peaceful tank.




[…] The risk also grows over time. Goldfish start small in the store but can become much larger fish, and their adult size varies a lot by variety and how they are kept. As the size gap widens, even adult guppies can become mouth-sized. If you want the full picture on goldfish and their tank mates, see our guide on whether goldfish eat other fish. […]