Why this page exists
A calculator that won't tell you what it's calculating is asking for trust it hasn't earned. This page writes out the exact formula behind every tool on the site, names the source it comes from, and โ more importantly โ says what each one can't tell you. If you ever want to check a result by hand, everything you need is here.
Every tool runs entirely in your browser as plain JavaScript, so you can also just read the source: open any tool page, view source, and the script is right there, unminified.
Body Mass Index
The BMI Calculator uses the standard Quetelet index:
BMI = weight in kilograms รท (height in metres)ยฒ
Imperial input is converted before the calculation, not approximated after it: height in inches is multiplied by exactly 0.0254 to get metres, and pounds by 0.453592 to get kilograms. The category boundaries โ under 18.5, 18.5 to 24.9, 25 to 29.9, and 30 and above โ are the World Health Organization's adult cut-offs. The "healthy weight range" is the reverse of the same equation, solved for the weights that would land you at BMI 18.5 and 24.9 at your height, and the "ideal weight" figure is the weight that would put you at BMI 22, near the middle of that band.
What it can't tell you. BMI has no way to distinguish muscle from fat, so it misclassifies muscular people as overweight routinely. It says nothing about where fat is carried, which is the part that actually correlates with metabolic risk. The WHO cut-offs were derived largely from European populations and fit some ancestries poorly โ several health authorities use lower thresholds for people of South and East Asian descent. It is not validated for children, for pregnancy, or for adults over about 65, where a slightly higher BMI is associated with better outcomes. It is a population-level screening number that has been pressed into service as a personal diagnosis, which it was never designed to be.
Pregnancy due dates
The Due Date Calculator uses Naegele's rule, the convention in near-universal clinical use:
Estimated due date = first day of last menstrual period + 280 days
If you know your conception date instead, the tool works backwards by 14 days to the equivalent LMP and then applies the same rule. For IVF, it subtracts 14 days plus the embryo transfer day (a day-5 blastocyst transfer, for instance, is offset accordingly), which is how fertility clinics date IVF pregnancies. Trimester boundaries are drawn at the end of week 12 and the end of week 27, and gestational age is reported the way clinicians report it โ completed weeks since LMP, not weeks since conception, which is why you are "four weeks pregnant" at roughly the time of a first positive test.
What it can't tell you. Naegele's rule assumes a 28-day cycle with ovulation on day 14. If your cycles run long or short, your true due date shifts by roughly the difference. Only about 4% of babies arrive on their estimated date, and a full-term birth is anything from 37 to 42 weeks. A first-trimester dating ultrasound is more accurate than any date arithmetic, and where the two disagree, the ultrasound wins.
Ovulation and fertile windows
The Period Calculator projects future cycles from your cycle length and period length, then places the fertile window using the luteal phase, which is the more consistent half of the cycle:
- Ovulation is estimated at 14 days before the next period is due โ counted backwards from the next period, not forwards from the last one.
- The fertile window runs from 7 days before that estimated ovulation to 1 day after it, reflecting how long sperm survive in the reproductive tract and the roughly 24-hour lifespan of an egg.
What it can't tell you. This is a projection from an average, not a measurement. Ovulation moves in response to illness, stress, travel, sleep disruption and weight change, and it moves a great deal in the year or two after menarche, while breastfeeding, and approaching menopause. Conditions such as PCOS and thyroid disorders make calendar prediction unreliable in a way no amount of arithmetic can fix. Calendar-based prediction is not contraception. If you are trying to avoid pregnancy, use a method with an actual failure rate published against it, and talk to a clinician about it.
Sleep cycles
The Sleep Calculator counts backwards or forwards in whole sleep cycles, defaulting to 90 minutes per cycle, plus a default 14 minutes to fall asleep, and offers up to six cycles:
Bedtime = wake time โ (cycles ร cycle length) โ time to fall asleep
Both figures are adjustable, and they should be. Ninety minutes is the commonly cited average, but real cycles run roughly 70 to 120 minutes and vary between people and across a single night โ cycles early in the night carry more deep sleep, later ones more REM. The reason to time sleep in whole cycles is that waking at the end of one, in light sleep, generally feels better than being pulled out of deep sleep partway through, which is where grogginess comes from.
What it can't tell you. This is arithmetic on an average, not a measurement of your sleep. It cannot see your actual sleep architecture, and it is not a substitute for evaluation if you have persistent insomnia, suspected sleep apnoea, or daytime sleepiness that doesn't respond to sleeping more. Total sleep matters more than cycle alignment: five well-aligned cycles is still not enough sleep for most adults.
Mortgage payments
The Mortgage Calculator uses the standard fixed-rate amortisation formula:
M = P ร [ i(1 + i)โฟ ] รท [ (1 + i)โฟ โ 1 ]
where P is the loan amount after your deposit, i is the monthly rate (the annual percentage rate divided by 12), and n is the number of monthly payments (years ร 12). Property tax and insurance are annual figures divided by 12 and added on top, so the headline number is a full monthly outgoing rather than principal and interest alone. The amortisation schedule is built by iteration rather than approximation: each month's interest is the outstanding balance times the monthly rate, whatever remains of the payment reduces the principal, and the balance carries forward. That is why the early-year rows are almost entirely interest.
What it can't tell you. It models a fixed rate held to term. It does not know about variable or tracker rates, offset accounts, early repayment charges, private mortgage insurance, service charges, closing costs, or what a lender will actually offer you. Treat the output as a planning figure for comparing scenarios, not as a quotation.
Password and passphrase strength
The Password Generator draws every character and every word from crypto.getRandomValues(), the browser's cryptographically secure random number generator. It does not use Math.random(), which is predictable and has no business generating credentials. Values that would fall outside the largest exact multiple of the alphabet size are discarded and redrawn, so every character is equally likely โ the naive modulo shortcut biases results slightly toward the start of the alphabet.
Strength is reported as entropy in bits, and the two modes are measured differently on purpose:
- Random-character passwords: length ร log2(pool size), where the pool is the character sets you enabled โ 26 lowercase, 26 uppercase, 10 digits, 32 symbols. A 16-character password using all four is about 105 bits.
- Passphrases: words ร log2(7,772). Words are drawn from the Electronic Frontier Foundation's "large" Diceware list, published under CC BY 3.0 US, minus its four hyphenated entries โ which are omitted because the separator between words is user-selectable and may itself be a hyphen. That gives 12.92 bits per word, so the default six-word phrase is about 77 bits.
That distinction matters more than it sounds. Scoring a passphrase by its rendered characters is a common bug and it overstates strength enormously โ six lowercase words look like ~141 bits if you count letters, when the honest figure is 77. An attacker who knows you generated a passphrase guesses words, not letters, and you should assume they know. For the same reason, capitalising words and choosing a separator add nothing to the number here: they are single choices applied to the whole phrase, not independent random choices per word.
Crack-time estimates assume an offline attacker managing 10 billion guesses per second, which is a reasonable order of magnitude for a well-funded GPU cluster against a fast hash.
What it can't tell you. Entropy measures the generator, not your habits. A 128-bit password reused across sites, typed into a phishing page, or stored in a plain text file is worth nothing, and no strength meter can see any of that. The crack-time figure also assumes the site storing your password used a slow, salted hash; against a service that stored it badly, real-world numbers are far worse.
Ages, dates and unit conversion
The Age Calculator decomposes an interval into years, months and days by walking the calendar rather than dividing by 365.25, so leap years and unequal month lengths come out right, and it reports exact totals in weeks, days and hours alongside. The Unit Converter uses exact SI definitions wherever an exact one exists โ an inch is defined as precisely 25.4 millimetres, a pound as 0.45359237 kilograms โ and converts through a single base unit per category rather than chaining conversions, which is how rounding error creeps in. Temperature is handled separately, since it needs an offset as well as a scale factor.
How results get checked
Every calculator is verified against worked examples computed independently โ by hand, in a spreadsheet, or against a published reference table โ rather than against another website, since copying another site's bug is an easy way to inherit it. Where a formula is a clinical or financial convention, the convention is named on this page so you can look it up yourself instead of taking my word for it. Where an implementation choice could reasonably go two ways, the reasoning is written into the source code as a comment.
Tools change when there's a reason to change them, and this page is updated in the same commit. If a calculator here disagrees with a source you trust, I would genuinely like to know which source and where โ that is the single most useful email I can get. Corrections go to the address on the contact page.
None of this is professional advice. The health tools implement published formulas; they do not know your medical history. The mortgage tool does arithmetic; it is not a lending decision. For anything that matters, talk to a clinician, a lender, or an advisor who can see your actual situation.