Note: Pet Educate is reader supported. If you make a purchase through a link on our site, we may earn an affiliate commission - at no extra cost to you. This includes links to Amazon.

Do Snakes Eat Fish? [Can They, Would & Should They Eat Them?]

If you have a curiosity or own a pet snake, then you may be wondering what they like to eat. What about fish? Is this a good source of food and nutrition for them?

So, do snakes eat fish? Snakes do and can eat fish. Although, certain species of snake will do better with fish than others; these are generally the water-dwelling species like the Garter, Water, and Ribbon snake.

It’s important that you take the species of the snake into account, understand the species in which you own, their needs, and their preferences.

Generally, fish is not a suitable dietary food for most species of snakes kept as pets, and thus should be offered rarely.

Taking it one step further, you also need to be careful with the type of fish you provide.

Can Snakes Eat Fish?

Some snake species eat fish instead of rodents and can digest fish without any issues. These snakes enjoy a more aquatic-based diet. Let’s look at the three most common fish-eating snake breeds, including their foods:

  • The Garter snake – Their menu includes rodents, worms, and small fish. Many like to eat insects and insects are perfectly safe for them to eat; others do not like to eat insects.  
  • The Water snake – Many water snakes will eat insects, rodents, small fish, worms, and even a frog now and again.
  • The Ribbon snake – These snakes live on a diet of earthworms, crickets, nightcrawlers, guppies, silverside, tadpoles, and unsurprisingly they will eat rodents.

While snakes in the wild can and do eat fish, it is never usually their only and exclusive source of food within their diet. Its also important to note that some species will prefer eating a fish over a mouse.

Aquatic snakes (like the garter, ribbon and water snake) are actually able to digest small fish quite well.

They also do best when insects, worms, and rodents are also included in their diet. It gives them more variety and a greater wealth of nutrition.

Pet snakes on the other hand are different. Many of the common species of snakes kept as pets will not have regularly consumed fish.

This would not have been the type of food in which why have been raised. As such, while they can eat fish; they will typically digest it differently to wild snakes who consume it more regularly.

That doesn’t mean they cannot, nor should not eat fish.

However, if you own a pet snake you need to be careful with what you do and do not attempt to feed.

Be careful not to feed Goldfish, and their close relatives, Tuffies, Flathead Minnows, and Rosy Reds. This is because these fish contain specific enzymes that snakes are not able to process and tolerate.

Equally, snakes are as diverse in their personality, likes, and dislikes as they are in other characteristics.

A snake might like to eat something that another snake wouldn’t eat. So while they can all eat fish, sometimes whether or not a fish will be eaten will come down to their personal preference.

It is even possible for aquatic snakes to refrain from eating fish, which can leave may a pet owner in a quandary wondering what to feed their snake.

Would A Snake Eat A Fish?

Now that we know that snakes can eat fish, naturally the next question to follow is would a snake eat a fish, if it was available or presented to them?

Generally speaking, it depends. It is something you will need to offer and see.

Bear in mind that many snake owners wrongfully assume that snakes will eat guppies because they are small fish.

It may shock you to learn that many snakes don’t like guppies, so offer other small fish like bullhead catfish, smallmouth bass, minnows, and book trout. These are all worth a try.

If you have a snake that refuses to eat fish, do not worry. Snakes can be fussy like any other animal. Your pet serpent may not like to eat what you are feeding it. In this instance, you’ll want to try to offer something different instead of fish.

Pet snakes will enjoy a variety of foods, including crickets, grasshoppers, and earthworms. Feeding these can be very advantageous to the health of your snake. Thankfully, you can purchase an excellent brand of high-quality crickets on amazon for a brilliant price.

Ultimately, there are many options along with fish.Getting your snake to eat might involve some trial and error.

You might consider providing vitamins and supplements instead of fish so that your snake can receive all of the nutrients they require. Herptivite is a notorious multi-vitamin and mineral supplement for reptiles which you can get on Amazon.

If your snake is not eating much you put out for them, your may want to consider taking them to a vet.

A vet will be able to ensure your snake is not suffering from any health issues and will be able to provide you with the best information on what to feed your fussy snake.

Should You Feed Your Pet Snake Fish?

If you would like to feed fish to your snake, you must consider the type that you offer. This is because there are certain species of fish that you should never attempt to feed.

Certain fish species (like Goldfish, Tuffies, Flathead Minnows, and Rosy Reds as mentioned above) contain a compound that obstructs a snakes ability to absorb thiamine (vitamin B1).

This obstruction could cause your snake to become ill and develop a disorder of their nervous system. A thiamine deficiency can result in death. You must be confident that what your feeding your snake won’t cause him any harm.

If you are wondering whether you should feed a fish dead or alive; the truth is it doesn’t matter. You can feed either to your snake; although, it does come down to their own preference.

Most snakes prefer live fish; they enjoy the hunting aspect. They enjoy the act of killing live prey. As a pet owner, it is healthier to encourage natural feeding habits, where possible.

Bear in mind that trying to provide your snake with live fish is more challenging than feeding dead fish.

Dead fish are more accessible to obtain than living fish; they are far cheaper and require little maintenance. It is also easier for your snake to swallow a dead fish than a live fish.


If you have an snake as a pet, you actually have a lot of choice in what you can look to feed them.

In principle, aquatic snakes should eat fish, but if they don’t, there are a myriad of options available that include insects, worms, and rodents.

The most important thing to remember is never to feed goldfish to a snake. You might think because goldfish look harmless and are so readily available that this is a good idea. Unfortunately, they won’t make your snake ill.

The truth is that if a snake eats a goldfish, even once, it could take your snake months if not years to recover. Do not risk your snake’s well-being. Avoid feeding goldfish, and it’s close relatives.

Find out what foods are safe to feed your snake, and if you have any doubts at all, you should never hesitate to contact your vet.

For the most part, crickets, grasshoppers, and worms always go down well.

If you are experiencing any trouble feeding your snake, your vet should be able to get to the root of the problem and find a reasonable solution.

This will suit you and your pet snake alike.

Are you wondering what else snakes do and can eat? Then check out my other guides below: