Fish can be one of the trickiest foods to buy and store, and how to tell if fish is terrible. The signs of spoiled fish aren’t always as apparent as with red meat or poultry. Additionally, different types of fish tend to have other shelf lives and spoilage indicators.
However, there are some clear signs to look for when determining if your fish has gone past its prime. Identifying these signs can help you avoid foodborne illness from eating spoiled fish. With the proper storage methods and careful handling, fish can stay fresh and safe to eat for several days in your fridge.
Table of Contents
ToggleYour nose often knows best when it comes to fish freshness. Fresh fish should have a mild, salty aroma like the ocean. As fish spoils, that smell will grow stronger and more intense or acidic. As they decay, fish give off amines, which have a strong “fishy” or ammonia-like odor.
If the fish smells overly fishy, acidic, or ammonia-like, it isn’t good and should be discarded. The odor will only grow more potent and unpleasant as the fish spoils. Trust your nose – if it smells bad, it likely is terrible.
The color of fish can also indicate freshness. Whole fish and fillets should look glossy, clear, and bright. For example, fresh salmon and tuna should be deeply hued, shiny pink/orange or red.
As fish goes terrible, the color dulls and becomes murky. The Flesh may take on a yellow/brown/grey tinge and dry out. Discolored areas, dark spots, or blemishes can also signify spoilage. Watch out for milky, translucent fish flesh – this shows the early stages of spoilage.
When pressed gently, fresh fish should feel firm, elastic, and spring back. As fish starts to spoil, the texture becomes mushier. The Flesh will lose its firmness and feel soft or slimy.
Press your finger gently against the surface of the fish. Lousy fish will indent and not bounce back. The Flesh may seem thick and gelatinous and stick to your finger. Spoiled texture is especially noticeable around the gills or fins, which start deteriorating first. Avoid any fish with overly soft, mushy, or slippery Flesh.
On whole fish, the eyes are a good indicator of freshness. They should be clear, plump, and shiny with black pupils. As the fish ages, the eyes will become cloudy, sunken, or gray/milky colored. The pupils may also fade in color.
If the eyes are severely sunken, cloudy, or grimy, the fish has likely spoiled and should not be eaten. The eyes deteriorate rapidly as bacteria grow, so inspect them closely.
The gills are another part of fish that shows spoilage quickly. Fresh fish gills are bright red or pink with no slime. As fish goes bad, the gills turn darker brown or gray, with thick, slimy mucus.
Discolored gills with an off-putting odor indicate the fish is past its prime. Bacteria multiply rapidly in the gills post-mortem, so inspect them closely before eating fish. Avoid fish with gills that are brown, dull, or coated in large amounts of slime.
A sure sign that fish has gone wrong is a thick, slippery coating on the surface. Fish naturally carry some slime coatings. However, as fish decays, bacteria feeding on the Flesh will cause additional slime formation.
Run your fingers over the surface of the fish. Fresh fish should not feel overly slippery or sticky. A noticeable increase in surface mucosal slime or ooze indicates the fish has spoiled. The slime will be more prevalent in the gills, belly, and fins.
Discolored patches on fish can indicate spoilage and bacterial growth. Parts of the Flesh may take on a yellow, brown, or grayish tinge. The belly area, in particular, can show discoloration as the fish starts to go bad. Spots or blemishes on the skin can also signal spoilage.
Avoid fish with excessively discolored areas, spots, bruises, or blemishes. While some imperfections are normal, extensive discoloration or large bruises likely mean the fish has reached the end of its shelf life. Proper storage can help minimize premature discoloration.
Fresh fish have firm, shiny, moist Flesh. As fish ages and bacteria multiply, the Flesh starts to dry out. Signs of drying include matte skin, wrinkling, and shrinkage. The edges of the fillets or steaks may appear dried out or shriveled.
Press your finger against the Flesh – it should still feel springy underneath despite superficial drying on the surface. Reject any fish with severe shrinkage or hard, shriveled flesh that is clearly past its expiration date.
The fish’s gills, belly cavity, and area around the fins provide ideal breeding grounds for bacteria as the fish spoils. Carefully smell the gills, belly flaps, fins, and cavities to check for off-odors.
Fresh fish will smell like clean ocean water, whereas spoiled fish give off a noticeably rancid, fishy, or sour smell. Don’t wash the fish before inspection, as this can mask any odors in the gills or belly.
On whole fish, the fins and scales should be firmly attached to the body. As bacteria break down the tissues post-mortem, the fins and scales detach more quickly. Limp, dangling fins, and loose, easily removed scales indicate diminished freshness.
Check that the fins feel securely fastened to the fish’s body. Run your hand gently along the body to check for loose scales falling off. The fish is likely past its prime if the fins and scales detach without effort.
Press your finger into the thickest part of the fish fillet. Fresh fish bounces back as you remove your finger, while spoiled fish remains indented.
The Flesh should still have structural integrity and not easily flake into pieces. If your finger leaves an indentation that doesn’t bounce back, or the Flesh falls apart – the fish is spoiled and potentially unsafe to eat due to high bacteria levels.
As fish decomposes, the Flesh begins falling apart and losing its structure. Signs of disintegration include significant gaps in the fillet with the Flesh separating. The fish’s color, texture, and smell will be significantly off.
Severe disintegration shows the fish has exceeded its expiry date by a wide margin. At this point, bacterial loads and toxin levels may be dangerously high. Discard fish with any signs of decomposing or liquefying Flesh.
One potential indicator of spoilage in frozen fish is whitish bands of denatured proteins throughout the Flesh, called freeze burn. This affects the taste more than safety.
Freeze burn doesn’t necessarily mean the fish is unsafe but indicates diminished quality. Eat freeze-burned fish soon and inspect it carefully for any spoiled signs, such as off odors, flavors, or mushy textures.
You can do a quick test on the skin to help determine freshness. Grab the skin using your index finger and thumb, and try bending and twisting it. Fresh fish skin will break cleanly apart after turning, while old skin appears leathery or rubbery.
If the skin feels overly elastic and durable or doesn’t snap cleanly, this indicates decreased freshness and spoilage. However, fish skin alone is not the best indicator of safety or quality. Rely on multiple tests for accuracy.
Fish goes through autolysis post-mortem, breaking down tissue and releasing fishy odor compounds. To directly smell for spoilage, you can poke the Flesh with your finger and deeply sniff the hole.
Fresh fish will smell briny, clean, or like cucumber. Fish that is past prime gives off sour, sharp ammonia or alkaline odors from microbial metabolites and decomposing tissue. Trust your nose to detect any “off” or rotten aromas.
Fish may excrete liquids post-mortem as part of the decaying process. Check the packaging carefully for any oozing blood, juices, or mushy Liquid from the fish—cloudy leaking fluid or odd-smelling ooze signals spoilage.
Ideally, fresh fish retains its natural moisture without large amounts of liquid leakage. Some excretion is normal, but excessive ooze or off-putting discharge likely means the fish is beyond its expiration date and rotting from the inside out.
The belly area of whole fish can be an early indicator of spoilage. Feel the firmness of the belly by pressing gently – it should still be taut and not mushy. As fish decomposes, the belly firms up and bloats from gas formation by spoilage bacteria.
Conversely, a hollow, mushy belly or one that seems deflated/shrunken is also a sign of an old fish. A robust, unpleasant odor when pressing the belly is another red flag. A firm, bloated stomach or a very soft, sunken one shows the fish is past fresh.
Dark bruise-like spots on fish can indicate oxidation and chemical rancidity breakdown. As the oils break down, this “rust” spotting is common in tuna, mackerel, and swordfish.
While not inherently hazardous if eaten soon, rust spots signify the fish is nearing the end of its shelf life. Avoid extensively spotted fish, which likely have greater degrees of oxidation and decomposition. Proper icy storage helps minimize this type of spotting.
As fish age, their Flesh loses its firmness and can start splitting open. Gaping holes and valleys in the Flesh are caused by the breakdown of the connective tissues. The fish may also dry out and start flaking apart.
Press gently on any significant gaps in the fillet – the Flesh should still have some spring and bounce back. If your fingers easily penetrate open spaces, this indicates advanced spoilage and likely high bacteria levels. Discard any fish with this degree of deterioration.
If eating fish eggs like salmon roe or caviar, check the smell before eating them. Fresh fish eggs have a mild, aquatic aroma. Strong odors like ammonia, old socks, or hot garbage arise from amine compound development as they go bad.
Fish eggs also undergo color, texture, and appearance changes when spoiled. However, smell is often the quickest indicator of freshness. Be wary of any odd or “off” scents from the eggs.
Parasitic worm infestations can occur in fish, especially wild salmon. Look for tiny, grain-like organisms clinging to the Flesh or visible moving threads. These parasitic worms may look like rice, spices, or fuzz.
While not inherently harmful if appropriately cooked, visual evidence of parasites signifies potential spoilage and decreased quality. Fish with high parasite loads will deteriorate faster. Cook suspect fish immediately at 140°F or higher temperatures to kill any organisms.
The source and origin of fish can offer clues into its freshness and how quickly it may spoil. Was it wild caught or farmed? How long was the supply chain? What temperatures was it held at? Freshly caught local fish tends to have a longer shelf life than imported fish.
For fish without labels or sourcing info, apply extra scrutiny when evaluating age. A seller’s lack of details could signify older, lower-quality fish. If possible, do your due diligence to determine provenance.
How the fish feels when handled gives you good clues into freshness. It should still feel moist, glossy, and firm – not overly soft, dry, or mushy. Press into fillets with your fingers – the Flesh should bounce back and not be slimy.
As fish age and bacteria grow, their Flesh starts feeling spongier and less resilient. Advanced decay leads to a slippery, pudding-like texture. If the fish feels excessively squishy, sticky, or gooey anywhere, it is past its prime and should be disposed of.
Fish gives off different types of spoilage odors before and after cooking. That’s why it’s important to smell fish raw first, then again after cooking a small portion. The heat of cooking can both mask and intensify certain odors.
Fish high in amines may smell strongly of ammonia when raw but give off a smell closer to aged cheese when cooked. Judge both the raw and cooked smells for the full picture on freshness and safety.
Finally, the internal temperature reached during cooking provides insight into whether fish is safe to eat or has potentially harmful bacteria levels. Fish must reach an internal temperature of at least 145°F (62°C) to be considered fully cooked and safe.
Use a food thermometer to test the thickest part of the fish after cooking. If it has not hit 145°F, heat it longer and retest the temperature until safely cooked through. This eliminates risks from pathogens like salmonella or Listeria.
Proper storage and handling help fish stay fresh and extend their shelf life. Here are some tips for keeping fish at optimal quality for consumption:
Properly icing, freezing, and handling practices keep fish fresher longer and reduce the likelihood of multiplying spoilage organisms.
Determining freshness and assessing spoilage in fish can seem tricky. However, you can reliably identify if a fish has gone wrong by looking for signs like odor, color, texture, and slime formation. When beginning to deteriorate, fish give off more pungent “fishy” smells and have Flesh that is fleshier or mushier. Discoloration, dryness, spotting, and slime development also indicate aging fish.
Trust your senses – if it smells, looks, or feels off, it likely is. Follow proper storage temperatures and guidelines. And if in doubt, remember the adage that “when fish smells bad, it is bad” – err on the side of caution if fish seems even slightly suspect. With care and attention to quality, fish can stay fresh in delicious, healthy recipes. Discard any fish that clearly shows multiple signs of spoilage for food safety.
Yes, eating spoiled, old fish can make you sick. As fish ages, bacteria like salmonella, Listeria, and E. coli grow to dangerous levels that can cause food poisoning when consumed. Always cook fish thoroughly to 145°F internal temperature to kill bacteria.
Properly stored fish lasts 1 to 2 days in the fridge, kept at 40°F or below. Whole fish stay slightly longer than fillets. Freeze for more extended storage.
Fish stored continuously at 0°F or below does not spoil in the freezer. However, if stored too long, freezer burn can occur, causing dryness. For the best quality, eat fish within 2 to 6 months frozen.
Avoid eating fish with extensive or abnormal discoloration, which indicates spoilage. Small areas of discoloration are OK if the rest of the fish seems fine in odor and texture. Cook discolored fish thoroughly to 160°F internal temperature.
Proper cooking kills bacteria but does not remove spoilage toxins. It’s still best to avoid eating fish that shows signs of spoilage, as toxins persist after cooking. Cooking rotten fish does not make it safe to eat.