Cost per Gram of Protein: Whey, Chicken, Eggs, Tofu, Yogurt, and Lentils Compared
October 29, 2026
If you aim for 120 grams of protein a day, the food you choose can change your grocery bill a lot. The simplest way to compare is cost per gram of protein: price ÷ (package weight × protein fraction). A $60 tub of whey with 75 servings of 24 grams provides 1,800 grams of protein, so it costs $60 ÷ 1,800 = 3.3 cents per gram, or 83 cents for a 25-gram serving.
The prices below are illustrative and vary by store and region; plug in your local prices. Protein content is approximate for raw or dry weights as sold.
Skip the math and get your answer instantly:
Open the Protein Calculator →Comparison Table
The table uses assumed prices: chicken breast $4.00 per pound (about 23% protein raw), eggs $3.50 per dozen (6.3 g each), tofu $2.50 per 14 oz block (about 10% protein), plain Greek yogurt $5.50 per 32 oz (about 10 g per 100 g), milk $3.80 per gallon (3.4 g per 100 mL), dry lentils $1.80 per pound (25% protein), and a protein bar $2.50 with 20 g of protein.
| Food | Assumed price | Protein per package | Cost per gram | Cost for 25 g |
|---|---|---|---|---|
| Dry lentils | $1.80 per lb | 113 g | $0.016 | $0.40 |
| Milk | $3.80 per gallon | 129 g | $0.030 | $0.74 |
| Whey protein powder | $60 per 5 lb tub | 1,800 g | $0.033 | $0.83 |
| Chicken breast (raw) | $4.00 per lb | 104 g | $0.038 | $0.96 |
| Eggs | $3.50 per dozen | 76 g | $0.046 | $1.16 |
| Greek yogurt | $5.50 per 32 oz | 91 g | $0.061 | $1.52 |
| Tofu (firm) | $2.50 per 14 oz | 40 g | $0.063 | $1.57 |
| Protein bar | $2.50 each | 20 g | $0.125 | $3.13 |
What the Numbers Show
Plant staples like dry beans and lentils are the cheapest sources of protein per gram, though they are lower in some amino acids and have more carbohydrate. Milk, whey, and chicken form a middle tier, and eggs cost a bit more but are convenient and complete. Tofu and yogurt cost more per gram but are valued for versatility. Protein bars and ready-to-drink shakes are the most expensive by far: at 12.5 cents per gram, getting 120 grams a day would cost $15, compared with $2 to $5 using whole foods. Cost per gram says nothing about the other nutrition, taste, or convenience.
Hitting 120 Grams on a Budget
A sample day: 3 eggs (19 g), a cup of milk (8 g), 1.5 cups of cooked lentils (27 g), 150 g of cooked chicken (46 g), and a scoop of whey (24 g) provide 124 g of protein. Estimated cost at the prices above: eggs $0.88, milk $0.24, lentils $0.36 (about 0.2 pound dry), chicken $1.76 (about 200 g raw), and whey $0.83, for a total of about $4. Buying in bulk, choosing store brands, and watching sales on meat (freezing in portions) bring costs down further. Canned fish, cottage cheese, and peanut butter are other good-value sources.
Consider total nutrition: cheap protein sources like processed meats contribute sodium; a balanced approach includes variety.
Doing Your Own Comparison
Check the nutrition label for grams of protein per serving and the servings per container. Compute the total protein in the package and divide the price. Compare unit prices by gram of protein, not by weight of the food. Account for cooking: meat loses about 25% of its weight when cooked, but the protein stays, so the cost per cooked gram of protein is computed using the raw protein. A spreadsheet with your regular foods makes shopping decisions easier.
Frequently Asked Questions
How do I calculate the cost per gram of protein?
Divide the price by the total grams of protein in the package.
What are the cheapest protein sources?
Dry beans, lentils, milk, eggs, and bulk whey or chicken, depending on local prices.
Are protein bars cost-effective?
No. They are among the most expensive sources per gram.
Does cooking change the protein?
The weight changes with water loss, but the total protein stays the same.
Should I choose food by protein cost alone?
No. Consider nutrition, preferences, and variety.