While guppies do not bother other fish, selecting appropriate species to share their tank involves choosing types that don't bother them, such as small cichlids. Although larger cichlids are sometimes aggressive, rams and kribs are available in several colors and generally do not bother other fish in the tank.
Plecocostumus and otocinclus fish are two other good choices. While pet stores often sell them as algae eaters to keep the tank clean, they do not eliminate the need to maintain an aquarium. When they are sharing the tank with guppies, smaller pleco and ottos are the better option, as larger plecos are sometimes territorial and aggressive.
Corydoras catfish make a good match for guppies. Their native habitat is the Amazon drainage. They are bottom-dwelling fish and are available in many colors. Corys are peaceful and don't harm other fish in the tank.
Guppies are schooling fish and should have companion guppies in the tank. In the wild, they live in large groups for protection. Owners should ensure there are three to six guppies in the tank at all times.
Freshwater angelfish eat guppies and are not an appropriate choice. Tiger barbs attack the flowing guppy fins, unless the tiger barbs are in a large school, which seems to mitigate their aggressive nature.