This article was last updated by on

Do Fish Eat Roots? Everything You Need To Know

Are you anxious about the fish in the aquariums and ornamental ponds eating your beautiful aquatic plants?

Generally, some fish like Pacus, Tilapia, Koi, and Cichlids eat plant roots. The fish eat plant roots because of nutrient deficiencies, natural behavior, boredom, stress, overpopulation, and hunger. 
Go through the entire article to learn more about the reasons behind the fish eating plant roots.

What Fish Eats Plant Roots?

Fish usually eat plant roots in conditions with limited food access. This happens in aquariums or natural aquatic environments.

Fishes eating plants in aquariums
You can choose plants that are resistant to being eaten by the fish.

Some species of fish that consume plant roots are below.

  • Pacu: Pacus are omnivorous fish with plate-shaped bodies. Similarly, their teeth are capable of eating the plant roots.
  • Tilapia: These herbivorous fish feed on various aquatic plants, including roots.
  • Koi: Koi are the omnivorous fish that are kept in ornamental ponds. They feed on the aquatic plants and their roots.
  • Guppy: These fish eat small animals and plant parts inside aquariums.
  • Silver Dollars: These semi-aggressive herbivorous fish feed on plant parts, including leaves and roots.

Why Do My Fish Eat My Live Plants?

Fish eat live plants in aquariums for various reasons, and you should understand and address those factors mentioned below.

  • Nutrient deficiencies: Fish may eat plant parts if they lack some nutrients in their diet. So, make sure your plants are getting sufficient food in the aquariums.
  • Nature of fish: Herbivorous or omnivorous fish consume plant parts because of their natural behavior. Additionally, research the dietary requirements of your fish to provide them with an adequate diet.
  • Boredom or stress: Fish can show abnormal behavior like nibbling and chewing the plant roots when bored or stressed. 
  • Overcrowding: Overpopulation of fish in aquarium, water ponds, tank, or bowl lead to food scarcity, and they may eat plant parts.
  • Hunger: If your fish get hungry or you fail to provide them with adequate food, they will nibble plant parts to satisfy their hunger.

How To Prevent Fish From Eating Plant Roots?

It can be challenging to prevent fish from eating plant roots. But here are some tips below.

  • Firstly, choose the appropriate plant species that are less likely to be eaten by fish.
  • Provide your fish with an adequate but variable diet, meeting their nutritional needs.
  • Moreover, feed your fish a small amount of food, but more frequently.
  • Regularly prune and inspect the maintenance of the plants inside water bodies.
  • You can also attach the plants to driftwood so that fish cannot reach them on the surface. Mosses are the best for this option.

From Editorial Team


Fish don’t get a chance to nibble the roots of fast-growing plants in your aquariums, as many aquarium fish species mature slowly.

If all the tips fail to prevent fish from eating plant roots, you can use artificial plants so that fish will not consume them.