How much protein in fish? Most species land between 18 and 26 grams per 100 grams, putting them squarely in the same range as chicken breast. But the exact number shifts depending on the species, how it’s prepared, and whether you’re looking at raw or cooked weight. This guide breaks it down so you can stop guessing and start planning.
How much protein in fish on average
As a baseline, most fish delivers between 18 and 26 grams of protein per 100 grams. That range holds across the most commonly eaten species, according to data from the Canadian Nutrient File and USDA FoodData Central.
In practical terms, a standard 150g portion gets you roughly 27 to 39 grams of protein, enough to anchor a meal without needing to build around anything else.
The variation within that range comes down to fat content and water content. Lean white fish like cod and haddock carry less fat, so a higher proportion of their weight is protein. Fatty fish like salmon and mackerel carry more fat, which slightly lowers the protein-per-gram number but adds calories and omega-3s that change how the meal performs. Neither category is wrong. They just do different things.
Protein in popular fish and seafood
The table below uses approximate raw values per 100g, sourced from the Canadian Nutrient File and USDA FoodData Central. Cooked values will run slightly higher due to water loss during cooking (more on that below).
| Seafood | Protein per 100g | Calories | Best for |
|---|---|---|---|
| Salmon | ~20g | Higher | Satiety, omega-3s, meal prep |
| Haddock | ~18–19g | Low | Lean everyday meals, beginners |
| Cod | ~18g | Low | Weight management, high volume eating |
| Tuna (yellowfin, raw) | ~24–26g | Moderate | High protein targets, efficiency |
| Shrimp | ~24g | Low | Fast meals, high protein per calorie |
| Mussels | ~12g | Moderate | Value, micronutrients |
| Mackerel | ~19g | Higher | Heart health, omega-3s |
Nutritional values are approximate, based on standard 100g raw portions. Actual values vary by species, preparation method, and source.
Note on mussels: The protein count here is lower than some sources suggest because mussels are measured by total weight, which includes shell water and significant moisture content. Per gram of actual flesh, they are nutritious and worth including, particularly for the micronutrient profile. But on a straight protein-per-100g comparison, they don’t compete with fish fillets.
Note on tuna: Values vary significantly by species and preparation. Canned light tuna runs around 26g per 100g drained. Yellowfin raw runs around 24-26g. The high end of some published ranges (30g+) typically reflects very lean cuts measured in a dry state and aren’t representative of what you’re eating at the table.
Why protein in fish varies by type
Two things drive the variation: fat content and water content.
Lean fish like cod and haddock store almost no fat in their muscle tissue. Nearly all their caloric content comes from protein, which is why they sit at the low-calorie end of the spectrum while still delivering solid protein numbers. Our Haddock 101 guide goes into more detail on what makes haddock specifically a strong everyday protein choice.
Fatty fish like salmon and mackerel store omega-3-rich fat throughout their flesh. That fat adds calories and slightly dilutes the protein percentage per gram, but it also changes how the fish performs nutritionally. The Food and Agriculture Organization notes that fish is a unique source of both high-quality protein and long-chain omega-3 fatty acids, along with iodine and vitamin D. You don’t get that combination from chicken or beef.
Water content matters too. Fish with higher moisture content appear to have lower protein per 100g than drier preparations of the same species. Canned tuna drained of liquid, for example, reads higher than the same fish raw. The protein itself hasn’t changed. It’s just more concentrated.
Does cooking change how much protein is in fish?
No. Cooking doesn’t remove protein from fish. What it removes is water.
As fish cooks, moisture evaporates and the flesh tightens. The result is that protein per 100g reads higher after cooking, not because there’s more protein, but because there’s less water diluting it. Think of reducing a sauce: you’re not adding anything, you’re concentrating what’s already there.
So when you see different protein values for raw and cooked fish, that’s not a contradiction. It’s a measurement difference. If you’re tracking protein intake, the most consistent approach is to weigh raw fish and use raw values, or to weigh cooked fish and use cooked values. Mixing the two will throw off your numbers.
Which fish has the most protein?
On a per-100g basis, lean tuna is the most efficient pure-protein option in the category. Shrimp is close behind, and punches above its weight given how few calories it carries. Our ultimate guide to shrimp covers why shrimp is a stronger nutritional option than most people give it credit for.
But chasing the top number isn’t always the most useful strategy. The difference between 19g and 25g of protein per 100g is real, but it’s not the difference between hitting your goals and missing them. What matters more is what you can cook consistently, eat regularly, and repeat across the week. A piece of salmon you look forward to making beats a tuna you’re forcing down every time.
Protein in fish for different goals
For weight management
If your priority is keeping calories lower while maintaining protein intake, lean white fish does the most work. Cod and haddock both deliver solid protein at under 90 calories per 100g raw. Shrimp is even more efficient: around 24g of protein at roughly 99 calories per 100g. Our Haddock Fillets and Pacific White Shrimp are both strong options here. For a more detailed breakdown on this angle, see our guide to the best fish for weight loss.
For building muscle or hitting higher protein targets
Tuna and shrimp give you the most protein per calorie. But salmon is worth including here too: it’s calorie-dense enough to support a surplus if that’s what you’re after, and the fat content makes it easier to eat in quantity. Our Sustainable Blue Salmon portion packs make it easy to build into a weekly rotation. For the full breakdown on how fish compares to other protein sources, see our piece on whether fish is healthier than chicken.
For heart health
The American Heart Association recommends eating fish at least twice a week, particularly fatty fish, for cardiovascular benefits. Salmon, mackerel, sardines, and trout are the ones to focus on here. The protein is a bonus. The omega-3s are the main event. See our guide on the best fish for heart health for more.
For meal prep
Fish that holds its texture after cooking and reheating is what you want for batch cooking. Salmon and shrimp are the two most practical options. Salmon reheats without drying out badly if you keep it covered; shrimp can be eaten cold straight from the fridge. Our best fish for meal prep guide covers this in detail, including storage times and how to reheat without ruining the texture.
Fish protein vs chicken, eggs, and beans
Chicken breast runs around 31g of protein per 100g cooked, which puts it above most fish on a straight comparison. Eggs land around 13g per 100g. Cooked lentils and beans fall between 8 and 10g per 100g, though they carry fibre and different micronutrients.
Fish doesn’t always win on raw protein numbers. But the comparison isn’t just about protein. The Food and Agriculture Organization describes fish as a unique source of nutrients, including omega-3 fatty acids, iodine, and vitamin D, that don’t appear together in the same form in land-based proteins. Chicken gives you protein efficiently. Fish gives you protein and a micronutrient profile that’s difficult to replicate.
For a full side-by-side, see our comparison of fish vs chicken.
How much fish should you eat per meal?
A standard portion runs 150 to 200g raw, which translates to roughly 27 to 40 grams of protein. That’s enough to anchor a meal without adding another significant protein source.
If you’re finding that a fish-based meal doesn’t hold you as long as you’d like, the issue usually isn’t protein quantity. It’s either portion size, the type of fish (leaner fish is less satiating than fattier fish even at the same protein level), or the overall balance of the meal. Pairing fish with fat and fibre changes how the meal sits. A plain cod fillet feels different at the table than the same fillet with olive oil, vegetables, and a starchy side.
How to choose fish based on your goals
The numbers narrow the field. What closes the decision is what you’ll actually cook.
For something easy and consistent, lean white fish like our Haddock Fillets or Breaded Haddock fit into almost any meal without competing with other flavours.
For something more satisfying that holds you longer, fatty fish like our Sustainable Blue Salmon changes how the meal sits. The extra fat alters satiety in a way that protein numbers alone don’t capture.
For speed, our Pacific White Shrimp cooks in under five minutes and makes it easier to follow through on a plan when time is tight.
For ideas on how to actually get all of this on a plate, the recipe collection is a good place to start.
The short answer
Most fish sits between 18 and 26 grams of protein per 100 grams. That’s enough. The differences between species matter at the margins but won’t make or break a diet. What makes the difference is choosing fish you actually want to eat, in portions that fill you up, and cooking it often enough that it becomes routine. When you do that, the numbers follow.
If you want to explore the full picture on seafood nutrition, our guide to how much protein in fish is the starting point and this guide to best fish for heart health and best fish for weight loss picks up from there.


