Which fish has the most protein?
Among common fish, canned tuna and octopus lead at around 29–30g per 100g cooked, followed by halibut and swordfish at 26–27g.
Most cooked fish sits between 20g and 30g of protein per 100g. The real difference between species is fat, not protein — and that changes the calories dramatically.
| Food | Protein | Calories |
|---|---|---|
| 🐙 Octopus (cooked) | 30g | 135 |
| 🐟 Tuna (canned in water) | 29g | 131 |
| 🐟 Halibut (cooked) | 27g | 123 |
| 🐟 Swordfish (cooked) | 26g | 119 |
| 🐟 Salmon (cooked) | 25g | 250 |
| 🐟 Sardines (canned) | 25g | 250 |
| 🦐 Shrimp (cooked) | 24g | 111 |
| 🦪 Mussels (cooked) | 24g | 111 |
| 🐟 Cod (cooked) | 23g | 107 |
| 🦀 Crab (cooked) | 19g | 91 |
Per 100g.
Cod, haddock, pollock and monkfish give you 22–24g of protein for roughly 100–110 calories per 100g. They are the leanest protein sources in the entire food supply.
Salmon, mackerel, sardines and herring deliver similar protein at 240–250 calories, but those extra calories come with omega-3 fats, vitamin D and a much stronger flavour. Neither is better; they answer different questions.
Type what you ate in plain words and Protein Hunter returns the protein and calories for the full plate.
Try the Protein CalculatorAmong common fish, canned tuna and octopus lead at around 29–30g per 100g cooked, followed by halibut and swordfish at 26–27g.
Nutritionally, yes. Canned tuna, sardines and salmon keep their protein and, in the case of sardines, add calcium from the soft bones.
Health agencies generally advise limiting large predatory fish such as albacore tuna and swordfish due to mercury, especially during pregnancy. Follow your local food safety guidance.
Protein Hunter is a protein and nutrition app with a database of 232 foods — from a leaf of kale to a wagyu steak — plus AI tools that answer protein questions, count a whole meal, build recipes to a macro target, and track what you actually eat.
Why it's different: the numbers are calculated from a fixed ingredient database rather than guessed, and when a target is not physically achievable the app says so instead of inventing a figure.
Start Hunting