Skip to content Opens in a new tab
Food and Drink

Cheapest Protein Sources per Gram, 41 Foods Compared

Infographic by James Fortis on Reddit

Scatter chart titled Food's Cost per Gram of Protein vs. Protein Density (Adjusted for Digestibility), plotting 41 foods by grams of protein per 100 g against US dollar cost per 30 g of protein, with legumes such as pinto beans and lentils cheapest and ribeye steak and pork belly off the top of the chart
Infographic by James Fortis on Reddit. View the original.

This chart compares the cheapest protein sources per gram across 41 foods, using Walmart prices and adjusting for how well the body digests each protein. Dried pinto beans, split peas, lentils and chickpeas cost about $0.50 or less for 30 g of protein, while ribeye steak costs $5.76. Every food and its approximate cost is listed below.

Key points from the chart

  • The cheapest protein sources per gram on the chart are dried legumes: pinto beans, split peas, lentils and chickpeas all cost about $0.50 or less for 30 g of protein.
  • Whole eggs (about $0.60) and wheat spaghetti (about $0.52) are the cheapest non-legume foods on the chart.
  • Soybean is the most protein dense food shown, at about 33 g of protein per 100 g, and still costs only about $1.06 per 30 g of protein.
  • Ribeye steak ($5.76) and pork belly ($4.77) are so expensive per gram of protein that they run off the top of the chart.
  • Vegetables such as spinach, broccoli and Brussels sprouts are low in protein (about 2 to 3 g per 100 g), so their protein is expensive, at $3 to $4 per 30 g.

Cheapest protein sources per gram in text

Title: Food’s Cost per Gram of Protein vs. Protein Density (Adjusted for Digestibility). It is a scatter chart. Across the bottom is grams of protein per 100 grams of food (0 to 35). Up the side is cost in US dollars per 30 grams of protein ($0 to $4.00). Each dot is a food, coloured by group: Meats, Milks, Seafoods, Eggs, Legumes, Seeds, Nuts, Vegetables and Grains. Cheap, protein dense foods sit bottom right and expensive, low protein foods top left. Two meats are shown as arrows above the chart with their values printed: pork belly (9.0, 4.77) and ribeye steak (18.3, 5.76).

Notes printed on the chart: protein density may change significantly after cooking; pricing based on cheapest standard pack closest to 2 pounds. Sources: Walmart.com (NC), USDA FoodData Central, FAO.

Only the two arrows have printed values. The other figures below are our readings of the dot positions and are approximate, to within about 5 cents and half a gram. The list is sorted from cheapest to most expensive protein. To get the cost per single gram, divide the last column by 30.

Food Group Protein per 100 g (g) Cost per 30 g of protein (USD)
Pinto bean Legumes 20 0.34
Split pea Legumes 20 0.43
Lentil Legumes 20 0.45
Chickpea Legumes 18 0.50
Wheat spaghetti Grains 12.5 0.52
Whole egg Eggs 12.5 0.60
Peanut Legumes 25 0.62
Cow’s milk Milks 3 0.75
Brown rice Grains 6 0.86
Whole wheat bread Grains 10.5 0.99
Soybean Legumes 33 1.06
Soy milk Milks 3.5 1.13
Chicken breast Meats 21.5 1.42
Chicken wing Meats 17 1.43
Quinoa Grains 13 1.46
Almond Nuts 19 1.48
Oat Grains 11 1.53
Tilapia Seafoods 19.5 1.60
Egg white Eggs 11 1.63
Canned tuna Seafoods 14.5 1.74
Sweet pea Legumes 5 1.82
80% ground beef Meats 17 1.88
Pork chop Meats 20 1.99
Turkey Meats 18.5 2.12
Russet potato Vegetables 2 2.28
Cashew Nuts 15.5 2.28
Flaxseed Seeds 14.5 2.29
Pollock Seafoods 12 2.31
Pistachio Nuts 17.5 2.54
Chia seed Seeds 13 2.69
Salmon Seafoods 20 2.91
Walnut Nuts 13 3.03
Broccoli Vegetables 2.5 3.07
Hemp seed Seeds 25 3.14
Shrimp Seafoods 18 3.25
Corn on the cob Vegetables 3 3.60
Rye bread Grains 7.5 3.61
Spinach Vegetables 2.5 3.75
Brussels sprout Vegetables 3 3.93
Pork belly Meats 9.0 (printed) 4.77 (printed)
Ribeye steak Meats 18.3 (printed) 5.76 (printed)

How the chart was made

The chart was posted to Reddit’s r/dataisbeautiful by u/James_Fortis, who listed the sources as Walmart for pricing (North Carolina region), USDA FoodData Central for protein density and FAO/WHO for digestibility, with Microsoft Excel as the tool [1]. The creator said this version updated an earlier one after feedback: it was adjusted for digestibility, a few foods were added and two dots were changed to arrows [1].

Adjusting for digestibility means the cost reflects protein the body can use rather than all the protein listed on a label. The FAO explains that the Protein Digestibility Corrected Amino Acid Score (PDCAAS) has been used widely since 1989 to evaluate protein quality, and that a 2011 FAO expert consultation reviewed its limitations and set out a newer method, the Digestible Indispensable Amino Acid Score (DIAAS) [3]. In a reply on Reddit, the creator said the digestibility figures in the sources they checked were within about 2 to 3% of each other [1].

Protein in food, from MedlinePlus

MedlinePlus, from the US National Library of Medicine, says protein is found in animal sources such as meats, milk, fish and eggs, and in plant sources such as soy, beans, legumes, nut butters and some grains, and that you do not need to eat animal products to get all the protein you need [2]. It lists pinto beans, black beans, kidney beans, lentils, split peas and garbanzo beans (chickpeas) among good sources of protein [2], the same foods that sit cheapest on this chart.

MedlinePlus gives the daily recommended protein intake for healthy adults as 10% to 35% of total calorie needs, and notes that nuts are high in fat [2]. The chart compares price only. It says nothing about fat, fibre or other nutrients, and it is not a guide to what anyone should eat.

Notes on this infographic

  • Prices are Walmart prices for North Carolina at the time the chart was made (it was posted in 2024). They will differ by shop, region and date, so treat the ranking as a snapshot.
  • Protein values are for foods as bought. The chart itself warns that protein density can change significantly after cooking, for example when dried beans or grains absorb water.
  • The title says cost per gram of protein, but the axis shows cost per 30 grams of protein.
  • Peanut is grouped with the legumes, which is botanically correct even though it is often thought of as a nut.

Questions about the cheapest protein sources

What is the cheapest source of protein per gram?

On this chart it is pinto beans, at about $0.34 for 30 g of protein, or a little over 1 cent per gram. Split peas, lentils and chickpeas are close behind. These are Walmart prices in North Carolina, so the order may differ elsewhere [1].

Are eggs a cheap protein source?

On this chart, yes. Whole eggs cost about $0.60 per 30 g of protein, the cheapest of any animal food shown and cheaper than chicken breast (about $1.42). Egg whites bought on their own cost much more, about $1.63.

How much is a gram of protein?

It depends on the food. On this chart the cost of 30 g of protein ranges from about $0.34 for pinto beans to $5.76 for ribeye steak, roughly 1 cent to 19 cents per gram. In terms of energy, MedlinePlus says one gram of protein supplies 4 calories [2].

Sources

  1. u/James_Fortis, [OC] Food’s Cost per Gram of Protein vs. Protein Density (Adjusted for Digestibility), r/dataisbeautiful, including the creator’s source list and replies.
  2. MedlinePlus, US National Library of Medicine, Protein in diet.
  3. FAO, Dietary protein quality evaluation in human nutrition, FAO Food and Nutrition Paper 92 (2013).

Last reviewed 29 October 2026

Embed this infographic

Use this code only if the creator has permitted your intended use. Providing embed code does not grant a licence. Keep the creator credit and the link to the text version and sources. How you can use these infographics.

Made this infographic, or spotted a mistake? Tell us and we will put it right.

About this page

You can rely on this page: reviewed 29 October 2026, with the figures checked against their sources and every source listed.

How we review infographics
Creator

James Fortis on Reddit

2 infographics here

James Fortis is an electrical engineer working in renewable energy who also holds a graduate degree in nutrition.

See all by James FortisSee their Reddit profile
Topic

Food and Drink

More in this topic
For creators

Get your infographic listed

A permanent page like this one for your graphic, with your name and a link to your site. $29, paid once.

Submit an infographic

Made an infographic?

Give it a permanent page where people looking for your subject find it, with your name and a link to your site. Content marketers, agencies, designers and researchers all list here.