Fish is one of the most nutritious foods you can eat. Packed with lean protein, omega-3s, and essential vitamins, it’s a powerhouse for heart and brain health. But here’s the catch: eating spoiled fish can lead to serious foodborne illness.
If you’ve ever stood in front of a fillet wondering, “Is this still safe to eat?”—you’re not alone. Knowing how to spot the difference between fresh and spoiled fish can save you from both disappointment and danger.

Two culinary pros recently shared their expertise with Eating Well on how to recognize truly fresh fish and the red flags that signal it’s gone bad. Here’s what you need to know before your next seafood dinner.
What Does Fresh Fish Look Like?
The shelf life of fish varies depending on whether it’s fresh, frozen, or cooked. Fresh fish may last only a couple of days, while frozen fish can keep for months. Either way, your best bet is to choose the freshest option available and use all your senses—sight, smell, and touch—when checking for quality.
According to Lyf Gildersleeve, owner of Flying Fish Market and Restaurant:
-
Smell: Fresh fish should smell clean, briny, and ocean-like—not pungent or sour.
-
Appearance: The flesh should be shiny and firm, bouncing back when pressed.
-
Eyes: Look for clear, bright eyes. Cloudy or sunken eyes are a bad sign.
-
Bloodline: The strip running through fillets should be amber-colored, not brown.
If you’re buying packaged fish, don’t just trust your nose—check the label.
-
Sell-by date: Always double-check.
-
Storage time: Avoid fish refrigerated for more than 2 days or frozen longer than 6–9 months.
-
Cooked fish: Safe for 3 days in the fridge, or up to 3 months in the freezer.
Bottom line: fish should look vibrant and feel firm. If it looks dull, limp, or off-color, think twice.

How to Spot Spoiled Fish
“Trust your senses,” says Chef Kiki Aranita, owner of Poi Dog. “If it smells rotten or overly fishy, don’t risk it. Shiny is good; slimy is not.”
Here are six telltale signs that fish has gone bad:
Spoilage Sign | What It Means |
---|---|
Sour or ammonia-like smell | Strong, unpleasant odor—major red flag. |
Cloudy or milky eyes | Indicates loss of freshness. |
Brown bloodline or gills | A sign of decay and age. |
Bruises on the flesh | Physical damage or spoilage. |
Slimy coating | Suggests bacterial growth. |
Grayish flesh | Loss of natural color and freshness. |
If you notice even one of these, it’s safest to pass.

What to Do If You’ve Bought Spoiled Fish
Sometimes you only realize the problem once you get home. If you suspect your fish has spoiled, don’t take chances:
-
Wash your hands thoroughly after touching it.
-
Discard the fish immediately—don’t try to “salvage” it by cooking.
-
Sanitize surfaces and utensils with hot, soapy water.
-
Run the dishwasher on a sanitizing cycle if any tools or plates were exposed.
Your health is worth far more than the cost of one piece of fish.

Final Thoughts
Seafood can be one of the most rewarding parts of your diet, but freshness is everything. By learning to recognize the signs of quality—and the warnings of spoilage—you’ll shop smarter, cook with confidence, and protect yourself and your family from foodborne illness.
Next time you’re at the market, trust your senses: look for clear eyes, firm flesh, and that fresh ocean smell. If something feels off, it probably is. When it comes to fish, freshness isn’t just about flavor—it’s about safety.