What the Unit Price Comparison Calculator does
This calculator puts every pack on the same unit - per kilogram, per litre, per 100 g or per item - so you can see which one is actually cheaper. Enter each pack's size, its price and any offer, and it converts, applies the offer, divides, and ranks the results with the percentage difference between the best and the worst.
Shelf-edge unit pricing exists precisely because pack sizes are chosen to be hard to compare: 750 g against 1.2 kg, six 330 ml cans against a 2-litre bottle, 200 sheets a roll against 320. Where a unit price is printed you should still check it, because promotional labels often quote the pre-offer price, and multibuy deals only pay off if you buy the whole multibuy. Everything here runs in your browser; no prices are fetched and nothing you type leaves the page.
How to use it
- Enter each product: a name if you want one, the pack size and its unit, how many units are in the pack (6 for a six-pack of 330 ml cans), and the shelf price.
- Pick the offer where there is one - percent off, money off, "3 for 2", "2 for 5.00", "25% extra free" or "second one half price". The calculator applies each one the way the till does.
- Choose how you want the answer quoted. Weight defaults to per kilogram, volume to per litre, and you can switch to per 100 g, per pound, per US fluid ounce and so on.
- Read the ranking. The badge on each row is that pack's price per unit; the table shows the shelf price, the price after the offer and how far above the cheapest each pack sits.
- Enter the quantity you actually need to see the money saved by choosing the cheapest instead of the dearest - and check the warnings, which tell you when an offer only works if you buy several packs.
Reading the results
The unit price is the only figure that compares packs fairly. A bigger pack is not automatically cheaper per unit: "bigger pack, worse value" is common enough to have its own name, the quantity surcharge, and this tool exposes it in one line.
Warnings marked with a triangle mean the price shown is an average across several packs. "3 for 2" on a 3.50 jar averages 2.33 a jar only if you take three; one jar still costs 3.50, and the row's note tells you what one pack works out at.
"Extra free" changes the quantity, not the price: 25% extra free on 400 g is 500 g for the same money, which is a 20% cut in the unit price, not 25%.
The percentage in the "vs best" column is how much more that pack costs per unit than the cheapest. The headline spread is the same figure for the worst pack, which is usually the number worth remembering.
Worked example: four ways to buy instant coffee
A 100 g jar is 3.50, so it is 3.50 per 100 g. A 200 g jar is 6.40, which is 3.20 per 100 g - the bigger jar is 8.6% cheaper per unit.
The 100 g jar is on "3 for 2": three jars cost 7.00, so each averages 2.333..., which is 2.33 per 100 g. That beats the 200 g jar by about 27%, but only if you buy three jars and will use 300 g.
A 300 g refill is 10.50 with 25% off, so you pay 7.875 for 300 g: 2.625 per 100 g. Ranked, that is second - cheaper than either plain jar, dearer than the multibuy.
Buying 300 g at 2.333 per 100 g instead of 3.50 per 100 g saves 3.50 in total. The arithmetic is trivial; the point is that four labels shouting different things reduce to one ordered list.
Formulas and scoring rules
- Quantity in the base unit
quantity = pack_size x units_per_pack x unit_factorBase units are grams, millilitres, metres and items. Factors are the exact definitions: 1 lb = 453.59237 g, 1 oz = 28.349523125 g, 1 US fl oz = 29.5735295625 ml, 1 in = 0.0254 m.- Unit price
unit_price = effective_price / quantity x display_factordisplay_factor is 1,000 for per kg, 100 for per 100 g, 453.59237 for per pound, and so on. Nothing is rounded until it is displayed.- Percent off
effective_price = price x (1 - percent / 100)- Buy n, pay for m
effective_price = price x m / nThe average over n packs. "3 for 2" is price x 2/3.- n packs for a fixed price
effective_price = offer_total / n- Second one half price
effective_price = price x (1 + 0.5) / 2 = 0.75 x price- Extra free
quantity = quantity x (1 + extra_percent / 100)The price does not change; the pack gets bigger. 25% extra free cuts the unit price by 20%.- Difference from the cheapest
vs_best = (unit_price - best_unit_price) / best_unit_price x 100
Why the pack you expect to be cheaper often is not
Retail pricing is not obliged to reward volume. Large packs can carry a premium because they are bought by people who are not price-sensitive, because the small size is the one on promotion this week, or simply because the sizes were designed for different shelves. Researchers call the case where the larger pack costs more per unit a quantity surcharge, and it is frequent enough that a quick check is worth the ten seconds it takes.
The opposite trap is the promotion that looks like a discount and is not. "Was 3.00, now 2.50" on a 400 g pack is 6.25 per kg; the unpromoted 1 kg bag at 5.80 is still cheaper. Comparing the promotion with its own previous price tells you nothing about value - only the unit price does.
What unit pricing law does and does not give you
Many countries require a unit price on the shelf label - the UK's Price Marking Order, the EU's Directive 98/6/EC, and similar rules in Australia and parts of the United States. Where it is shown it is genuinely useful, but the rules differ on which unit is used, which products are exempt, how small the print may be, and - importantly - whether the unit price must reflect a multibuy offer. The international recommendation on prepackaged labelling, OIML R 79, covers how quantity must be declared rather than how price per unit must be shown.
That is the gap this calculator fills: you type what the label says, choose the unit you find easiest to think in, and the offer is applied explicitly rather than assumed.
Limitations: what the result does not prove
- It compares price per unit and nothing else. Quality, concentration, waste, how much you will actually use before it goes off, and whether you can carry it home are yours to weigh up.
- Concentrated and diluted products are not comparable by pack size. Two washing liquids at 1 litre each are only comparable per wash, so enter the number of washes as the pack size and use the per-item unit.
- A drained weight is not a net weight. Where a pack declares both - tinned vegetables, for instance - decide which one you are buying and use the same basis for every pack.
- Offers are applied as you describe them. Conditions such as loyalty-card-only pricing, a maximum quantity, mix-and-match ranges or an offer that ends on Sunday are not modelled.
- Nothing here knows any real price. Every figure comes from what you type, so the result is exactly as current as the labels you are reading.
Privacy: where your data goes
Everything you paste, type or drop is processed in this browser tab. It is not uploaded, logged, stored or sent to analytics. Session recording and tag-manager scripts are switched off on this page.
Standards and sources
- OIML R 79 - Labelling requirements for prepackaged products - checked 19 Sep 2026
- UK Price Marking Order 2004 (unit pricing on shelf labels)
- EU Directive 98/6/EC on consumer protection in the indication of prices
- NIST Handbook 44 / 130 - US weights and measures and unit pricing
Frequently asked questions
How do I work out the price per kilogram?
Divide the price by the pack weight in kilograms: a 750 g jar at 3.60 is 3.60 / 0.75 = 4.80 per kg. The calculator does this for any unit, including ounces and pounds, and applies any offer before dividing.
Is the bigger pack always cheaper per unit?
No. A larger pack costing more per unit than a smaller one is common enough to have a name - the quantity surcharge - and happens most often when the small size is the one being promoted. Comparing the unit prices is the only way to know, which takes seconds here.
How does a "3 for 2" offer change the unit price?
It multiplies the effective price by two thirds, but only across the three packs you must buy. The calculator shows the averaged unit price and warns you what a single pack really costs, so you do not credit yourself with a saving you only get by buying more than you need.
Is 25% extra free the same as 25% off?
No, and it is always worse. Extra free increases the quantity while the price stays put, so 25% extra free divides the unit price by 1.25 - a 20% reduction. A straight 25% off the same pack would be a 25% reduction.
Can I compare packs measured in different units, like grams and ounces?
Yes, as long as they measure the same thing. Grams, kilograms, ounces and pounds all convert to a common base, and so do millilitres, litres, US and UK fluid ounces, pints and gallons. Comparing a weight with a volume is refused, because there is no honest answer without knowing the density.
How do I compare a six-pack with a single bottle?
Put the size of one container in "pack size" and the number of containers in "units per pack": 330 ml with 6 units per pack is 1,980 ml. The unit price then covers the whole multipack, which is what you are paying for.
Why are US and UK fluid ounces different?
They come from different gallons. A US gallon is exactly 3.785411784 litres and is divided into 128 fluid ounces (29.5735 ml each); an imperial gallon is exactly 4.54609 litres and is divided into 160 fluid ounces (28.4131 ml each). Both are available, and mixing them up shifts a comparison by about 4%.
Does the calculator send my shopping list anywhere?
No. It is plain arithmetic running in your browser, with no prices fetched and no data sent. You can open the page, switch your connection off and it still works; the CSV download is generated in the tab.
Last reviewed by the A2Z.Tools team against the sources listed above.