Which foods have the most protein for the fewest calories?
Shrimp, canned light tuna, turkey breast, cod and egg whites lead, with 21 to 24 g of protein per 100 calories. Grilled chicken breast has about 20 g, and nonfat Greek yogurt and 1% cottage cheese about 17. Peanut butter and almonds have under 4, less than a plain bagel (USDA).
Ask people for a high-protein food and you’ll hear chicken, steak, eggs, peanut butter and nuts. Two of those five barely count once you look at calories. “High protein” on a label usually means grams per serving, which says nothing about how much else came with them. When calories matter, the useful number is protein per 100 calories.
We’d rank foods by protein per 100 calories whenever you’re eating less, and by protein per serving when your appetite is small. Both point to the same short list: seafood, lean poultry, egg whites and strained or low-fat dairy.
Protein per 100 calories is miles per gallon for food. Two cars can have the same size tank and get very different distances out of it.
The ranking
| Food | Serving | Protein | Calories | Per 100 calories |
|---|---|---|---|---|
| Shrimp, cooked | 3 oz | 20.4 g | 84 | 24.2 g |
| Canned light tuna in water | 3 oz | 16.5 g | 73 | 22.6 g |
| Whey powder | 1 scoop | 25.0 g | 113 | 22.2 g |
| Turkey breast, roasted | 3 oz | 25.1 g | 116 | 21.7 g |
| Cod, cooked | 3 oz | 19.4 g | 89 | 21.7 g |
| Egg white | 1 large | 3.6 g | 17 | 21.0 g |
| Chicken breast, grilled | 3 oz | 25.9 g | 128 | 20.2 g |
| Pork tenderloin, roasted | 3 oz | 22.3 g | 122 | 18.3 g |
| Nonfat Greek yogurt | 5.3 oz | 15.3 g | 88 | 17.3 g |
| 1% cottage cheese | 1/2 cup | 14.0 g | 81 | 17.2 g |
| Seitan strips (branded) | 2 oz | 15 g | 90 | 16.7 g |
| Top sirloin, lean | 3 oz | 25.0 g | 151 | 16.5 g |
| Firm tofu | 1/2 cup | 21.8 g | 181 | 12.0 g |
| Salmon, farmed | 3 oz | 18.8 g | 175 | 10.7 g |
| Whole egg | 1 large | 6.3 g | 72 | 8.8 g |
| Lentils, cooked | 1 cup | 17.9 g | 230 | 7.8 g |
| A plain bagel | 1 medium | 11.1 g | 277 | 4.0 g |
| Peanut butter | 2 tbsp | 7.1 g | 191 | 3.7 g |
| Almonds | 1 oz | 6.0 g | 164 | 3.7 g |
From USDA FoodData Central. The full table of about 45 foods, with filters for plant, dairy and animal foods, is in the per-calorie calculator.

Four surprises in the table
- Cod has twice the protein per calorie of farmed salmon (21.7 g against 10.7 g). Salmon is great food, with a lot of its calories as fat.
- 1% cottage cheese beats 2% by a lot (17.2 g against 12.8 g). In USDA’s records the 2% version also has less protein per gram, which is odd, so check your label.
- Greek yogurt has three times the protein of regular yogurt per 100 calories (17.3 g against 5.7 g for plain whole milk yogurt).
- A bagel beats peanut butter. At 4.0 g per 100 calories against 3.7 g, a plain bagel has more protein per calorie than the spread people put on it for protein. See the peanut butter myth.
Two records that disagree
USDA has two records for canned light tuna in water, at 19.4 g and 25.5 g of protein per 100 g. Per calorie, both come out at about 22 g, so the ranking holds. “Firm” tofu also has two records, at 17.3 g and 9.04 g per 100 g, both about 12 g per 100 calories. Tofu labels vary a lot by brand, so the label on your pack wins.
Which number to use when
- Eating less to lose weight: protein per 100 calories. Every meal needs one food at 15 g or more. See why you can’t hit your protein on 1,200 calories.
- Small appetite, on a GLP-1: protein per bite. See what to eat on Ozempic when you’re not hungry.
- On a budget: cost per 25 g. See the cheapest way to get protein.
Think you know the ranking now? The Higher or Lower game in the per-calorie calculator gives you two foods at a time and asks which has more protein per calorie.
2 sources
- USDA FoodData Central, SR Legacy records 175180 (shrimp), 173709 (canned light tuna), 173180 (whey), 174516 (turkey breast), 171956 (cod), 172183 (egg white), 171534 (grilled chicken breast), 168250 (pork tenderloin), 170894 (nonfat Greek yogurt), 173417 (1% cottage cheese), 172182 (2% cottage cheese), 174054 (top sirloin), 172475 (firm tofu), 175168 (salmon), 171287 (egg), 172421 (lentils), 171284 (yogurt), 174899 (bagel), 174266 (peanut butter), 170567 (almonds) and 168917 (quinoa)fdc.nal.usda.gov
- Sweet Earth seitan strips, branded record 2495506, USDA FoodData Centralfdc.nal.usda.gov