工具 指南
Finance 免费 无需注册

Unit Price Comparator

Compare cost-per-unit across products to find the best shopping value.

正在加载工具…

关于此工具

Stop guessing which package size is the best deal. Enter a product name, total price, quantity, and unit (kg, g, lb, oz, L, mL, fl oz, count, etc.) for each item. The comparator normalises all weights to grams and all volumes to millilitres so you can compare a 500 g jar against a 1 lb tin side by side. Results are sorted cheapest first and the best-value item is highlighted. Save your comparison lists to localStorage so you can revisit them on your next shopping trip.

使用方法

  1. 1 Click 'Add Product' and fill in name, price, quantity, and unit.
  2. 2 Add as many products as you want to compare.
  3. 3 The table automatically sorts by price per unit, cheapest first.
  4. 4 The green 'Best Value' badge marks the cheapest option.
  5. 5 Click 'Save List' to store the comparison in localStorage.
  6. 6 Use the Saved Lists dropdown to reload a previous comparison.

Why the shelf price lies and unit price tells the truth

Supermarkets rarely make it easy to tell which package is the better deal. A "family size" box can cost less per gram than the small one — or more — and the only honest way to know is to reduce every option to the same yardstick: price per unit. That single number strips away package size, brand framing, and "bigger looks cheaper" instinct, leaving a figure you can rank. This comparator does exactly that math for you, normalising mismatched units so a 500 g jar and a 1 lb tin sit in the same column.

How the normalisation works

Every unit you pick is converted to one of three base units before anything is compared: weight to grams, volume to millilitres, and count to each. The conversion factors are exact: 1 kg = 1000 g, 1 lb ≈ 453.592 g, 1 oz ≈ 28.3495 g, 1 L = 1000 mL, and 1 fl oz ≈ 29.5735 mL. The tool then computes price ÷ (quantity × factor) to get the cost of a single base unit, and displays it scaled to a friendly figure: per 100 g for weight, per 100 mL for volume, and per item for count. Rows sort automatically from cheapest to most expensive, and the lowest gets a green "Best" badge.

One deliberate limit: the tool only compares like base types. Weight is never pitted against volume, because a gram of one product and a millilitre of another aren't interchangeable. If you mix a weight item and a volume item in the same list, each is still costed correctly, but ranking them against each other would be meaningless — so judge them within their own type.

A worked example

The tool opens with two real options. Brand A is $3.49 for 500 g; Brand B is $5.99 for 1 kg. Convert both to per-100 g:

  • Brand A: 3.49 ÷ (500 × 1) = $0.00698 per gram → $0.698 per 100 g.
  • Brand B: 5.99 ÷ (1 × 1000) = $0.00599 per gram → $0.599 per 100 g.

Brand B wins by about 14% per gram, even though its sticker price is higher. The bigger pack is genuinely cheaper here — but notice that this isn't always true. Swap Brand B's price to $7.49 and the per-100 g figure jumps to $0.749, making the smaller Brand A the better buy. The whole point is that you can't eyeball it; the arithmetic decides.

Practical use cases

  • Bulk versus standard. Warehouse-club multipacks are usually cheaper per unit, but not always — verify before assuming.
  • Brand versus store label. Drop both in and see how big the premium really is per 100 g, not per package.
  • Sales math. A "2 for $5" promotion is just $2.50 each; enter it as one item at $5 for a quantity of 2 to compare it fairly against a single unit on regular price.
  • Concentrates and refills. A concentrated detergent at a higher price per mL can still cost less per wash — but you'll only know once it's normalised.

Tips that make comparisons fair

  • Enter the unit on the label, not a rounded one. If a tin says 411 g, type 411, not 400 — small rounding skews close calls.
  • Use the right base type. A "6-pack" is a count item; the individual can size (in mL) is a volume item. Decide which question you're answering: cost per can, or cost per mL of drink.
  • Watch for "as prepared" sizes. Concentrates and dried goods list a small package weight but yield far more once mixed; compare the prepared quantity if you can.
  • Save recurring lists. Name and store a comparison to localStorage with the Save List button, then reload it on your next trip instead of re-entering everything.

Common mistakes

  • Comparing total price instead of unit price. The whole reason this tool exists is to stop you doing exactly that.
  • Mixing weight and volume. "$2 per 100 g" and "$2 per 100 mL" are not the same value, even though the numbers look identical.
  • Ignoring how much you'll actually use. The cheapest per-unit option is a false economy if half of it spoils or sits unused. Best value per gram only matters for what you consume.
  • Forgetting non-price factors. Quality, freshness, and storage space have real value that a per-unit figure can't capture — let the number inform the decision, not replace it.

Privacy

All conversion and ranking happens in your browser. Saved lists live only in your device's localStorage — nothing is uploaded, so your shopping habits stay on your machine.

常见问题

{# Alpine.js — self-hosted. (The previous jsdelivr CDN tag had a stale SRI integrity hash, so the browser refused to run it and window.Alpine was never defined — silently breaking every FAQ accordion and Alpine tool.) #}