Do Goldfish Eat Plants? What Survives a Goldfish Tank
Goldfish eat soft plants and uproot the rest, so a goldfish tank is not a place for a tender carpet. A short list of tough plants survives them, and here is why each one does.
Yes, goldfish eat plants, and the ones they do not eat, they often uproot. A goldfish is a cool-water omnivore that grazes soft leaves all day and digs through the substrate looking for food, which is why a planted goldfish tank is a short list of tough plants, not a carpeted aquascape. The upside: a few plants are hard-leaved enough, or fast enough, to hold up to both the grazing and the digging.
The reason this question is confusing is that two true things sound contradictory. Goldfish will strip most plants, and yet keepers grow beautiful java fern and anubias in goldfish tanks for years. Both are right. The plants that survive are the ones a goldfish finds too tough to bother eating, anchored so it cannot dig them up. Get the plant and the anchoring right and the tank holds; get either wrong and you are replacing plants every month.
The short version
- Yes. A goldfish (Carassius auratus) is an omnivore that eats soft plants and uproots rooted ones digging for food. It reaches 8 inches with a high bioload, so it belongs in a pond or a tank of 30 gallons or more.
- The plants that survive a goldfish tank are tough-leaved or fast-growing: java fern (Microsorum pteropus), anubias (Anubias barteri), and vallisneria (Vallisneria spiralis).
- Nothing is fully goldfish-proof. Attach epiphytes to wood or rock so they cannot be uprooted, and expect some nibbled edges.
- Skip soft carpets, tender stem plants, and anything with thin leaves. A goldfish grazes them to stubs in days.
Why goldfish are hard on plants
A goldfish does two things that punish a planted tank. It grazes, taking bites out of any soft leaf it can tear, and it forages, rooting through the substrate and uprooting loose plants as it goes. Add a high bioload (a goldfish reaches 8 inches and produces a lot of waste), and the same nutrient load that a planted tank normally uses gets ahead of the plants and feeds algae instead.
This is also why a goldfish is a 30-gallon-minimum fish, or a pond fish, not a bowl fish. It runs cool, 60 to 74 F, so it will not share a tank with tropical plants that want 75 F and up. The plant list that works is short on purpose: tough leaves the fish rejects, or fast growth that replaces what the fish eats, in the cool, hard water a goldfish prefers.
The two strategies that survive
There are only two ways a plant beats a goldfish. The first is a leaf too tough to eat: the leathery blades of java fern (Microsorum pteropus) and the thick leaves of anubias (Anubias barteri), which most goldfish taste once and leave alone. The second is speed: a plant like hornwort (Ceratophyllum demersum) or vallisneria (Vallisneria spiralis) that grows faster than the fish can graze it, so the net plant mass keeps climbing even as the goldfish nibbles.
The 4 plants below split across those two strategies. What they share is that none of them is a soft carpet or a tender stem, and all of them are either anchored to hardscape or rooted deep enough that a digging goldfish cannot pull them out. That combination, tough or fast plus firmly anchored, is the whole trick in the cool 60 to 74 F water a goldfish lives in.
Java fern: tough leaves, tied down
Java fern (Microsorum pteropus) is the classic goldfish plant. It is an epiphyte that grows on wood or rock rather than in substrate, runs on low light, and holds up across 68 to 82 F, pH 6.0 to 7.5, and GH 3 to 15. Its leathery leaves are exactly the texture a goldfish rejects, and its slow, tough growth shrugs off the occasional test bite.
The reason our database flags java fern to keep clear of goldfish is not the eating, it is the uprooting. Attach the rhizome to a rock or a piece of driftwood and never bury it (a buried rhizome rots), and a goldfish cannot dig it loose. Loose in the substrate, the same plant gets tossed around and shredded. Anchored, it holds; its temperature overlap with a goldfish tank runs from 68 to 74 F.
Anubias: the toughest leaf, but watch the temperature
Anubias (Anubias barteri) has the thickest, hardest leaf of the common aquarium plants, which is why goldfish leave it alone better than almost anything. It is a low-light epiphyte, tied to hardscape with the rhizome exposed, and it holds up across 72 to 82 F, pH 6.0 to 7.8, and GH 3 to 18. The smaller anubias nana (Anubias barteri var. nana) works the same way in less space.
Here is the honest catch, and it is a temperature one. Anubias wants 72 to 82 F, while a goldfish runs cool at 60 to 74 F, so the two overlap only in a narrow 72 to 74 F band. In a genuinely cold goldfish tank, anubias grows slowly and can sulk. It survives the goldfish, but it is not always thriving in the goldfish's preferred temperature, so keep the tank at the warm end of the goldfish range if anubias is a centerpiece.
Vallisneria: fast grass that outgrows the grazing
Vallisneria (Vallisneria spiralis) is the survivor by speed rather than toughness. It is a fast-growing rooted grass that sends runners into a tall background curtain, runs on low light, and, unlike most plants, handles the hard, alkaline water a goldfish prefers: pH 7.0 to 8.4 and GH 8 to 20 both sit inside its range. Its temperature range of 64 to 82 F covers the whole goldfish band.
A goldfish will nibble vallisneria, but it grows fast enough to stay ahead of the grazing, and the runners spread faster than the fish can dig. Plant the crowns deep and weight the roots, since a digging goldfish will try to pull up anything loose in its first week. Do not shear it back hard in one go; vallisneria melts on a big trim, so thin individual blades instead.
Hornwort: the floating plant a goldfish cannot uproot
Hornwort (Ceratophyllum demersum) sidesteps the whole uprooting problem by not having roots that matter. Float it and there is nothing in the substrate to dig up, and it grows fast enough (across a wide 59 to 86 F range) that a goldfish nibbling the needles never catches up. It also pulls ammonia hard, which helps against the goldfish's heavy bioload.
The trade is mess. Hornwort sheds needles when it is moved or stressed, so expect a scattering of dropped needles after you first add it or after a big water change. In a goldfish tank that is a fair price: it is one of the few fast plants that covers the cool 60 to 74 F range a goldfish lives in, and floating it keeps it out of reach of the digging.
The honest part: a planted goldfish tank is a managed truce
The failure mode is expecting an aquascape. Even the survivors take nibbled edges, and any plant left loose gets uprooted in the first week. Soft stems and tender carpets are simply goldfish food and will be gone in days. A single fancy goldfish needs 30 gallons, and the high bioload means more algae and more frequent water changes than a comparable tropical tank, planted or not.
Budget for wear. A $6 anubias can be shredded overnight if a bored, hungry goldfish decides to test it, and a loose java fern can end up floating by morning. The plan that holds is hardscape-anchored epiphytes, fast vallisneria and floating hornwort, a tank of 30 gallons or more, and the patience to accept some damage. If a goldfish is gasping at the surface or sitting oddly on the bottom, that is a water-quality or health issue for a vet to weigh in on, not a planting problem to solve.
Frequently asked questions
Do goldfish eat all aquarium plants?
Not all, but most soft ones. Tough-leaved java fern (Microsorum pteropus) and anubias, and fast-growing vallisneria and hornwort, survive a goldfish; tender stems and carpets get grazed to stubs. The dividing line is leaf toughness and growth speed, not whether a plant is "goldfish-safe" on a label.
What plants can I put in a goldfish tank?
Anubias and java fern anchored to wood or rock, vallisneria planted deep, and hornwort left floating. All four handle the cool 60 to 74 F, hard water a goldfish prefers, and none of them is soft enough to be eaten quickly. Anchor or weight everything, because a goldfish digs.
Will goldfish uproot planted plants?
Yes. Goldfish forage by digging through the substrate, so they uproot anything loosely planted, often within the first week. Attach epiphytes like java fern and anubias to hardscape, plant rooted species like vallisneria deep and weight the roots, or float hornwort so there is no root to pull.
Can goldfish live in a planted tank at all?
Yes, in a tank of 30 gallons or more with tough plants and filtration sized for the high bioload. A goldfish is not a small-tank fish: it reaches 8 inches and runs cool, so a bowl or a 10-gallon is out. For the full plant list, plants goldfish won't eat goes deeper than this page.
Start by sizing the tank to the fish, then pick plants whose temperature and hardness overlap the goldfish's cool, hard water. Run the build through the build planner to check the bioload, verify the goldfish's real range in the compatibility database, and read the rest of the species compatibility guides. From here, plants goldfish won't eat is the deeper plant list, aquarium snails for planted tanks covers the cleanup crew a heavy-bioload tank needs, and if you are planning a smaller tropical build instead, stocking a 10-gallon tank and peaceful community fish are the next reads.
Species and gear in this guide
Parameters pulled live from the compatibility database.
- fish · peaceful · intermediate
- Temp 60 to 74 F · pH 7 to 8.4
- Min 30 gal · adult 8 in
- Light: low · beginner
- Temp 68 to 82 F · pH 6 to 7.5
- Hardness 3 to 15 dGH · CO2 none
- Light: low · beginner
- Temp 72 to 82 F · pH 6 to 7.8
- Hardness 3 to 18 dGH · CO2 none
- Light: low · beginner
- Temp 64 to 82 F · pH 6.5 to 8.5
- Hardness 4 to 20 dGH · CO2 none
- Light: low · beginner
- Temp 59 to 86 F · pH 6 to 7.5
- Hardness 5 to 15 dGH · CO2 none
- Light: low · beginner
- Temp 72 to 82 F · pH 6 to 7.8
- Hardness 3 to 18 dGH · CO2 none
Not sure your build will balance? Plan it first.
The build planner turns a setup type, a size, and a water source into a stocked, planted build with a will-it-balance read. Free, and it saves you the first dead tank.
Open the build plannerWant the parameter ranges behind every choice? Browse the compatibility database, or get one build breakdown a week in the newsletter.