Same protein
Food amount = chosen protein ÷ protein per 100 × 100. Calories = food amount × kcal per 100 ÷ 100.
The Protein Swap Lab
Peanut butter, yoghurt, chicken. They all contain protein.
See how much food — and how many calories — comes with it.
Search 30,219 public catalogue records.
Add your own. Save what works.
Equal protein does not mean equal nutrition. Fibre, taste, allergies and preparation still matter. Large calculated portions are maths, not suggested servings.
No account. Calculations stay in your browser.
Save a comparison on this device to restore it when you return. For the bigger picture, use the fat-loss starting guide or the muscle-gain guide.
Want to understand the ingredient list too? See processing Levels 1–4 with examples. FoodSussed is coming soon: watch its scanning and food-logging demo.
Behind the numbers
“High protein” on a packet tells you very little about the portion you will actually eat. This food comparison calculator puts the label numbers on the same basis, then shows the weight needed to get there.
Pick a few foods, choose a protein amount or calorie amount, and compare. “My portions” lets each food keep a different serving size. Nothing here sets a personal intake target.
Food amount = chosen protein ÷ protein per 100 × 100. Calories = food amount × kcal per 100 ÷ 100.
Food amount = chosen calories ÷ kcal per 100 × 100. Protein = food amount × protein per 100 ÷ 100.
Cooked chicken means cooked weight. Drained tuna means drained weight. These are label comparisons, not conversions between raw and cooked food. Oils, sauces and other additions are not included.
From the labels below, 25 g of protein works out at about 98 g of Harry’s peanut butter and 599 kcal, versus 255 g of Tesco Finest 0% Greek yoghurt and 166 kcal. Using the unrounded values, that is a difference of about 434 kcal for the same listed protein. It does not make either food good or bad: they do different jobs on a plate. The peanut butter also supplies fibre and fat.
Calculated from the per-100 g labels checked on 11 September 2026. Values rounded after calculation. These are selected products, not averages for peanut butter or yoghurt.
Every food below is sold in Irish supermarkets. The ranking is by protein per 100 calories, not per 100 grams, because a calorie budget is what actually limits how much you can eat in a day. A food can look protein-rich per 100g and still be a poor use of your calories.
| # | Food | Protein / 100 kcal | Protein / 100 g | Calories / 100 g |
|---|---|---|---|---|
| 1 | Tinned tuna (in spring water) | 23.1g | 25g | 108 kcal |
| 2 | Chicken breast | 20.9g | 23g | 110 kcal |
| 3 | Low-fat cottage cheese | 16.7g | 12g | 72 kcal |
| 4 | Tinned pink salmon | 15.5g | 22g | 142 kcal |
| 5 | Lean beef mince (5% fat) | 15.3g | 21g | 137 kcal |
| 6 | Turkey mince | 14g | 20g | 143 kcal |
| 7 | Natural Greek-style yoghurt | 9.3g | 9g | 97 kcal |
| 8 | Large eggs | 8.7g | 12.5g | 143 kcal |
| 9 | Red split lentils (dried) | 7.3g | 24g | 330 kcal |
| 10 | Tinned chickpeas | 5.8g | 7g | 120 kcal |
| 11 | Whole milk | 5.2g | 3.4g | 66 kcal |
| 12 | Porridge oats | 3g | 11g | 372 kcal |
Figures come from the checked foods behind this tool. The full comparison runs against a 30,219-record public food catalogue, and every source is linked in the export.
13 selected products · Tesco Ireland listings · checked 11 and 21 September 2026
Search uses a 30,219-record public catalogue derived from Open Food Facts. These are catalogue records, not 30,219 unique foods verified on Irish shelves. Each retains its source URL, capture date, per-100 g or per-100 ml basis and preparation state. Missing fibre stays unknown. The full database downloads only when you search; your search terms stay in this browser.
Database credit: Open Food Facts contributors. The public derivative is available under the Open Database License and Database Contents License. Download the complete source dataset. The 13 separately checked Tesco examples below are starting comparisons, not a market-wide sample. Check your packet for current values.
| Food & source | Basis | kcal | Protein (g) | Fibre (g) |
|---|---|---|---|---|
| Harry’s Smooth Peanut Butter | As sold | 609 | 25.4 | 7.1 |
| Tesco Finest 0% Greek Yoghurt | As sold | 65 | 9.8 | 0 |
| Tesco Finest Greek Yoghurt (full fat) | As sold | 132 | 6.1 | 0 |
| Tesco Irish Chicken Breast | Cooked | 153 | 30.2 | 0 |
| Tofoo Naked Tofu | As sold | 145 | 16.5 | 1.9 |
| Tesco 0% Greek Style Yoghurt | As sold | 56 | 7.3 | 0 |
| Tesco Fat Free Cottage Cheese | As sold | 58 | 10.2 | 0 |
| Glenisk Fat Free Cottage Cheese | As sold | 82 | 15.5 | — |
| Yutaka Silken Tofu | As sold | 57 | 7.4 | 1 |
| Biona Red Kidney Beans | Drained | 150 | 7.5 | 4.9 |
| Shamrock Whole Almonds | As sold | 627 | 21.1 | 7.4 |
| Tesco Tuna in Spring Water | Drained | 109 | 24.9 | 0 |
| Acti-Snack Peanut Butter Granola | As sold | 480 | 22 | 5.7 |
Download the chart and CSV from your comparison. The CSV includes the source URLs, original label values, calculation basis and date checked. Link readers to this page so they can reproduce it.
Describe results as comparisons of these selected labels. Do not present this sample as the healthiest foods, a clinical finding, or a market-wide ranking. Custom entries are supplied by the person making the comparison and have not been verified.
Listed protein is not a measure of digestibility or amino-acid quality. The tool does not rate satiety or overall health. Missing fibre is unknown, not zero. Display values are rounded; calculations use the unrounded numbers.
The starting portions are editable examples, not serving advice. No raw-to-cooked conversion is attempted. Always check the pack for ingredients and allergens; the source filter is not an allergy filter.
Yes. Open “Add your own label” and enter calories and protein on the same per-100 g or per-100 ml basis. A liquid stays in millilitres; the tool does not assume that a millilitre weighs a gram. These entries are visibly marked as your own labels.
Saving keeps the selection and custom labels in this browser until you reset it or clear browser data. A shared link stores the full label snapshot used in the comparison, including the date checked, so it stays reproducible if the source table changes. Shared snapshots are marked as supplied by the link, not re-verified by us.
It is protein per 100 g divided by calories per 100 g, multiplied by 100. It lets you compare the protein in an equal calorie amount. It does not account for the other nutrients or how much you enjoy a food.