This post contains affiliate links. Please see our disclosure policy.
Fish can be incredibly healthy—but only if you know what to look for.
Not all fish are created equal. While some are loaded with essential nutrients, others can be filled with heavy metals, toxins, and artificial additives. If you’re not paying attention, you could be eating something that’s doing more harm than good.
So today, we’re breaking down the best and worst fish to eat using our Bad, Better, Best model.
🚨 What to Watch Out For
Before we dive into specific fish, there are three things you NEED to know:
- Heavy Metals (Mercury & Lead) – Some fish absorb dangerous amounts of mercury and lead, which can be passed on to you when you eat those fish. Mercury and lead can cause brain fog, hormone imbalances, and nervous system damage. These toxins stay in your body for 12-18 months.
- Farm-Raised Fish – Avoid them. These fish are raised in crowded, unnatural conditions, making them more prone to disease. Farmed salmon, for example, doesn’t naturally have its pink color—it’s dyed red to look more appealing. Plus, they contain higher omega-6s, which can increase inflammation.
- The Benefits of Eating Fish – When you choose the right fish, you get:
✔️ Omega-3s (EPA & DHA) – Essential for brain health, heart health, and reducing inflammation
✔️ High-Quality Protein – Supports muscle growth and metabolism
✔️ Essential Vitamins & Minerals – Vitamin B12, D, iodine, selenium, and more
❌ Bad (Avoid These Fish!)
These fish have high mercury levels or are unsustainable:
- Shark, Swordfish, Grouper, Mackerel – Long life spans = more time absorbing toxins
- Most Tuna – High in mercury, but US Yellowfin or chunk light tuna are slightly better
- Tilapia – Almost always farm-raised, low in nutrients
- Wild Sea Bass – High mercury content
✅ Better (Decent Choices, But Not the Best)
These fish are lower in toxins but still not the cleanest options:
- Cod
- Mahi Mahi
- Wild-Caught Shrimp – Avoid farm-raised
- Crab & Lobster – Low in heavy metals
- Flounder
🏆 Best (The Cleanest, Healthiest Choices!)
If you want the best fish for your health, choose these:
🥇 Sardines & Anchovies – Low in mercury, high in omega-3s, selenium, and protein
🥇 Oysters – Packed with zinc, iron, and omega-3s
🥇 Scallops & Mussels – Excellent for protein, omega-3s, and trace minerals
🥇 Wild-Caught Salmon – One of the best fish for omega-3s and low in heavy metals
(Pro tip: Norwegian farmed salmon is a better option if wild isn’t available)
The Bottom Line
If you’re eating fish, make smart choices:
✔️ Go for wild-caught whenever possible
✔️ Avoid top-of-the-food-chain fish (they absorb more toxins)
✔️ Prioritize small fish like sardines, anchovies, and salmon for the best health benefits
Your body will thank you!