In addition to general requirements such as the types of freshwater fish that are kept should be able to live in harmony, or other types of Tetras and Rasboras maintained in groups, there are also some special requirements; the fish that are kept does not include the aquatic plant eaters (herbivores), such as Gold fish, or types of cichlid that like digging sand.
Which fish are safe for a freshwater planted tank?
Most planted tanks are tropical, so I will list tropical fish you should avoid most large South American Cichlids - really only dwarfs, Discus, Keyholes, and a select few others will not eat plants. African Cichlids will also terrorize your plants.Those fish who eat plants include headstanders, silver dollar, distichodus, leporinus, goldfish, butterfly goodeid, pacu, prochilodus, silver shark, tinfoil barb, severum, some African cichlids, oscars, plecos, bristlenose catfish. Some fish will eat any kind of plants, while others may prefer certain types like fine-leaved ones.
Many of the above mentioned fish grow to a large size, so imagine how much damage they can do in a planted tank.
There are those who can uproot plants by their digging and large size eg. African cichlids, large catfish. Aquarium plants with short roots and foreground/ground cover plants are most at risk. Digging fish such as Loaches, Catfish, and other burrowing species can be problematic as they often uproot plants, while herbivorous fish such as Silver Dollars and most species of Plecostomus will readily devour your plants. The best thing is to wait until your plants are established and well rooted before introducing large fish & bottom feeders.
Cichlids are commonly cited as fish to avoid in planted tanks, but there are exceptions, for example: Cockatoo (apisto cacatuoides), Jewel (only tough plants), Ram, Kribensis, Angelfish, Discus, Firemouth (hardy plants & protect roots eg plant in pots). Some African cichlid species can also live with plants but plants are not a natural and major feature in their habitat, so no point having plants (the high pH & hardness also doesn't suit most tropical plants).
The best freshwater fish for planted aquarium with small / medium size tanks (<200 Liters) are the smaller ones like Tetras, Rasboras, most Barbs, Danios, Minnows, Gouramis, Dwarf Cichlids, Discus, Kuhli Loaches, Glass Catfish, Killifish, Rainbowfish, including freshwater Gobies and Blennies would all make great displays, and also those who can eat algae and scavenge in the substrate. There is a fish compatibility chart that also lists compatibility with plants by usually compatible, sometimes compatible and rarely compatible. This table will greatly help us in choosing the best freshwater fish for aquarium aquascaping.