Calculators
Percentage / Date / Loan / Health · 7 tools
These calculators cover the arithmetic that appears constantly in everyday work and is still easy to get wrong: percentages of a changing base, differences between two dates, loan amortisation, discount stacking, age under different conventions, and random selection.
Each one states the formula it uses, because the number alone is rarely the answer. A loan payment means nothing without knowing whether it is equal-instalment or equal-principal; a percentage change means nothing without knowing whether it was applied to the base or to a running total.
Which one do I need?
- Comparing two rates: the percentage calculator distinguishes percentage points from percent. A rate moving from 2 percent to 3 percent rises by 1 percentage point and by 50 percent — both statements are true and they describe different things.
- Deciding between two repayment plans: the loan calculator shows both equal-instalment (constant payment, front-loaded interest) and equal-principal (declining payment, less total interest) side by side, with the difference in total interest stated explicitly.
- Working out a sale price: the discount tool multiplies stacked discounts instead of adding them. Twenty percent off then ten percent off is 28 percent off, not 30 percent — and applying a coupon before or after a threshold discount changes the total.
- Time between two dates: the date and age calculators count calendar days, handle leap years explicitly, and show the birthday problem for February 29 births rather than hiding it.
- Picking a winner fairly: the random tool uses the platform CSPRNG with rejection sampling, so it is unbiased — but it cannot be seeded or reproduced, which is a feature for prizes assigned to a person and a limitation if you need to audit the draw afterwards.
All tools in this category
Guides in this category
- Percentages: percentage points, compound changes, and the four mistakes people makeFour common percentage tasks: what % A is of B, B% of A, percent change, and ratio allocation.
- Date math: why days are exact but months are only an estimateCompute the days/weeks/months/years between two dates, and add/subtract days, months, years from a date.
- Equal installment vs equal principal: how much extra interest you really payCompare equal-installment vs equal-principal loans: monthly payment, total interest and total repayment from principal/annual rate/term.
- BMI the right way: why the China cutoffs differ from WHO, and its four limitsCompute BMI from height and weight, classify by China standard and show the normal weight range.
- Age, virtual age and the Chinese zodiac: which reckoning the result usesFrom birth date, compute age, virtual age, Chinese zodiac, constellation and days to next birthday.
- Discounts: percent off, the 'zhe' scale, stacking rules and threshold orderFrom original price and discount, get the amount paid and savings, or reverse the discount rate from original and current price.
- Random numbers: why the source and the bias both matterGenerate numbers in a range with count, dedup and decimal options, using crypto-grade randomness.
FAQ
Why does a loan with a lower monthly payment cost more overall?
Because interest is charged on the outstanding balance, and a lower payment keeps that balance larger for longer. Equal-instalment plans have a constant payment with more interest early; equal-principal plans pay down faster with a higher first payment. The gap in total interest between the two is real money, and this calculator reports it directly.
Why is the BMI category different from the WHO table?
Body composition differs across populations at the same BMI, so several health authorities use lower thresholds for Asian adults (overweight from 24, obese from 28) than the WHO international cut-offs (25 and 30). The calculator shows both and labels them, rather than silently picking one.
Can I set a seed to reproduce a random result?
No. The generator is built on crypto.getRandomValues, which draws from the operating system entropy pool and cannot be seeded by design — seeding is exactly the property that makes outputs predictable. For reproducible runs (tests, simulations) use a seeded PRNG in your own code instead.