Unit Price Comparison

Shelf labels quote one product per 100 g and the next per kilogram, so the bigger box only looks like the better deal. Enter the sizes and prices and everything is restated in the same unit, at which point the multibuy often loses.

How to use it

Four options can sit side by side, each with its own size, price and unit, so grams can be compared against kilograms and millilitres against litres.

  1. Enter price and size for each Mixed units are fine — grams against kilograms, millilitres against litres.
  2. Handle multibuys honestly For "3 for 2", enter the real total price and put 3 in the packs field.
  3. Read the money, not the percentage "18% cheaper" tells you nothing standing in an aisle. The cash saving does.
Full instructions
In depth

Working out what the bigger box really costs

Why shelf labels make honest comparison difficult, how to enter up to four products with mixed units and multibuy deals, how to read the result in money rather than percentages, and the cases where the cheapest option is still the wrong one to buy.

Screenshot: Same unit, honest comparison
Same unit, honest comparison as it appears when the page opens.

Why shelf labels fail at their own job

Supermarkets are required in many countries to print a unit price on the shelf label. The idea is good: show the cost per kilogram or per litre so shoppers can compare sizes at a glance. The problem is that the labels are not consistent. One product quotes per 100 grams. The one next to it quotes per kilogram. A third quotes per 100 millilitres even though it is sold by weight.

When the units do not match, the shelf label defeats its own purpose. You end up doing mental arithmetic in the aisle, dividing one number by ten while trying to remember the other. This page does that arithmetic for you, puts everything in the same unit, and shows the answer as money you would save or lose.

The problem gets worse during promotions. A multibuy deal changes the effective price, but the shelf label still shows the regular unit price. You are left comparing a label that is wrong with a label that uses a different unit. Both numbers are on the shelf, and neither one is the number you actually need.

Entering the first two options

Each option has four fields. Option 1 price and Option 2 price take the price you would pay at the till. Type the total, not the price per unit. Size is the quantity in the packet - 500 for a 500 gram bag, for example. Unit is the measure printed on the packet: grams, kilograms, millilitres, litres, ounces, pounds, each, sheets, or washes. Packs in the deal defaults to 1 and is there for multibuy offers.

The units do not have to match. You can enter one product in grams and another in kilograms. The page converts them to a common unit before comparing, so mixing is not a source of error - it is the whole point.

The page opens with sample values already filled in: 2.50 for 500 grams and 4.20 for 1 kilogram. These are there to show how the comparison works. Change them to the real prices you are looking at.

Adding a third and fourth option

Option 3 price and Option 4 price are marked as optional. Leave them blank and the page compares only the first two. Fill them in and it ranks all four at once.

This is useful when a shop stocks three sizes of the same product plus a multibuy deal on the smallest. Entering all four shows which one actually costs the least per unit, which is not always the answer you expect. The large tub often wins, but not every time.

Handling multibuys honestly

A sign that says three for the price of two is not a price - it is a rule. To enter it correctly, work out what you would pay at the till for the three packs and type that into the price field. Then put 3 in the Packs in the deal field. The page divides the total cost by the total amount of product across all three packs, which gives the true unit price of the deal.

Buy one get one free works the same way. The price is what you hand over at the till for one pack. Packs in the deal is 2, because you walk out with two. The page treats the free pack as part of the cost of the paid one, which is the only honest way to compare it with a single large pack.

Multibuys often look cheaper but are not. A three-for-two offer on a 250 gram bag gives you 750 grams for the price of two bags. If a single 750 gram bag of the same product is on the next shelf at a lower total price, the deal has cost you more per gram. This happens more often than people think, which is exactly why the offers work.

Reading the result

The comparison puts every option into the same unit and sorts them by cost per unit. The cheapest is named, and the saving is shown both as a percentage and as an amount of money. The money figure is the one that matters in practice. Knowing that one brand is eighteen per cent cheaper tells you nothing while you are standing in a shop. Knowing it saves 37 pence on the same weight tells you whether bending down to the bottom shelf is worth it.

The comparison unit is set by the first option you entered. If you put the first option in grams, everything is compared in grams. If you put it in kilograms, the comparison is in kilograms. This keeps the numbers in the range you are used to seeing on that kind of product.

The Currency dropdown changes the currency symbol shown in the result. It does not convert between currencies - it just labels the output so the numbers make sense where you are shopping.

A worked example: three sizes of olive oil

The supermarket has three bottles of the same olive oil. A 250 ml bottle for 2.49. A 500 ml bottle for 4.29. A 1 litre bottle for 7.99. Enter them as three options: 2.49 at 250 ml, 4.29 at 500 ml, and 7.99 at 1 litre.

The page normalises everything to millilitres. Option one costs about 1.00 per 100 ml. Option two costs about 0.86 per 100 ml. Option three costs about 0.80 per 100 ml. The largest bottle wins, but the saving over the medium one is modest. If you know you will not finish a litre before it goes stale, the 500 ml bottle might be the better choice even though it has a higher unit price.

Now add a fourth entry: the shop has a buy-two-get-one-free deal on the 250 ml bottle. The price for two bottles is 4.98, and you get a third free. Enter 4.98 as the price, 250 as the size, ml as the unit, and 3 as the packs. The true cost is about 0.66 per 100 ml - cheaper than all three single bottles. The deal wins, but only if you have room for 750 ml of olive oil.

When cheapest is not best

Unit price is the right way to compare like with like. It is not the right way to make every buying decision. A saving on something that goes off in the cupboard is not a saving. Buying three litres of milk because the unit price is lower only works if your family drinks three litres before it turns. Fresh produce, dairy, and anything with a short shelf life should be bought in the size you will actually use.

Storage matters too. The cheapest option is often the bulkiest. Ten rolls of kitchen towel at a lower price per sheet is no bargain if they do not fit in the cupboard and end up sitting on the floor getting damaged.

The same goes for quality. Two products can have wildly different unit prices and still not be comparable. A premium brand at 1.20 per 100 grams and a budget brand at 0.60 per 100 grams are both fairly priced if one is twice as good. Only you can judge that, and no calculator can help.

Non-standard units: sheets, washes, and individual items

Not everything is sold by weight or volume. Kitchen roll is sold by sheets. Laundry detergent often quotes a number of washes. Eggs are sold by the dozen. The Unit dropdown includes sheets, washes, and each to handle these cases. Enter the count from the packaging as the size and the price as normal.

This is particularly useful for cleaning products, where the number on the front of the bottle is the number of washes rather than the volume. Two bottles with different volumes but the same number of washes are the same product in practice, and comparing by washes rather than millilitres gives the real answer.

Your prices stay on your device

The arithmetic runs entirely in your browser. No prices, no product sizes, and no shopping habits are sent anywhere. There is no account, no tracking of what you compare, and no history. Close the tab and every number you typed is gone. You can open the page on your phone in the shop, type in the numbers from the shelf, and get the answer without anything leaving the device in your hand.

Help

Same unit, honest comparison

Four options can sit side by side, each with its own size, price and unit, so grams can be compared against kilograms and millilitres against litres. The cheapest is named, and the gap is given twice: as a percentage, and as the money you would keep buying the same quantity either way. That second figure is usually the one that decides whether the big box goes in the trolley.

Enter price and size for each

Mixed units are fine — grams against kilograms, millilitres against litres.

Handle multibuys honestly

For "3 for 2", enter the real total price and put 3 in the packs field.

Read the money, not the percentage

"18% cheaper" tells you nothing standing in an aisle. The cash saving does.

Works for anything with a size

Washes of detergent, sheets of kitchen roll, individual items — not only weight and volume. Pick "each" or "washes" as the unit.

Good to know

Multibuys often lose

"3 for 2" on a small packet regularly costs more per unit than the plain large one. The offer is exactly why people stop checking.

Shelf labels are inconsistent

One quotes per 100 g and the next per kilogram, which defeats the entire purpose of unit pricing.

Cheapest is not always best value

A saving on something that goes off in the cupboard is not a saving. Buy the size you will actually use.

Common questions

How do I enter "buy one get one free"?
Price as you pay it, packs as 2. That is the real unit price of the deal.
Can I compare different brands fairly?
On price per unit, yes. On value, only you can judge whether the dearer one is better enough to matter.
Why is the comparison unit the first one I picked?
So the number stays familiar. Comparing in grams when you shop in kilograms is technically right and unreadable.
Does it handle price per wash or per sheet?
Yes — choose "washes" or "sheets" as the unit and enter the count from the box.