A food can be inexpensive per kilogram but expensive as a source of protein. Another product may cost more at checkout yet provide more protein for each euro or dollar spent.
Cost per gram of protein is a way to compare how much you pay for the protein supplied by different foods.
It is particularly useful when shopping on a budget, choosing between package sizes or comparing animal and plant protein sources.
However, this calculation measures only one aspect of food value. It does not measure overall nutritional quality, digestibility, convenience or whether a food fits your dietary needs.
The formula
The basic calculation is:
Cost per gram of protein = price of the food ÷ total grams of protein in the food
If a package costs €3.00 and contains 60 g of protein:
€3.00 ÷ 60 = €0.05 per gram of protein.
You can also express the result as cost per 25 g of protein:
Cost per 25 g protein = cost per gram × 25
In this example:
€0.05 × 25 = €1.25 for 25 g of protein.
The 25 g figure is simply a convenient comparison unit, not a universal recommended serving or protein target.
Find the total protein in a package
Most EU nutrition labels report protein per 100 g or 100 ml. This makes the total protein calculation straightforward.
Total protein = protein per 100 g × package weight in grams ÷ 100
Suppose a 400 g package of tofu contains 13 g of protein per 100 g.
13 × 400 ÷ 100 = 52 g protein in the package.
If the tofu costs €2.60:
€2.60 ÷ 52 = €0.05 per gram of protein.
The European Commission explains the EU framework for nutrition declarations, including the use of values per 100 g or 100 ml. European Commission — Nutrition labelling.
Example: comparing six protein foods
The following prices and nutrition values are illustrative, not current supermarket offers. They demonstrate the method rather than ranking real brands.
| Food | Pack size | Pack price | Protein per 100 g | Protein per pack | Cost per 25 g protein |
|---|---|---|---|---|---|
| Chicken breast, raw | 500 g | €5.00 | 23 g | 115 g | €1.09 |
| Firm tofu | 400 g | €2.60 | 13 g | 52 g | €1.25 |
| Dry lentils | 500 g | €1.80 | 25 g | 125 g | €0.36 |
| Eggs, edible portion | 300 g | €2.40 | 13 g | 39 g | €1.54 |
| Plain skyr | 500 g | €1.70 | 11 g | 55 g | €0.77 |
| Canned tuna, drained | 140 g | €1.80 | 25 g | 35 g | €1.29 |
Calculations are based on the stated example assumptions.
For chicken:
23 × 500 ÷ 100 = 115 g protein.
€5.00 ÷ 115 × 25 = €1.09 per 25 g protein.
For lentils:
25 × 500 ÷ 100 = 125 g protein.
€1.80 ÷ 125 × 25 = €0.36 per 25 g protein.
This does not mean that dry lentils and cooked chicken are interchangeable in a meal. The lentils need cooking, their volume and water content change, and their overall nutritional profiles differ.
Compare the edible amount, not just the package weight
The simplest calculation assumes that the entire stated package weight is edible and that the protein value refers to that same weight.
This is not always true.
Examples include:
- canned fish with liquid that is discarded;
- beans sold in brine;
- meat containing bones;
- eggs sold by shell-on weight;
- produce with inedible parts.
If a product contains 200 g in total but only 140 g is eaten after draining, the relevant quantity may be 140 g rather than 200 g.
Example: canned tuna
Suppose a can costs €1.80, weighs 200 g including liquid and provides 140 g of drained tuna.
The label or verified food entry indicates 25 g protein per 100 g of drained tuna.
Total edible protein:
25 × 140 ÷ 100 = 35 g.
Cost per gram:
€1.80 ÷ 35 = €0.0514.
Cost per 25 g:
€0.0514 × 25 = €1.29.
Using 200 g instead of the 140 g drained amount would incorrectly overstate the protein available to eat.
Always check whether the nutrition declaration describes the drained food, the whole contents or another stated reference.
Raw and cooked weights must match
Cooking changes the water content and weight of many foods.
A 100 g portion of dry lentils and a 100 g portion of cooked lentils do not contain the same amount of protein.
Similarly, cooked meat may have more protein per 100 g than the raw meat because water has been lost during cooking.
For cost comparisons, use one consistent approach:
- Calculate protein from the raw or dry ingredient quantity and its matching nutrition values.
- Calculate the total protein in the batch.
- Divide the batch into the portions actually eaten.
For example, 200 g of dry lentils at an illustrative 25 g protein per 100 g provides:
200 × 25 ÷ 100 = 50 g protein before preparation-related losses.
If the lentils absorb water and the cooked batch weighs 500 g, the batch does not suddenly contain 125 g protein. Water changes the weight, not the amount of protein added.
Food composition data can be checked using USDA FoodData Central, but the database entry must match the food and its preparation state.
What if you do not eat the whole package?
Cost per gram of protein is usually calculated from the full purchase.
If part of the food is discarded or spoils, the effective cost of the protein actually consumed rises.
Suppose you buy a 500 g product for €4.00. It contains 20 g protein per 100 g, giving 100 g protein in the package.
The theoretical cost is:
€4.00 ÷ 100 = €0.04 per gram.
If you consume only 400 g and discard 100 g, you obtain:
20 × 400 ÷ 100 = 80 g protein.
Effective cost:
€4.00 ÷ 80 = €0.05 per gram.
That is a 25% increase in effective cost per gram compared with the full-use scenario.
This distinction matters for perishable foods, unusually large packs and products purchased only because of a discount.
Calculate the protein cost of a recipe
You can apply the same method to a complete dish.
Consider a fictional lentil and chicken meal.
| Ingredient | Cost | Protein contributed |
|---|---|---|
| Chicken | €3.00 | 69 g |
| Dry lentils | €0.72 | 50 g |
| Vegetables | €1.20 | 5 g |
| Oil and seasonings | €0.30 | 0 g |
| Total | €5.22 | 124 g |
The protein figures are example inputs and should be replaced with values for the actual ingredients.
Cost per gram of protein:
€5.22 ÷ 124 = €0.0421.
Cost per 25 g protein:
€0.0421 × 25 = €1.05.
If the recipe makes four equal portions:
- cost per portion: €5.22 ÷ 4 = €1.31;
- protein per portion: 124 ÷ 4 = 31 g.
This is useful when comparing home-cooked meals, but remember that a meal also provides energy, fibre, vitamins, minerals and other nutrients.
Why the cheapest protein is not always the best choice
A low cost per gram of protein does not automatically make a food the best purchase.
Consider the following factors.
Protein quality and variety
Foods differ in amino acid composition and digestibility. A varied diet can combine different protein sources to meet nutritional needs.
The European Food Safety Authority has established dietary reference values for protein, including a population reference intake of 0.83 g per kilogram of body weight per day for healthy adults. This is a population reference, not a universal target for every person. EFSA — Dietary Reference Values for protein.
Other nutrients
Lentils contribute fibre. Fish may provide particular fatty acids and micronutrients. Dairy products can contribute calcium, while fortified alternatives may provide some of the same nutrients.
A cost-per-protein calculation ignores these differences.
Preparation time
Dry beans may be inexpensive, but require soaking or cooking. Ready-to-eat foods can cost more while saving time.
Storage and waste
A large discounted pack is not economical if much of it spoils before you can use it.
Dietary restrictions
Allergies, intolerances, food preferences and religious or ethical restrictions can rule out otherwise inexpensive options.
A practical shopping workflow
When comparing two products:
- Record the shelf price.
- Find the net edible quantity.
- Read protein per 100 g from the label.
- Calculate total edible protein.
- Divide the price by the protein grams.
- Optionally multiply by 25 to compare a consistent protein amount.
- Consider cooking, storage, waste and the rest of the food's nutritional value.
For packaged products, prefer the current label over generic database estimates.
For foods without a nutrition label, use a suitable food composition entry and make clear whether it refers to raw, cooked, drained or another form.
Common calculation mistakes
Comparing dry and cooked values: use nutrition data for the same state as the weighed quantity.
Ignoring drained weight: do not count liquid that you discard as edible food.
Using shell-on egg weight: use the edible portion when the protein value is stated per 100 g edible egg.
Ignoring food waste: the effective cost rises when purchased food is thrown away.
Comparing price per kilogram only: two foods with the same price per kilogram may supply very different amounts of protein.
Treating cost per protein as total nutritional value: it is one metric, not a complete measure of food quality.
Is cost per gram of protein useful for meal planning?
Yes, especially when you want to compare alternative ingredients within a grocery budget.
It helps answer a narrow but practical question:
How much am I paying for the protein I can actually eat?
Use it alongside price per edible serving, overall food quality, preparation effort and the likelihood that you will use the entire product.
