How to Tell If Fish Is Still Good to Cook (September 2026)

Fish is still good to cook when it has a mild ocean scent, firm flesh that springs back when pressed, bright consistent coloring without milky film or dark spots, and a sell-by date that hasn’t passed. If the fish smells sour or like ammonia, feels mushy, or shows discoloration, it has spoiled and should be discarded.

Nothing ruins a dinner faster than discovering your fish has turned. Whether you pulled it from the freezer, grabbed it on sale, or forgot it in the back of the fridge, knowing how to tell if fish is still good to cook saves you from both food waste and a miserable bout of food poisoning. I’ve spent years handling and testing seafood at home, and the three-step method below is what I rely on every single time.

Quick Answer: 5 Signs Your Fish Is No Longer Good to Cook

Here are the five most reliable indicators that fish has spoiled:

1. Sour or ammonia smell — Fresh fish smells like the ocean. If it smells sour, putrid, or sharply of ammonia, it’s gone bad.
2. Milky or discolored flesh — A white, cloudy film on the surface or grayish-yellow spots signal bacterial activity.
3. Slimy coating — A thick, sticky slime layer beyond a light natural sheen means bacteria are actively breaking down the flesh.
4. Mushy texture — Press the flesh with your finger. If it doesn’t spring back or leaves a dent, it’s past its safe window.
5. Past the use-by date — Fish stored past its labeled use-by date is at high risk, even if it looks and smells acceptable.

The universal rule among home cooks and food safety experts alike is simple: when in doubt, throw it out. No meal is worth a trip to the emergency room.

How to Tell If Fish Is Still Good to Cook

The three-step freshness test — smell, look, and touch — takes under 30 seconds and gives you a reliable read on whether your fish is safe. Each test checks a different indicator of bacterial decomposition, and when two or more tests fail together, the verdict is clear.

The Smell Test: Fresh Ocean vs. Spoiled

Your nose is the fastest and most accurate freshness detector you own. Fresh fish should have a mild, clean scent that reminds you of sea air, not an overpowering fishy odor. As fish spoils, bacteria break down proteins into compounds called amines, which produce increasingly unpleasant smells.

Here’s what different odors mean:

Mild ocean scent — This is what fresh fish smells like. Safe to cook.
Slightly fishy but not sour — Possibly still okay, but use it within 24 hours.
Sour, tangy, or acidic — Bacterial decomposition is active. Discard the fish.
Ammonia-like (sharp, chemical) — Advanced spoilage. Never cook this fish.

If you’re unsure, run the fish under cold water for a few seconds and smell it again. Water won’t remove spoilage odors caused by bacterial compounds, so a persistent bad smell after rinsing confirms the fish is done. Reddit cooking communities consistently rank smell as the number one freshness indicator — and ammonia smell in particular is an automatic toss regardless of other signs.

The Visual Test: What to Look For

What the fish looks like tells you a great deal about its condition. Check these visual cues before you heat up the pan:

Color — Fresh fish flesh is translucent to opaque, with a bright, consistent color. Salmon should be vibrant orange-pink. Cod should be white. Any yellowing, graying, or dark spots indicate spoilage or oxidation.

Milky film — A white, cloudy coating on the surface is a classic spoilage sign. This is bacterial slime that has accumulated on the flesh.

Eyes (whole fish) — Fresh fish have clear, bulging eyes. Cloudy, sunken eyes mean the fish has been sitting too long.

Gills (whole fish) — Bright red or pink gills indicate freshness. Brown or gray gills are a red flag.

Yellow spots — On thawed frozen fish, small yellow or brown spots are often oxidation or blood spots, not necessarily spoilage. However, if they’re accompanied by any off-smell, discard the fish without hesitation.

The Texture and Touch Test

Touch is the third layer of confirmation. Press the flesh gently with your fingertip and observe how it responds:

Firm and springy — The flesh bounces back immediately after pressing. This fish is fresh and safe to cook.
Soft but recovers slowly — On the edge. Cook it today or freeze it immediately.
Mushy, leaves a dent — The structural proteins have broken down from bacterial activity. This fish is past its safe window.
Slimy surface — A thick, sticky layer of slime signals heavy bacterial growth, even if the smell isn’t obvious yet.

Online cooking forums place the touch test as the second most reliable indicator after smell. Good fish springs back when you press it; bad fish leaves a fingerprint.

How Long Does Fish Last in the Fridge and Freezer

Storage time is one of the most overlooked freshness factors. According to the USDA, raw fish should be stored at 40 degrees F or below in the refrigerator and at 0 degrees F in the freezer. The FDA provides similar guidelines for commercial storage.

Fish Type Fridge (Raw, 40 degrees F) Freezer (0 degrees F)
Salmon1 to 2 days2 to 3 months
Cod1 to 2 days6 to 8 months
Tuna1 to 2 days2 to 3 months
Tilapia1 to 2 days6 to 8 months
Shrimp1 to 2 days3 to 6 months
Cooked fish (any type)3 to 4 days2 to 3 months

Raw fish should be used within 1 to 2 days of purchase when refrigerated. Freeze it on the day of purchase if you won’t cook it within that window.
Cooked fish lasts 3 to 4 days in the fridge. Freeze for longer storage.
Previously frozen and thawed fish should be cooked within 1 to 2 days after thawing. Do not refreeze raw fish that has been fully thawed unless you cook it first.

Sell-By vs. Use-By Dates: What They Mean

These two labels cause more confusion than almost any other aspect of fish shopping. Understanding the difference can save you from both unnecessary waste and real health risks.

Sell-by date — This is for the retailer, not for you. It tells the store when to pull the product from shelves. You typically have 1 to 2 days after the sell-by date to cook or freeze the fish, assuming it has been properly refrigerated the entire time.

Use-by date — This is your safety deadline. The manufacturer guarantees quality and safety up to this date. Eating fish past the use-by date is a gamble, even if it looks and smells fine.

If your fish is one day past the sell-by date and passes the smell, visual, and texture tests, it is likely still safe. If it is past the use-by date, toss it regardless of appearance. The distinction between “just past sell-by” and “well past use-by” matters — but when the use-by date has passed, the risk outweighs the reward.

How to Tell If Cooked Fish Has Gone Bad

Cooked fish spoils differently than raw fish, and knowing the difference helps you avoid both waste and illness. Here is what to check:

Smell — Leftover cooked fish that smells sour, rancid, or noticeably stronger than when you originally cooked it has gone bad.
Texture — Cooked fish that has become slimy or unusually dry has deteriorated during storage.
Appearance — Mold growth, including white, green, or black fuzzy spots, means immediate disposal.
Time — Cooked fish is safe in the fridge for 3 to 4 days. After that, bacteria can reach dangerous levels even without obvious warning signs.

If you cooked the fish more than 4 days ago, do not taste-test it. Just discard it. Bacteria like Listeria can grow at refrigerator temperatures without producing obvious odors or visible changes.

Species-Specific Spoilage Signs

Different fish types show spoilage in distinct ways. Knowing what to look for in your specific fish helps you make a more accurate judgment call.

Salmon

Salmon is one of the most commonly purchased fish, and its spoilage signs are well-documented. Look for these specific indicators:

White lines running through the flesh are fat deposits and completely normal. They are not a sign of spoilage.
Dull, faded color means the fish is aging. Fresh salmon is vibrant; old salmon turns pale or grayish.
Firmness is critical. Fresh salmon should feel dense and springy. Mushy salmon is past its safe window.
Ammonia smell is the most definitive sign of salmon spoilage. If your salmon smells like ammonia or a sharp chemical, discard it immediately.

Cod

Cod is a lean white fish that tends to spoil faster than fattier species. Here is what to watch for:

Translucent to opaque shift — Fresh raw cod is slightly translucent. As it ages, it turns fully opaque and may develop a yellowish tint.
Strong fishy smell — Cod should smell clean and mild. A strong, pungent odor means it has gone bad.
Soft, flaky texture — If raw cod falls apart when you handle it, the proteins have broken down too far.

Tuna

Tuna carries particular risks when spoiled because it can cause scombroid poisoning from histamine buildup. The FDA classifies tuna alongside mackerel and mahi-mahi as high-risk species for this type of food poisoning.

Color change — Fresh tuna is deep red or pink. Brown surfaces, dark patches, or rainbow iridescence indicate oxidation and age.
Metallic or sour smell — Fresh tuna has almost no smell at all. Any sourness or metallic tang is a serious warning sign.
Scombroid risk — If tuna, mackerel, or mahi-mahi smell even slightly off, do not take the chance. Cooking does not destroy the histamine toxins responsible for scombroid poisoning.

Shrimp and Shellfish

Shellfish spoilage signs differ from finfish in several important ways:

Shells — Live shellfish like clams, mussels, and oysters should have tightly closed shells. Shells that are open and do not close when tapped are dead and should be discarded.
Ammonia smell — As with finfish, any ammonia odor in shrimp or shellfish means spoilage.
Black spots on shrimp — Black spot, also called melanosis, on shrimp shells is a quality issue rather than a safety issue. But if the shrimp also smells bad, discard it.
Slimy texture — A heavy, sticky slime on shrimp or shellfish is a clear indicator of bacterial breakdown.

Freezer Burn: Is Freezer-Burned Fish Safe to Eat

Freezer burn happens when air reaches the fish’s surface during frozen storage, causing dehydration and oxidation. It appears as dry, grayish-white patches or ice crystals on the surface of the flesh.

The good news is that freezer-burned fish is safe to eat. The affected areas will be dry, tough, and lacking in flavor, but they pose no health risk. You can trim off freezer-burned sections before cooking, or use the fish in heavily seasoned dishes like curries or stews where the texture difference is less noticeable.

To prevent freezer burn, wrap fish tightly in plastic wrap, then in aluminum foil or a freezer bag. Remove as much air as possible before sealing, and use the fish within 2 to 3 months for best quality.

What to Do With Spoiled Fish

Once you have determined the fish is bad, handle it carefully to avoid cross-contamination in your kitchen:

Double-bag it — Place the spoiled fish in two sealed plastic bags before putting it in the trash. This prevents odor from spreading and keeps bacteria contained.
Take out the trash immediately — Do not let spoiled fish sit in your kitchen garbage can, where it can contaminate other surfaces and attract pests.
Sanitize all surfaces — Wash any cutting boards, knives, countertops, and hands that contacted the raw fish with hot soapy water. The FDA recommends a diluted bleach solution for non-porous surfaces.
Do not compost it — Raw fish in a compost bin attracts pests and can introduce harmful bacteria into your garden soil.

Frequently Asked Questions

How to tell if cooked fish is spoiled?

Cooked fish that has gone bad will smell sour or rancid, feel slimy to the touch, or show visible mold. If cooked fish has been in the fridge for more than 4 days, discard it even if it looks fine. Listeria and other bacteria can grow at refrigerator temperatures without producing obvious signs.

Is it okay to cook smelly fish?

No. If raw fish smells sour, like ammonia, or has a strong putrid odor, cooking it will not make it safe. Heat does not destroy all bacterial toxins, particularly the histamines responsible for scombroid poisoning. If your fish smells off, throw it away.

Is mushy fish safe to eat?

Mushy fish is a strong indicator of spoilage. When the flesh does not spring back after pressing and leaves a dent, the proteins have broken down from bacterial activity. While mushiness alone does not guarantee the fish is dangerous, combined with any off-smell or discoloration, it should be discarded.

Can you eat slightly spoiled fish?

No. Even fish that is only slightly spoiled can harbor dangerous bacteria and toxins. Scombroid poisoning from histamine buildup in fish like tuna and mackerel can occur even when the fish does not look dramatically bad. When in doubt, throw it out, because food poisoning from fish can be severe.

How quickly does raw fish spoil?

Raw fish begins deteriorating within hours at room temperature. In a refrigerator at 40 degrees F or below, raw fish stays safe for 1 to 2 days after purchase. In the freezer at 0 degrees F, it can last 2 to 8 months depending on the species. Always freeze fish on the day of purchase if you will not cook it within 2 days.

What does bad salmon smell like?

Bad salmon smells like ammonia, sour milk, or a strong rancid odor. Fresh salmon has a mild, clean ocean scent. If you detect any sharp, chemical, or tangy smell, the salmon has spoiled. An ammonia smell is the most definitive sign and means the fish should be discarded immediately.

How long can fish stay in the fridge after thawing?

Thawed fish should be cooked within 1 to 2 days. The USDA advises against refreezing raw fish that has been fully thawed unless you cook it first. If you thawed fish in the refrigerator, the 1-to-2-day clock starts from when it finished thawing, not from when you bought it frozen.

The Bottom Line

Knowing how to tell if fish is still good to cook comes down to trusting your senses and respecting storage timelines. A mild ocean smell, firm springy texture, and bright clear color are your green lights. Sour or ammonia odors, mushy flesh, and milky discoloration mean it is time to throw it out.

I keep a simple rule in my kitchen: if two out of three tests fail — smell, look, touch — the fish goes in the trash. Store fish properly at 40 degrees F or below, cook it within 1 to 2 days of purchase, and never gamble with fish that is past its use-by date. The risk of food poisoning from spoiled fish, including scombroid poisoning and Listeria infection, is simply not worth it.

Leave a Comment