Why protein per 100 calories, not protein per 100 grams
Most food charts rank protein foods by grams of protein per 100 g, which answers a different question to the one most people watching their weight are actually asking. Protein per 100 g tells you how protein-dense a food is by weight; it says nothing about what that protein costs you in calories. This page ranks by a second, complementary figure instead: grams of protein per 100 kcal, worked out as protein grams divided by calories, multiplied by 100. That number answers "how much protein do I get for my calorie budget", which is the more useful question once calories, not just weight, are something you are managing.
The gap between the two rankings can be large. Almonds carry 21.2 g of protein per 100 g, almost twice egg white's 10.9 g. Judge them by weight and almonds look like the better protein food. But almonds are calorie-dense at 579 kcal per 100 g, against egg white's 52 kcal, so per 100 kcal almonds hand back only about 3.7 g of protein while egg white hands back roughly 21.0 g, nearly six times as much. Neither food is wrong to eat; almonds bring healthy fats and minerals egg white does not. But if the question is protein per calorie spent, the two foods are nowhere near equivalent, and a plain protein-per-100g chart would never show you that.
How the filters and the table work
Pick a food group with the chips, or leave it on "All foods" to search the full list. The minimum-protein slider hides anything below a protein-per-100g floor you set, useful for ruling out foods that are technically high-ranking here only because they are extremely low in calories rather than genuinely protein-rich. "Rank by" switches the sort key across all three figures: protein per 100 kcal (the default and the fairest all-round measure), protein per 100 g (the traditional density figure), and fewest kcal per 100 g (calorie density on its own, with no protein weighting at all). The chart above the table always mirrors whichever ten rows currently sit at the top of the leaderboard.
The leaderboard's honest surprises
Run the default ranking and the top of the list is not the usual gym-bag suspects. Baked haddock leads at roughly 23.2 g of protein per 100 kcal, ahead of roasted turkey breast, tinned tuna in water, baked cod, lobster and cooked prawns, all clustered between about 21 and 22.3. Egg white sits close behind at about 21.0. Chicken breast, the default answer to "what's a high-protein food", ranks lower than every one of those, nearer 18.8 for the cooked version, simply because lean white fish, shellfish and turkey breast carry noticeably less fat per 100 g than chicken breast does, and fat is more than twice as calorie-dense as protein gram for gram. Less fat riding along with the protein means more of every calorie in the food is doing protein's job.
This is not an argument against chicken breast, which is still a genuinely good source by any measure and a cheap, versatile one. It is a reminder that "high protein" foods are not interchangeable once calories are the constraint, and that a food's reputation is not always the same as its numbers.
Why "fat-free" is not the whole story
A common shortcut is to assume a fat-free or low-fat label means a food is doing you calorie and protein favours at the same time. It often is not. Removing fat from a processed food takes away flavour and texture, and manufacturers frequently make up for it with added sugar or refined starch, so the calorie saving is smaller than the label implies and the protein content does not rise to match. Protein itself is closely linked to feeling full: reviews of high-protein diets consistently report that protein is the most satiating of the three macronutrients, more so than carbohydrate or fat at matched calories. A fat-free food that is low in protein can leave you hungrier sooner than a moderate-fat food that is genuinely protein-rich, even if the calorie counts look similar on paper. The lesson from this leaderboard is the same one nutrition labels teach when you actually read past the front of the pack: check the protein-per-calorie figure itself rather than trusting a fat-free claim to imply it.
Plant-based options, honestly
Seitan, made almost entirely from wheat gluten, is the one plant food that competes directly with the leaderboard's animal-protein leaders: about 75 g of protein per 100 g and 370 kcal give it roughly 20.3 g of protein per 100 kcal, inside the top ten of the whole database. Tofu and tempeh trail at around 10.8 and 10.6 respectively, still solid but noticeably behind lean fish, poultry and shellfish. Cooked legumes, lentils, chickpeas and black beans among them, sit lower again, typically between about 5 and 8 g of protein per 100 kcal. What legumes bring that meat and fish do not is fibre: lentils carry about 7.9 g of fibre per 100 g and chickpeas about 7.6 g, against zero in chicken breast, haddock or egg white. A protein-per-calorie leaderboard cannot capture that trade-off, which is exactly why it is one useful filter among several rather than the only figure worth knowing.
Reading the spotlight, the chart and the table
The card above the chart always reflects whichever food currently sits at rank one for your chosen filters and sort order, complete with its calories, protein and typical serving size. The chart repeats the top ten of that same ranking as bars, so you can compare the field at a glance before scrolling into the full table, which lists every food that passes your filters, ranked in full. The "Natural serving" column shows a typical real-world portion, a fillet, a tin, a handful, rather than the abstract 100 g figure used for ranking, and can be switched to ounces if you think in those. Values for drinks and alcohol are per 100 ml rather than per 100 g, which the table notes for each of those rows.
Where these numbers come from
Every row is a typical published figure from USDA FoodData Central, occasionally supplemented by other standard public nutrition references for items outside the USDA database, kept as a plain, generic version of each food rather than any particular brand or supermarket product. Cooking method matters: "cooked" and "raw" are tracked separately for anything where preparation changes the numbers meaningfully, and a real product on your shelf can vary from these figures by a noticeable margin depending on cut, brand and exact preparation. Treat this page as a reliable starting point for comparing foods against each other, not a substitute for reading the label on what you actually buy.
If you want to turn any of these figures into a personal daily protein target rather than just comparing foods to each other, the Protein Calculator works from your weight and training goal to a gram range of its own.
Questions people ask
What does "protein per 100 kcal" actually mean?
It is the grams of protein a food supplies for every 100 calories it costs you, calculated as (protein grams ÷ calories) × 100. It is a way of scoring protein content against its calorie price, rather than against its weight, which is what the more familiar protein-per-100g figure measures instead.
Which foods actually top this leaderboard?
Lean white fish and shellfish lead by a clear margin, baked haddock, tinned tuna, baked cod, lobster and cooked prawns are all clustered near the top, with roasted turkey breast and egg white close behind. All of them carry very little fat alongside their protein, so almost every calorie they contain is doing protein's job.
Why does chicken breast rank below fish and turkey here?
Chicken breast is still a strong protein source, but lean white fish, shellfish and turkey breast typically carry less fat per 100 g than chicken breast does. Since fat carries more than twice the calories of protein gram for gram, less fat riding alongside the same protein means a better protein-per-calorie score.
Are plant-based proteins competitive on this measure?
Seitan is, scoring inside the top ten because wheat gluten is almost pure protein. Tofu and tempeh follow at a moderate level, and cooked legumes such as lentils and chickpeas trail further behind lean fish and poultry on this specific measure, though they add fibre that meat and fish do not carry at all.
Does a "fat-free" label mean a food is high in protein per calorie?
Not reliably. Removing fat from a processed food often means sugar or refined starch is added back to restore flavour, so the calorie saving is smaller than expected and the protein figure does not necessarily improve at all. Checking the protein-per-calorie number directly is a better test than trusting a fat-free claim on the front of the pack.
What is the difference between kcal and kJ on this page?
Kcal (kilocalories, often just called "calories" on packaging) and kJ (kilojoules) both measure energy; 1 kcal equals 4.184 kJ. This page ranks and displays kcal throughout because that is what most food labels and fitness trackers use, but the conversion is exact if you need to work in kJ instead.
How much protein should I actually be eating?
That depends on your bodyweight and your training goal rather than on any single food, so this page deliberately stops at ranking foods rather than prescribing a target. The Protein Calculator turns your weight and goal into a daily gram range if you want a personal number to aim the foods above at.
This tool compares typical published nutrition figures for plain, generic foods; it is not a food composition database for any specific branded product, and it is not dietary or medical advice. Anyone managing a medical condition through diet should get individual guidance from a doctor or registered dietitian.