Snakes are obligate carnivores, which means they only eat meat and do not eat plants. The specific diet of snakes can vary depending on the species and its habitat.
Certain species of snakes, especially those that live near water, often eat small fish and other aquatic animals, such as crayfish and tadpoles. That said, not all snakes eat fish as part of their natural diet.
Many snakes (for example, rattlesnakes) primarily eat terrestrial prey such as worms, insects, lizards, amphibians, and rodents.
Some Snakes Regularly Eat Fish
There are over 4,000 snake species in the world. They can be found in a wide variety of habitats.
Different snake species have adapted to their environments and developed diets comprised of prey that is readily available in their environment.
Snakes that primarily live in terrestrial mainly eat terrestrial prey such as worms, insects, birds, and small mammals.
However, for species that live near rivers, lakes, marshes, or wetlands, fish are an abundant food source.
Over time, many snakes evolved to make fish a significant, or even primary part of their diet.
Types of Snakes That Eat Fish
Here are some snake species that commonly eat fish.
1.Sea Snakes
Sea snakes are a group of snakes that live their entire lives in ocean environments.
These snakes primarily live in the tropical waters of the Indian and western Pacific oceans.
They are highly adapted for their aquatic lifestyle; they have flat, paddle-like tails, and are very strong swimmers.

The diet of sea snakes is mainly made up of small fish and eels. They often dive to hunt among coral reefs, mangroves, or on the ocean bottom of coastal areas.
Sea snakes can stay underwater for up to 2 hours at a time as they hunt, but some species can be submerged for over 8 hours!
A few examples of sea snakes are:
- Olive sea snakes (Aipysurus laevis)
- Sea kraits (Laticauda)
- Turtlehead sea snakes (Emydocephalus annulatus)
- Northern mangrove sea snake (Parahydrophis mertoni)
2. Water Snakes
There are many different species of snakes called ‘water snakes’, found across the world.
These snakes are characterized by their semi-aquatic lifestyle and spend a significant time in or near freshwater bodies such as rivers, streams, swamps, or lakes.
The primary diet of most water snakes is fish, and amphibians such as frogs and tadpoles. They also eat rodents and small reptiles such as geckos that live near water.

Water snakes can often be seen hunting along the edge of water freshwater bodies.
They are very strong swimmers and can stay submerged for several minutes, lying in wait for prey to approach.
A few species of water snakes are
- Common water snake (Nerodia sipedon)
- Salt marsh snake (Nerodia clarkii)
- Plainbelly water snake (Nerodia erythrogaster)
- Brown water snake (Nerodia taxispilota)
- Florida green watersnake (Nerodia floridana)
- Diamondback water snake (Nerodia rhombifer)
- Grass snake (Natrix natrix)
3. Garter Snakes
Garter snakes (Thamnophis) are the most common, and widely distributed snakes in North America.
Throughout their range, these snakes can be found in virtually every terrestrial and wetland habitat.
They live in forests, swamps, meadows, marshes, grasslands, and even in urban areas as long as there is some cover (such as vegetation, debris, or rocks).

Although garter snakes can live in almost any type of habitat, they generally prefer to live in moist environments – often near permanent surface water, like ponds, lakes, and streams.
Garter snakes generally have very diverse diets, and will eat almost anything they can catch, overpower, and swallow whole.
These snakes regularly eat small fish and other animals such as earthworms, amphibians, and insects.
4. Tentacled Snakes
Tentacled snakes (Erpeton tentaculatum) are unique snakes found in Southeast Asia.
These snakes are fully aquatic and are the only snakes known to have a pair of short, fleshy appendages (tentacles) on their snouts.

Tentacled snakes live in murky freshwater bodies (like slow-moving streams), and feed almost exclusively on fish.
They move awkwardly on land, and almost never leave the water.
How Do Snakes Catch Fish?
Snakes have several hunting strategies to help them catch fish.
Some snakes hide among aquatic vegetation or rocks, and wait for fish to approach.
They then quickly strike and immobile the fish, before swallowing it whole.
Other species actively chase fish, often in shallow water where fish tend to hide.
Certain species use unique strategies.
For example, aquatic garter snake (Thamnophis atratus) flick their tongues above the water – to mimic an insect and lure fish into their mouth.
Many Terrestrial Snakes Do Not Eat Fish
While some snakes regularly include fish in their diets, not all snakes are fish eaters.
Snakes that live primarily in dry or forested environments often don’t have access to fish.
These snakes evolved to hunt terrestrial prey such as rodents, birds, and amphibians instead.

Also, many snakes have specialized diets. For example,
- The common egg eater (Dasypeltis scabra) feeds exclusively on birds’ eggs.
- The Eastern hog-nosed snake (Heterodon platirhinos) feeds almost exclusively on amphibians and has a fondness for toads.
Here are a few snakes that do not eat fish:
1. Rattlesnakes (Crotalus)
Rattlesnakes mostly inhabit deserts, grasslands, and scrub areas where bodies of water with fish are rare or nonexistent.
Since fish aren’t commonly found in their environment, rattlesnakes don’t have easy access to them.
Their hunting adaptations and physiology are specialized for hunting terrestrial prey, not aquatic animals like fish.
Rattlesnakes mainly eat birds, small reptiles, rodents, and other small mammals such as rabbits.
2. King Snakes (Lampropeltis)
King snakes mostly live in forests, grasslands, and deserts and don’t often encounter fish in their natural environment.
They mainly eat warm-blooded animals (such as rodents) and other reptiles.
Fish do not fit their usual dietary pattern, and their hunting techniques aren’t suited for catching aquatic prey.
3. Rat Snakes (Elaphe)
Rat snakes thrive in forests, and fields, often climbing trees or hiding in burrows.
They primarily eat rodents (hence their name), birds, and eggs.
Rat snakes don’t frequent aquatic environments like rivers, lakes, or ponds where fish live.
4. Green Tree Python (Morelia Viridis)
Green tree pythons are arboreal, meaning they spend most of their lives in trees.
They mainly eat small mammals, birds, and reptiles in trees, and rarely encounter fish in their natural environment.
Other snakes that do not eat fish include:
- Gopher Snakes (Pituophis catenifer)
- Corn Snakes (Pantherophis guttatus)
- The vast majority of arboreal snakes, such as tree boas & pythons.
Conclusion
Aquatic, and semi-aquatic snakes are adapted to life in and around water.
These snakes regularly eat fish as part of their diets – with many species feeding almost exclusively on fish.
Many terrestrial snakes, on the other hand, evolved to hunt terrestrial prey and rarely eat fish.
However, many terrestrial snake species are very opportunistic feeders and will eat fish when they get the chance.