Basically, any fish that eats other fish will eat guppies if they are close enough in size. Bettas, oscars, piranhas, needlenose gar, cichlids, and even small catfish all eat guppies or guppy fry.
It’s a fish eat fish world out there!
Of course, there are differences between guppies. Feeder guppies are meant to be fed to other fish. Most people do not keep these guppies as pets because they look bland and are small.
Fancy guppies, on the other hand, have been bred for beautiful colors and for slightly larger size. People generally do not feed fancy guppies to other fish because these guppies cost more money than feeder guppies.
Anyway, this article will cover some common types of aquarium fish that eat guppies. You generally do not want to keep any fish on this list with your guppies unless you have a very large tank (ie. 200+ gallons) or want to cull your guppy population.
Note: If you’re looking for fish that eat guppy fry, then check out my article: Best Fish to Control Guppy Fry.
Bettas are some of the most beautiful fish you can have in an aquarium. However, they will attack and eat other fish.
And yes, bettas will eat guppies. They prefer guppy fry because those are small enough for the betta to fit in their mouth. But they will still eat feeder and fancy guppies if they can catch them.
Another beautiful aquarium fish that will eat guppies. Cichlids get much larger than guppies, so they do not have any problem swallowing any guppy that is unfortunate to get caught in the mouth of a cichlid.
This might surprise some of you, but your oscar fish will eat guppies. It’s not too well-known because most people do not keep their oscar fish with guppies, but if you do keep them together don’t be surprised if one day your guppies have disappeared.
We could keep going with every small to medium sized carnivorous fish, but we’ll stop with those three. Just remember, all small to medium-sized carnivorous or omnivorous fish will eat guppies. It’s especially common if the fish are together in a smaller tank.