Not sure if that piece of salmon you bought is still good, or if those scallops you cooked for dinner the other night are safe to eat? Here are the key things to check to find out if that fish is still good.

If you're reading this, it's probably because you're staring at a piece of fish right now and wondering is this fish OK to eat? Whether you're at the market or in your kitchen, knowing the signs that fish is past its prime can save you from the dangers of eating spoiled fish. Two experts shared their insights on everything from how to tell if fish is bad to what to look for when buying fresh fish.

How Long Does Fish Last?

In general, fish can last anywhere from two days to several months. That's a huge range, of course, and depends on a number of factors—like whether the fish in question is fresh, frozen or cooked. 

To get off to a good start, you're going to want to choose the freshest fish possible, and using all your senses is going to come in handy. "It's fish, so there is going to be some level of smell to a fillet or whole fish," says Lyf Gildersleeve, owner of Flying Fish Market and Restaurant, adding that fish should have a clean, oceanic smell, bright and shiny flesh, clear eyeballs and an amber-colored bloodline (a band down the middle of a fillet that is useful when determining how to tell if a fish fillet is bad).

In the case of packaged fish, carefully read the sell-by dates and throw out any fish that has been in the refrigerator for more than two days or frozen for six to nine months, or cooked fish that has been stored in your fridge for more than three days or frozen for more than three months.

How to Tell If Uncooked Fish Is Bad

Now that you know what fresh fish should look and smell like, you'll be better equipped to sniff out spoiled fish.

"If it smells pungently fishy and putrid (and doesn't make you want to eat it!), trust your nose. Its texture may also become slimy, less firm and more mushy, and it may turn gray. Shine is fine. Slime is not," says Kiki Aranita, chef and owner of Poi Dog.

According to the experts, these are the top signs to look for when determining if fish has gone bad:

  • Sour or ammonia smell
  • Cloudy or milky eyes
  • Brown bloodline or gills
  • Bruising
  • Slime or mucus
  • Gray coloring

How to Tell If Cooked Fish Is Bad

Throwing out perfectly good fish, or any food for that matter, is a hard no. That's why you've taken the time to pack up and refrigerate your leftover fish. Good move. Just make sure that you store cooked fish in an airtight container. And don't forget to eat it soon or you'll also find yourself wondering how to tell if cooked fish is bad. If you're already at that point, a good rule of thumb to keep in mind is that cooked fish should be eaten or tossed within three days after refrigerating. Because exact times can vary, you'll want to call in those senses once again.

Like uncooked fish, figuring out how to tell if cooked fish is bad ultimately comes down to smell and appearance. A strong odor, dry texture and mold are good indicators that cooked fish is bad. When in doubt, throw it out.

a photo of a salmon fillet
Credit: Getty Images

How Long Does Fish Last in the Refrigerator?

As mentioned, cooked fish can last around three days in the refrigerator when stored properly in an airtight container.

Fresh fish lasts about half that time and should be used or frozen within two days. The way you store it will also make a huge difference. Aranita recommends wrapping fresh fish tightly in parchment paper and keeping it over ice on a perforated pan or colander with a pan or bowl underneath to ensure the fish stays as cold as possible without freezing.

How Long Does Fish Last in the Freezer?

While uncooked fish can last quite a long time in the freezer, it does have an expiration date and, again, it matters how fresh it is to begin with and how well it is prepped and wrapped.

"Fish fillets can be stored in the freezer for six months to a year if tightly vacuum packaged. Household freezers aren't incredibly cold, so the sooner the better. If you have a chest freezer, that's a better place for longer-term storage," says Gildersleeve. Aranita agrees, noting that fish should be frozen below 31 degrees Fahrenheit whenever possible.

In terms of how to store uncooked fish in the freezer, you'll want to make sure it's fresh, patted dry to help prevent freezer burn, and packed airtight. A resealable plastic bag will do the trick if done right. "[Put the fish] in a Ziploc bag and try to get all the air out of the bag. One trick for that is to submerge it under water, with the seal above the water, then zip it shut; this helps get all the air out of the bag," says Gildersleeve.

The same guidelines apply to freezing cooked fish, but it should instead be consumed within three months.

What You Should Do with Bad Fish

If you've determined that you've got a bad fish on your hands, wash your hands and throw it out—and wash your hands again. Fish can harbor bacteria, parasites and viruses that can cause serious illness, so fish should always be handled with care to avoid cross-contamination. Wash all surfaces and utensils that have come in contact with bad fish in hot, soapy water. Placing everything in a dishwasher on a sanitize setting will be your best bet for killing all germs.

Bottom Line

The best way to tell if fish is bad is to use your senses. If fish has gone bad, it'll likely have an off smell and feel slimy. Both raw and cooked fish usually keep for up to two days in the refrigerator. You can freeze raw fish for six months to a year, but cooked fish shouldn't be frozen for more than three months. Your best bet is to use your fish in one of these fish recipes soon after you purchase it.