Recent Posts

Fish and plant aquarium

You thought a planted tank sounded like a good idea. But then the fish uprooted and ate everything green. What gives? How are you supposed to maintain balance between flora and fauna?

Here are a few tips for how to stop your fish from eating all your aquarium plants…

The quick answer

The only way to completely stop plant-eating fish from eating the plant life is to separate them. If you enjoy allowing the fish to eat some live plants, then put plants you don’t care about in the fish tank, rather than plants you use as décor.

If you really want to keep fish from eating any of the plants in your aquarium, but you insist on a combined flora and fauna tank, there’s only one solution that will completely take care of the problem. And that is to fill your aquarium with meat eating fish.

Cichlid in planted aquarium

If you’re not accustomed to carnivorous fish as pets, you may be surprised to know that there are many small, freshwater fish that eat meat, such as shrimp. Here are a few that are relatively easy to find and care for:

  • Betta
  • Black ghost knife fish
  • Oscar fish
  • Rosy red minnows (omnivore)

Even the omnivore fish will reduce your plant loss.

One thing to watch out for with a carnivorous tank is that some species are illegal to purchase in the United States, such as Arowana fish, which are endangered.

(Watch for a future article on how to care for carnivorous fish.)

But I don’t want carnivorous fish…

If you have a group of herbivores in your aquarium, and you’re not interested in separating them from your plants, here are a few things you can do to mitigate the damage:

  • Increase the amount of vegetable or algae-based foods you feed the fish. Both herbivorous and omnivorous freshwater fish can eat many household vegetables. Safe vegetables to feed in your aquarium include broccoli florets, bok choy, zucchini, dandelion greens, and leafy greens.

Note that tropical fish will digest seaweed and algae much better than terrestrial vegetables, so feed terrestrial veggies in moderation to those species.

  • Grow plants your fish don’t like to eat. Most fish don’t like Java fern, but you may have to experiment and see which plants your fish tend to avoid.
  • Minimize the number of fish per aquarium. This one kind of speaks for itself. The more fish you have in the tank, the more plants they are going to eat.
  • Choose fish species that are less likely to totally demolish the plants. That includes danios, barbs, tetras, and livebearers. You’ll want to avoid silver dollar fish, Buenos Aires tetras, and possibly monos, scats, and goldfish in a planted tank.
  • Use fast growing plants. Plants that grow slowly won’t have time to establish themselves in your tank and replace growth that has been eaten before the fish devour them. Hygrophila, water sprite, duck weed, and cabomba are all quick-growing plants.

Large planted aquarium

These measures will not entirely stop the fish from nibbling aquarium plants, but it should prevent entire plantings from being devoured. This is the best solution if you want your fish to be able to eat the plants, and you also want to be able to enjoy the way the edible plants look.

Of course, you can always go with plastic plants if you want the décor without the hassle. Check out our freshwater fish selection at The Tye-Dyed Iguana.