Skip to Content

How To Tell if Fish Is Bad

How To Tell if Fish Is Bad

Like most seafood, fish is an amazing, delicious food. Fish holds up well whether you chill it in the fridge or freezer, making it the perfect meal.

However, as we all know, fish will spoil at some point. Therefore, it is important to recognize the signs of spoiled fish.

What Happens if You Eat Bad Fish

Ultimately if you eat rotten fish, it will lead to food poisoning. In the same way, you cannot eat bad lobster or bad shrimp; you cannot eat rotten fish.

You may think that you can cook the bacteria off your fish, but think again. Consuming raw or cooked rotten fish will result in sickness.

Specifically, spoiled fish can lead to two types of foodborne illnesses: ciguatera and scombroid poisoning.

If you contract ciguatera poisoning, symptoms include nausea, diarrhea, abdominal cramps, and vomiting.

In contrast, if you get scombroid poisoning, these symptoms may elevate to muscle aches, itchy or tingly skin, headaches, or numb skin.

How To Store Fresh Fish?

The best way to preserve fresh fish is to keep it chilled. Fish can either be stored in the fridge or freezer.

The refrigerator is the best option if you intend to cook the fish within a few days.

Make sure the fridge is at a temperature at or below 40°F.

You can leave the fish in its original packaging and place it into a shallow container to catch any juices.

Place the fish into the coldest part of the fridge and use it within 1-2 days.

If you are refrigerating cooked fish, place it into an airtight container to prevent exposure to moisture or other contaminants. Store the fish in the fridge for 3-4 days.

If you want to store the fish for a longer period of time, the freezer is the best option.

Raw fish has a shelf life of 3-8 months when stored in a freezer at or below 0°F. In contrast, cooked fish has a shelf life of up to 3 months when stored in the freezer.

What Does Fresh Fish Look Like

Fresh fish should have an aroma reminiscent of the ocean or seaweed.

If the fish has skin, it should have hard, glistening scales and vivid color. The eyes should stick out and have black pupils that glisten.

Fresh fish should have red or pink gills, depending on the type of fish. The fish should also have firm meat, be free of mucus, and be clean.

How To Tell if Fish Is Bad

Knowing if fish is spoiled will save you from contracting food poisoning. It will also prevent rotten fish from ruining your love of food.

Sell-by Date

Even if it is stored in the fridge, raw fish has a relatively short lifespan.

Even though the sell-by date was designed for retailers, consumers can also use it to tell if fish is good or rotten.

The fish is only good 1-2 days after the sell-by date passes. It should be discarded at this point. Alternatively, you can also delay spoilage by freezing the fish.

Do not consume fish past this date if the fish has a use-by, best-by, or expiration date. These dates indicate that the fish has begun to spoil.

If you purchased cooked fish or made BBQ salmon, it will last longer than raw fish; however, if you do not eat the fish within 5-6 days after it was cooked.

You can prevent the fish from spoiling by placing it in the freezer.


Your fingers can also let you know if your fish is spoiled. As the fish gets older, moisture levels will increase on its exterior.

This moisture will eventually turn into a thin film of slime.

Slime is a tell-tale sign of spoilage. When the fish is completely spoiled, it will have a thick, slimy, slippery film on the surface of the meat.

Toss the fish as if it has a slimy texture.

Unfortunately, cooked fish will not develop a slimy film, even if it is spoiled. So you should use the other tests to determine if the fish is rotten.


The flesh of fresh fish is usually a light pink or white color with a thin, translucent film of liquid.

However, as the fish sits in the fridge, the flesh turns a shiny, milk-like color.

Additionally, the milky portions of the fish can also have a slightly blue or gray color. Discard any fish that has a milky color.

Cooked fish will not have a milky white color, so it is best to look for signs of mold or use one of the other methods to determine if your fish is bad.

Smell Test

Fish should smell like the ocean. However, as the raw or cooked fish ages, it will have a fishy smell, especially if it is stored in the freezer.

The odor will get so bad if enough time passes that it smells like rancid rotting meat.

At the first whiff of an off or unpleasant odor, discard the fish immediately.

How To Tell if Whole Fish Is Bad

Knowing if a whole fish is spoiled is just as important as knowing if a salmon fillet is bad.

The eyes of an entire fresh fish should protrude from the body. The eyes should also glisten and have black pupils.

Rotten fish will have sunken, grey, dull eyes and cream-colored corneas.

The fish gills should be pink or red and free of slime. Spoiled fish have yellow or grey gills that can be covered in a slimy film.

Fresh should look as healthy as it did when it was harvested. The scales should be intact, and the flesh should be white or pink.

Bad fish will look like it has been in a fight for dominance and have a milky, shiny film over it. The fish meat will also have a blue or grey tint.

Final Thoughts

You must know if fish is bad before you cook it. Otherwise, you will end up consuming spoiled fish.

Luckily identifying rotten fish won’t be a problem anymore.

You might also be interested in: