It is rare for goldfish to eat each other, but when they do it often is a sign that they are either too crowded, insufficiently fed or somehow stressed. Additionally, although it is also uncommon, some goldfish exhibit strong predatory instincts, which causes them to eat smaller goldfish.
Goldfish are members of the carp family. Most goldfish and their relatives are content to subsist on easily gathered food sources. Accordingly, goldfish consume an abundance of decaying organic material, such as dead plants and animals. In captivity, goldfish generally thrive on a diet of commercial fish food. However, there is no rule precluding goldfish from consuming living fish, and they do occasionally do so.
Cannibalism in goldfish is rare among those of the same size. When a goldfish eats another goldfish, the size discrepancy is usually significant. Avoid this problem by only keeping fish of the same size together. Cannibalism can also result from overcrowded conditions. As a rule of thumb, each fish should have about 10 gallons of water space.
Sometimes goldfish enter a “feeding frenzy” in which they simply begin swallowing anything they can. This is common in established ponds or aquariums where feeding takes place on a regular schedule. Large goldfish are sometimes known to swallow small goldfish during these sessions. Avoid this by feeding in two different locations within the water at the same time.