High-protein foods include lean meat, fish, eggs, dairy, tofu, and legumes. The values vary considerably depending on whether a food is raw, cooked, drained, or dry. Below, you’ll find 34 protein sources, their protein content per 100 g and per typical serving, and an approximate number of calories per 1 g of protein.
The table shows values for ready-to-eat foods unless otherwise noted. Serving sizes are practical examples, and the numbers are rounded values for typical products; the brand and preparation method can affect them.
High-protein foods: a table of 34 sources
The “kcal / g of protein” column shows the calories in 100 g of a food divided by the amount of protein in 100 g. A lower result means the food provides more protein relative to its calorie content. This is a comparison, not an assessment of whether a food is healthy or should be a dietary staple.
| Food and preparation state | Protein per 100 g | Example serving | Protein per serving | kcal per 100 g | kcal / g of protein |
|---|---|---|---|---|---|
| Shrimp, cooked | about 24 g | 120 g | about 29 g | about 99 | about 4.1 |
| Cod, cooked | about 20 g | 150 g | about 30 g | about 89 | about 4.5 |
| Tuna in water, drained | about 26 g | 120 g | about 31 g | about 116 | about 4.5 |
| Turkey breast, roasted | about 29 g | 120 g | about 35 g | about 135 | about 4.7 |
| Egg whites | about 10.9 g | 100 g | about 11 g | about 52 | about 4.8 |
| Low-fat quark (Polish fresh cheese) | about 19 g | 100 g | about 19 g | about 99 | about 5.2 |
| Chicken breast, roasted | about 31 g | 120 g | about 37 g | about 165 | about 5.3 |
| Pork tenderloin, roasted | about 26 g | 120 g | about 31 g | about 143 | about 5.5 |
| Seitan | about 25 g | 100 g | about 25 g | about 141 | about 5.6 |
| Plain skyr | about 11 g | 150 g | about 17 g | about 63 | about 5.7 |
| Textured soy protein, dry | about 50 g | 50 g, before preparation | about 25 g | about 345 | about 6.9 |
| 2% Greek yogurt | about 10 g | 150 g | about 15 g | about 73 | about 7.3 |
| Light mozzarella | about 24 g | 60 g | about 14 g | about 180 | about 7.5 |
| Lean beef, cooked | about 26 g | 120 g | about 31 g | about 217 | about 8.3 |
| Sardines, drained | about 25 g | 90 g | about 23 g | about 208 | about 8.3 |
| Firm tofu | about 17 g | 150 g | about 26 g | about 144 | about 8.5 |
| Cottage cheese | about 11 g | 150 g | about 17 g | about 98 | about 8.9 |
| Salmon, roasted | about 22 g | 120 g | about 26 g | about 206 | about 9.4 |
| Tempeh | about 20.3 g | 100 g | about 20 g | about 193 | about 9.5 |
| Edamame, cooked | about 12 g | 150 g | about 18 g | about 121 | about 10.1 |
| Parmesan | about 38 g | 15 g | about 6 g | about 431 | about 11.3 |
| Whole egg, shell removed | about 12.6 g | 100 g, about 2 eggs | about 13 g | about 143 | about 11.3 |
| Lentils, cooked | about 9 g | 180 g | about 16 g | about 116 | about 12.9 |
| White beans, cooked | about 9.7 g | 150 g | about 15 g | about 139 | about 14.3 |
| Milk 2% | about 3.4 g | 250 ml, about 250 g | about 9 g | about 50 | about 14.7 |
| Chickpeas, cooked | about 8.9 g | 150 g | about 13 g | about 164 | about 18.4 |
| Pumpkin seeds | about 30 g | 20 g | about 6 g | about 559 | about 18.6 |
| Peanut butter | about 25 g | 15 g | about 4 g | about 588 | about 23.5 |
| Buckwheat groats, cooked | about 3.4 g | 180 g | about 6 g | about 92 | about 27.1 |
| Quinoa, cooked | about 4.4 g | 185 g | about 8 g | about 120 | about 27.3 |
| Almonds | about 21 g | 30 g | about 6 g | about 579 | about 27.6 |
| Whole wheat bread | about 9 g | 70 g, about 2 slices | about 6 g | about 250 | about 27.8 |
| Chia seeds | about 17 g | 15 g | about 3 g | about 486 | about 28.6 |
| Rolled oats, dry | about 13.2 g | 50 g | about 7 g | about 379 | about 28.7 |
The values in the table can help you compare foods, but pay attention to their preparation state. 100 g of dry textured soy protein is not the same as 100 g of the prepared product after soaking. Similarly, meat loses water during cooking, so a 100 g cooked serving usually contains more protein than 100 g of raw meat.
Which foods have the fewest calories per gram of protein?
If you want plenty of protein without too many calories, start with lean sources. In this comparison, shrimp have the lowest figure at about 4.1 kcal per 1 g of protein. Cod and tuna in water provide about 4.5 kcal per gram of protein, egg whites about 4.8, and roasted chicken breast about 5.3.
For lunch, you could choose fish or lean meat, and for breakfast, skyr or cottage cheese. A low figure doesn’t mean you have to choose only these foods, though. Fatty fish, nuts, and seeds have more calories, but they also provide other nutrients and can add variety to your meal plan.
How you prepare food matters: breading, oil, cream sauce, and mayonnaise all increase the calorie content of the whole dish. If you want to tailor your protein intake more closely to your goal, see how much protein to eat per day or use the protein calculator.
Which animal-based foods are good sources of protein?
Meat, fish, seafood, eggs, and dairy contain complete protein, meaning they provide the amino acids your body needs. Among the typical servings in the chart, lean meat, tuna, cod, and shrimp provide the most protein. Choose foods you genuinely enjoy, too—it’s easier to include them in your meals regularly.
- Meat: Chicken and turkey breast, as well as pork tenderloin, are practical choices for lunch, salads, or sandwiches. See our separate chicken breast calorie chart, too.
- Fish: Cod and tuna are leaner than salmon and sardines. They differ not only in calories, but also in fat content. Find more foods in our fish and seafood calorie chart.
- Eggs and dairy: Eggs, skyr, Greek yogurt, and cottage cheese are easy to add to everyday meals. Check the dairy and eggs calorie chart for the nutrition information on other foods.
Which plant-based foods are high in protein?
Plant-based protein sources include textured soy, tofu, tempeh, seitan, edamame, legumes, seeds, and nuts. Dry textured soy has about 50 g of protein per 100 g, but a typical serving before preparation is closer to 50 g. Tofu and cooked legumes have less protein per 100 g because they contain a lot of water.
Lentils, beans, and chickpeas provide both carbs and fiber, making them a good part of a filling meal. Seeds, almonds, and peanut butter are calorie-dense—it’s easy to eat quite a lot, even though a serving may provide only a little protein. You don’t need to avoid them; just account for the serving as part of your whole meal.
Seitan is made from wheat gluten, so it isn’t suitable if you have celiac disease or need to avoid gluten. On a plant-based diet, you can choose different protein sources throughout the day, such as legumes, tofu, grain products, and nuts.
How do you choose a serving and track protein throughout the day?
You don’t have to aim for a specific food from the chart at every meal. It’s more useful to know how much protein is in the serving you actually eat: 150 g of skyr has about 17 g, 120 g of roasted chicken breast about 37 g, and 180 g of cooked lentils about 16 g.
Here’s a simple approach:
- Choose a protein source that suits the meal—for example, eggs for breakfast, beans in soup, or fish for lunch.
- Estimate the serving and check whether you’re counting the food dry, raw, cooked, or drained.
- Add up the protein in the rest of the meal, too. A sandwich with cottage cheese or oatmeal with yogurt also provides protein, even if not always as much as a serving of meat.
- Look at the whole day, not one perfect meal.
If you want to learn how to count protein alongside carbs and fat, see our guide on how to calculate the macros in a meal. You can also use EatSee to track meals—the app estimates calories and macronutrients from a photo or short description. Results are estimates, so you’ll still need to use your judgment for a home-cooked lunch with extra sauce.
Do you need to choose only foods with the most protein?
No. The food with the most protein per 100 g won’t always be the best choice for you. Serving size, calories, taste, price, convenience, and how the food fits into your overall meal plan all matter, too.
Don’t base your whole menu on one source. Mix and match different foods, such as fish, dairy, eggs, legumes, and tofu, if you enjoy them. If you have kidney disease, are pregnant or breastfeeding, have a chronic condition, or have special dietary recommendations, discuss your protein intake with a doctor or dietitian.
FAQs
Which food has the most protein per 100 g?
Which foods are high in protein and low in calories?
Can plant-based foods provide plenty of protein?
How much protein is in 100 g of chicken breast?
Are nuts and seeds good sources of protein?
This article is for informational purposes only and does not replace advice from a doctor or dietitian. Written by the EatSee editorial team. Editorial policy.