Healthiest fish to eat

Healthiest fish to eat: 10 best options, ranked

Salmon leads on omega-3s. Lean white fish lead on protein per calorie. Both are worth eating. The 10 healthiest fish ranked by omega-3s, the leanest picks for a calorie target and the seven to avoid for mercury.

  • Free Shipping on Every Meal PlanFree Shipping
  • Up to 20% Off 30-Meal PlansUp to 20% Off
  • Chef Cooked, Dietitian BuiltDietitian Built
  • Heat & Eat in MinutesHeat & Eat
SaVanna Shoemaker, MS, RDN, LD
SaVanna Shoemaker, MS, RDN, LDRegistered Dietitian Nutritionist · Jun 27, 2023
Clean Eatz Kitchen High Protein Meal Plan box with plated chef-cooked meals

Salmon is the healthiest fish to eat overall: up to about 1,800 mg of omega-3s and 19 to 22 grams of protein per 3-ounce cooked serving, and low in mercury. Herring, sardines, Atlantic mackerel and trout come close. For the most protein per calorie, pick cod, haddock or canned light tuna. Skip shark, swordfish, king mackerel, bigeye tuna, marlin, orange roughy and Gulf tilefish.

Ask ten people which fish is healthiest and you'll get ten different answers, mostly because everyone means something different by healthy. Some want omega-3s for their heart. Some want the most protein for the fewest calories. Most also want to know what's safe to eat often.

So we ranked the fish that show up in most grocery stores by the nutrient where your choice matters most, then added a lean list for calorie targets and the short list of fish to avoid. Every number is per 3-ounce cooked serving, from USDA data.

What makes a fish healthy

Omega-3s, protein & mercury

Three things separate one fish from another nutritionally.

Omega-3 content. This is the big one, and the gap between species is enormous. Cold-water fatty fish like salmon, herring and sardines carry many times the EPA and DHA of lean white fish. The FDA has authorized a qualified health claim saying that supportive, but not conclusive, research shows EPA and DHA may reduce the risk of high blood pressure and coronary heart disease.

Protein per calorie. Most popular fish deliver about 17 to 25 grams of protein per 3-ounce cooked serving. What changes is the calorie cost. Cod gives you 19 grams for about 90 calories. Atlantic mackerel gives you 20 grams for about 220. Neither is wrong. They're different tools.

Mercury. Larger, longer-lived predatory fish build up more methylmercury. The FDA and EPA sort 62 species into three groups: Best Choices, Good Choices and Choices to Avoid. Nearly every fish worth eating regularly is in the first group.

The ranking below leads with omega-3s, because that's the nutrient where your choice of fish really changes what you get. Every fish on the list is an FDA Best Choice.

Every fish on the list is an FDA Best Choice.

SaVanna Shoemaker, MS, RDN, LD

The 10 healthiest fish to eat, ranked

Ranked by omega-3s per serving

Omega-3 figures are combined EPA and DHA per 3-ounce cooked serving, from USDA data compiled in the NIH Office of Dietary Supplements omega-3 fact sheet. Calories and protein are rounded from USDA FoodData Central and vary with species, origin and cooking method.

The 10 healthiest fish per 3 oz cooked (USDA, NIH ODS, FDA)
# Fish, 3 oz cooked EPA + DHA Calories Protein FDA group
1 Salmon, Atlantic, farmed / wild 1,830 / 1,570 mg 175 / 155 19g / 22g Best Choice
2 Herring, Atlantic 1,710 mg 173 20g Best Choice
3 Sardines, canned in tomato sauce 1,190 mg 157 18g Best Choice
4 Mackerel, Atlantic 1,020 mg 223 20g Best Choice
5 Salmon, pink, canned 910 mg 117 20g Best Choice
6 Trout, rainbow 840 mg 128 19.5g Best Choice
7 Shrimp 240 mg 101 19g Best Choice
8 Tuna, light, canned in water 190 mg 73 16.5g Best Choice
9 Cod, Atlantic about 130 mg 89 19g Best Choice
10 Tilapia about 115 mg 109 22g Best Choice

The 10 healthiest fish per 3 oz cooked (USDA, NIH ODS, FDA)

1

Salmon

Best all-around
1,570 to 1,830 mg omega-3s · 155 to 175 calories · 19 to 22g protein

Salmon wins on nearly every count at once: the highest omega-3 load of any common fish, solid protein, a good dose of vitamin D and mercury low enough to eat two or three times a week.

Farmed Atlantic salmon carries a little more omega-3 because it carries more fat, about 1,830 mg and 175 calories per serving. Wild Atlantic is leaner, about 1,570 mg and 155 calories with 22 grams of protein. If you're weighing salmon for a calorie-controlled diet, we go deeper in our guide to whether salmon is good for weight loss.

2

Herring

Most underrated
1,710 mg omega-3s · 173 calories · 20g protein

Herring is the most underrated fish at the grocery store. It nearly matches salmon on omega-3s, usually costs less and is often sold smoked, pickled or tinned, which means no cooking at all. Pickled and smoked versions can be salty, so check the label if you watch sodium.

3

Sardines

Calcium bonus
1,190 mg omega-3s · 157 calories · 18g protein

Sardines punch far above their size. Beyond the omega-3s, you're eating the soft, edible bones, which makes whole canned sardines a good source of calcium. Boneless fillets have far less.

Buy them packed in water or tomato sauce rather than oil if calories matter, and drain them either way.

4

Atlantic mackerel

Rich & cheap
1,020 mg omega-3s · 223 calories · 20g protein

One critical distinction: Atlantic and Pacific chub mackerel are FDA Best Choices, while king mackerel is on the avoid list. Atlantic mackerel is rich, oily and inexpensive, with over a gram of omega-3s per serving. It's also the highest-calorie fish on this list, because that fat is where the omega-3s live.

5

Canned pink salmon

Most practical
910 mg omega-3s · 117 calories · 20g protein

The most practical entry here. Canned pink salmon holds about half the omega-3s of a farmed fillet at a fraction of the price and none of the cooking, and it's lower in calories than fresh Atlantic salmon.

Canned pink salmon with the bones left in is also an easy way to add calcium, and the bones are so soft you won't notice them.

6

Rainbow trout

Mild flavor
840 mg omega-3s · 128 calories · 19.5g protein

Trout is the gateway oily fish. It has a mild, almost sweet flavor that's closer to a white fish than to mackerel, but it still brings 840 mg of omega-3s and nearly 20 grams of protein for about 130 calories.

7

Shrimp

Fastest to cook
240 mg omega-3s · 101 calories · 19g protein

Shrimp isn't an omega-3 play. What it offers is lean protein, about 19 grams for roughly 100 calories, and speed: it cooks in a few minutes, even from frozen.

8

Canned light tuna

Pantry staple
190 mg omega-3s · 73 calories · 16.5g protein

Canned light tuna, usually skipjack, is a Best Choice for mercury and one of the leanest proteins you can buy. Albacore, or white tuna, comes from a larger fish and sits in the Good Choices group, which means about one serving a week.

9

Cod

Lean & mild
About 130 mg omega-3s · 89 calories · 19g protein

Cod ranks ninth purely on omega-3s. It's still an excellent choice, especially if you're trying to lose weight. On protein per calorie it rivals anything above it: about 19 grams for 90 calories.

10

Tilapia

Everyday protein
About 115 mg omega-3s · 109 calories · 22g protein

Tilapia gets more criticism than it earns. Yes, it's low in omega-3s. It's also lean, high in protein, inexpensive, widely available and an FDA Best Choice for mercury. It's a perfectly good everyday protein.

Leanest fish for weight loss

When calories matter more than omega-3s

Ranking by omega-3s pushes the fatty fish to the top. If you're building meals around a calorie target, the ranking flips.

  • Under 100 calories per 3-ounce cooked serving: flounder and sole (about 73), canned light tuna (73), haddock (76), cod (89), Alaska pollock and halibut (about 94), with 13 to 20 grams of protein. Halibut is a Good Choice, so keep it to about once a week.
  • 100 to 150 calories: shrimp, tilapia, canned pink salmon and rainbow trout, which throws in real omega-3s as a bonus.
  • 150 to 225 calories: salmon, sardines, herring and Atlantic mackerel, where the extra calories are fat and that fat is the point.

Eating more protein while you cut calories helps you hold on to lean mass, and a 2020 review of the clinical trials found higher-protein diets cut fat mass while preserving fat-free mass. Fish delivers that protein at a lower calorie cost than most animal proteins. It's one of dozens of options broken down in our 100 Best Foods for Weight Loss guide.

Fish delivers that protein at a lower calorie cost than most animal proteins.

SaVanna Shoemaker, MS, RDN, LD

Fish to limit or avoid

Seven fish to skip for mercury

Seven fish are in the FDA and EPA's Choices to Avoid group: shark, swordfish, king mackerel, bigeye tuna, marlin, orange roughy and tilefish from the Gulf of Mexico. They're large, long-lived predators, and none of them is a weeknight staple.

A middle tier of Good Choices is fine at about one serving a week. Halibut, albacore or white tuna, mahi-mahi, snapper, grouper and Chilean sea bass are among them.

Most of the species FDA rates, including every fish in the ranking above, are Best Choices at two to three servings a week. If you're pregnant, breastfeeding or feeding young children, stick to the Best Choices list and vary the species. The EPA's version of the advice chart spells out portion sizes by age.

How to cook fish healthfully

Keep it simple, keep it baked

Frozen fish is often frozen soon after it's caught, so it can be every bit as good as the "fresh" fish that's been sitting in the display case. It's usually cheaper too. A bag of frozen cod or tilapia fillets can cook from frozen in about 20 minutes. Keep one in your freezer and you've always got a protein ready.

Canned fish is the other underrated shortcut. Sardines, pink salmon and light tuna need no cooking and keep in the pantry for months.

For weeknight cooking, simple wins. Season a fillet with salt, pepper and lemon, then bake at 400°F for 12 to 15 minutes, until it flakes with a fork. The FDA's seafood safety advice is to cook most fish to an internal temperature of 145°F.

What matters most is what you don't do to it. A lean cod fillet becomes something else entirely once it's battered and deep-fried. Baking, grilling, broiling, poaching and air-frying all leave the nutrition roughly intact. If you want to batch-cook fish for the week without it drying out, our Complete Meal Prep Guide covers the technique.

If raw preparations appeal, ceviche is one of the leanest ways to eat white fish. Lime juice changes the texture but doesn't make fish safe the way heat does, so buy very fresh fish from a source you trust, and skip it if you're pregnant or have a weakened immune system.

Healthiest fish bottom line

Salmon, sardines or trout twice a week

If you want one answer: eat salmon, sardines or trout twice a week and you're doing great.

If you want the fuller picture:

  • For omega-3s: salmon, herring, sardines or Atlantic mackerel.
  • For protein at the lowest calorie cost: cod, haddock, flounder, pollock or canned light tuna.
  • For cost and convenience: canned sardines, canned pink salmon or canned light tuna.
  • For the best all-around balance: rainbow trout, which is low in mercury, low in calories and still high in omega-3s.

If cooking fish sounds like more effort than you want most nights, that's a reasonable position. Our Weight Loss Meal Plan is portion-controlled, calorie-controlled and macro-balanced, so the portions and macros are handled for you. Or use Build A Meal Plan, filter by protein and pick the meals you'll actually eat.

SaVanna Shoemaker, MS, RDN, LD

The dietitian's take

Don't overthink it. Two fish meals a week from the Best Choices list covers most people. I keep a can of sardines or pink salmon in the pantry and a bag of frozen cod in the freezer, so one of those meals is always ten minutes away. Rotate species, and bake or grill instead of frying.

SaVanna Shoemaker, MS, RDN, LD · Registered Dietitian

Make it easy withWeight Loss Meal PlanFrom $89.95View plan

Healthiest fish FAQ

Quick answers

What is the healthiest fish to eat?

Salmon is the strongest all-around pick: about 1,570 to 1,830 mg of EPA and DHA per 3-ounce cooked serving, 19 to 22 grams of protein and an FDA Best Choice for mercury. Herring, sardines, Atlantic mackerel and rainbow trout are close behind and often cheaper. For protein per calorie, cod, haddock and canned light tuna lead.

What is the lowest calorie fish?

Flounder, sole and canned light tuna come in lowest, about 73 calories per 3-ounce cooked serving, with haddock close at 76. Cod is about 90 calories with 19 grams of protein, and pollock and halibut sit just under 100. Shrimp is about 100 calories for 19 grams of protein.

Which fish has the most omega-3?

Per USDA data compiled by the NIH Office of Dietary Supplements, farmed Atlantic salmon leads at about 1,830 mg of EPA and DHA per 3-ounce cooked serving, then Atlantic herring at 1,710 mg, wild Atlantic salmon at 1,570 mg, canned sardines at 1,190 mg and Atlantic mackerel at 1,020 mg. Cod and tilapia have under 150 mg.

Which fish has the most protein?

Most fish have about 17 to 25 grams of protein per 3-ounce cooked serving, so protein alone rarely separates them. Yellowfin tuna sits at the top at about 25 grams. The calorie cost varies more: cod gives you 19 grams for about 90 calories, Atlantic mackerel 20 grams for about 220.

Which fish should I avoid?

The FDA and EPA put seven fish in the Choices to Avoid group because of high mercury: shark, swordfish, king mackerel, bigeye tuna, marlin, orange roughy and tilefish from the Gulf of Mexico. King mackerel is the one to avoid. Atlantic and Pacific chub mackerel are Best Choices.

Is farmed or wild salmon healthier?

For omega-3s, farmed usually edges out wild: about 1,830 mg per 3-ounce cooked serving for farmed Atlantic salmon versus 1,570 mg for wild, because farmed fish carry more fat. Wild is leaner, about 155 calories versus 175. Both are FDA Best Choices for mercury, so either is a good pick.

Is tilapia bad for you?

No. Tilapia has a reputation it doesn't deserve. It's low in omega-3s, about 115 mg per serving, so it won't do much for your omega-3 intake. But it's lean, affordable, high in protein at about 22 grams per 3-ounce cooked serving and an FDA Best Choice for low mercury. It's a fine everyday protein.

Tap a meal count to add

30 meals work out to $7.56 a meal

View plan details

Tap a meal count to add

30 meals work out to $9.16 a meal

View plan details