The Protein Swap Lab

Same protein.
A very different plate.

Peanut butter, yoghurt, chicken. They all contain protein.
See how much food — and how many calories — comes with it.

Real labels. Open calculations.

Search 30,168 public catalogue records.
Add your own. Save what works.

Check the source labels

Behind the numbers

A fairer comparison starts
with the same question.

“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.

Same protein

Food amount = chosen protein ÷ protein per 100 × 100. Calories = food amount × kcal per 100 ÷ 100.

Same calories

Food amount = chosen calories ÷ kcal per 100 × 100. Protein = food amount × protein per 100 ÷ 100.

Keep the preparation state

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.

What does 25 g of protein look like?

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.

Source data, in the open.

12 selected products · Tesco Ireland listings · checked 11 September 2026

Back to the lab ↑

Search uses a 30,168-record public catalogue derived from Open Food Facts. These are catalogue records, not 30,168 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 12 separately checked Tesco examples below are starting comparisons, not a market-wide sample. Check your packet for current values.

Original label values per 100 g. Fibre shown as “—” was not provided.
Food & sourceBasiskcalProtein (g)Fibre (g)
Harry’s Smooth Peanut ButterAs sold60925.47.1
Tesco Finest 0% Greek YoghurtAs sold659.80
Tesco Irish Chicken BreastCooked15330.20
Tofoo Naked TofuAs sold14516.51.9
Tesco 0% Greek Style YoghurtAs sold567.30
Tesco Fat Free Cottage CheeseAs sold5810.20
Glenisk Fat Free Cottage CheeseAs sold8215.5
Yutaka Silken TofuAs sold577.41
Biona Red Kidney BeansDrained1507.54.9
Shamrock Whole AlmondsAs sold62721.17.4
Tesco Tuna in Spring WaterDrained10924.90
Acti-Snack Peanut Butter GranolaAs sold480225.7

Using this in a story?

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.

A few useful limits.

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.

Before you compare

Can I compare my own food labels?

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.

Does a saved comparison update automatically?

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.

What does protein per 100 calories mean?

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.