Standard Deviation Calculator
Paste a dataset, get full descriptive statistics: mean, median, mode, variance, standard deviation (sample + population), min/max, quartiles, IQR, coefficient of variation.
Standard Deviation Calculator
How commas are read: if your paste also uses newlines, tabs, spaces or semicolons, a comma in 1,234 shape (exactly three digits after it) is treated as a thousands separator — so 1,234 / 2,500 / 1,750 on three lines is 3 values, not 6. If a comma is the only delimiter in the box, every comma splits, so 1,2,3 is 3 values. Spaces always split, so 1 234 is two values — put one number per line if your values carry separators.
📈 Central tendency + spread
🎯 Mode + range
📐 Variance + coefficient of variation
📊 Quartiles + IQR
How to use the Standard Deviation Calculator
Paste your dataset
Type or paste numbers separated by any combination of commas, spaces, tabs, or newlines. The parser is flexible: 85, 92, 78 works; 85 92 78 works; one number per line works; pasting a column from Excel works (newlines are treated as separators). Non-numeric entries are silently skipped — useful when pasting data with headers or labels.
How commas are disambiguated. A comma is genuinely ambiguous: 1,234 may mean one value (1234) or two (1 and 234). The rule this tool applies, stated plainly: (a) if the paste contains any other delimiter — newline, tab, space or semicolon — then a comma sitting between digits with exactly three digits after it is a thousands separator and is removed, while every other comma still splits. So a spreadsheet column of 1,234 / 2,500 / 1,750 parses as 3 values, not 6. (b) If the comma is the only delimiter in the box, every comma splits — 1,2,3 is 3 values, and 1.5, 2.5, 3.5 is 3 values. The trade-off in (b): a lone 1,234,567 with nothing else in the box parses as 3 values, because collapsing an entire comma-only paste into one number is never what a dataset paste means. Put one number per line whenever your values carry thousands separators. Note that spaces always split, so 1 234 is two values (1 and 234) — a space is never read as a thousands separator.
Read the headline: sample (s) vs population (σ) std deviation
The two purple boxes at the top show the sample standard deviation s (divisor n−1, Bessel's correction) and the population standard deviation σ (divisor n). The symbols are not interchangeable: s is a statistic estimated from your data, σ is a parameter of the whole population. 95%+ of the time, you want SAMPLE — use it when your data is a sample drawn from a larger population (e.g. test scores from one class, customer satisfaction surveys, product measurements). Use POPULATION only when you have ALL the data (e.g. census of every employee at a company).
Because s is an estimate, do not feed it into a z-score calculator as though it were a known σ — at small n that produces a number which is not a true z-score. If what you actually want is the precision of the mean, use the standard error calculator (SE = s / √n), which explains the SD-vs-SE distinction in full.
Check central tendency + spread
Mean = average. Median = middle value (robust to outliers — better than mean for skewed data). Mode = most frequent value (useful for categorical / discrete data). Min, max, range give the spread of the data. The IQR (interquartile range = Q3 − Q1) is the "middle 50%" spread — robust to outliers, often preferred over standard deviation when data is skewed or has outliers.
Use coefficient of variation to compare different-scale datasets
CV = (s / x̄) × 100% — this tool computes it from the SAMPLE standard deviation and the sample mean. It normalises spread relative to the mean, allowing comparison between datasets whose units are not comparable at all: adult heights in cm (CV around 5%) against, say, monthly sales in dollars. A direct SD comparison between those two is meaningless; a CV comparison is not. CV under 15%: low variability. CV 15-30%: moderate. CV 30%+: high — investigate outliers and consider whether the data is truly homogeneous. These are the same bands the on-page advisory uses. One caveat: CV needs a mean that is positive and on a ratio scale with a meaningful zero. Do not compute it for temperatures in Celsius, and treat it with suspicion for anything whose mean sits near zero — such as stock returns, where a near-zero denominator makes CV both huge and unstable.
Standard deviation — why n−1 vs n changes everything
Standard deviation measures how spread out a dataset is around its mean. A low std dev means values cluster tightly; a high std dev means they're scattered widely. The math is straightforward: compute the mean, subtract it from each value (the "deviation"), square those deviations (to make them positive), average the squared deviations (that's the variance), then take the square root (that's the standard deviation, in the same units as the original data). The subtlety is in that "average the squared deviations" step — do you divide by n (number of data points) or by n−1? The answer determines whether you're computing population SD or sample SD, and they differ in important ways.
Why Bessel's correction matters
When your data is a SAMPLE from a larger population (which is almost always the case in real-world data), dividing the sum of squared deviations by n produces a BIASED estimator — it systematically underestimates the population variance. The correction, conventionally called Bessel's correction, is to divide by n−1 instead. This counter-intuitive adjustment compensates for the fact that the sample mean is itself estimated from the data, so the squared deviations are computed against a slightly "shifted" reference. The unbiased sample variance s² = Σ(x − x̄)² / (n−1), and sample standard deviation s = √s². Use this 95%+ of the time. The population formula (divide by n) is correct only when your dataset represents the ENTIRE population — every employee at a 50-person company, every patient who came through a clinic last year, every transaction processed by a small fintech.
Sample standard deviation divides by n−1. Population standard deviation divides by n. The difference is Bessel's correction, and it matters because real-world data is almost always a sample, not the whole population.
The 68-95-99.7 rule
For normally-distributed data (the bell curve), the standard deviation has a precise interpretation: 68% of values fall within ±1 SD of the mean; 95% fall within ±2 SD; 99.7% fall within ±3 SD. This is called the "empirical rule" or "68-95-99.7 rule" and is the foundation of most inferential statistics. A test score exactly 2 SD above the mean puts you in the top 2.3% (the upper tail beyond z = 2 is 2.275%; the familiar 2.5% figure belongs to z = 1.96, not z = 2). A manufacturing measurement 3 SD off-target in either direction is about 2.7 per thousand. That logic is what "6 Sigma" quality programs (Motorola, GE) build on: they place the specification limit 6 SD from the process mean. Note that the famous 3.4-defects-per-million figure is NOT the 6σ tail — it is the tail beyond 4.5σ, because the methodology assumes the process mean drifts up to 1.5σ over the long run. An un-shifted, two-sided 6σ tail is roughly 2 defects per billion, about 1,700 times smaller. The rule only works for normal distributions; skewed data needs different rules (e.g. Chebyshev's inequality, which gives looser bounds for any distribution).
The ASEAN statistical-literacy angle
Statistics education across ASEAN has expanded dramatically with the rise of data-science programs at NUS / NTU / SMU (Singapore), UM / UKM (Malaysia), UI / ITB / UGM (Indonesia), Chulalongkorn / Mahidol (Thailand), VNU-HCM (Vietnam), and UP / Ateneo (Philippines). Statistical thinking is increasingly required for: SEO / marketing analytics (A/B test interpretation), fintech (risk modeling, credit scoring), biotech / health (clinical trial analysis), government policy (Census + national survey data). Standard deviation in particular shows up in: stock return variance (annualised SD of daily returns = "volatility"), grade distributions (when does a curve apply?), and quality control in manufacturing (Singapore's electronics + biopharma sectors all use SPC / Six Sigma). The basic numerical literacy this tool teaches — mean vs median, sample (s) vs population (σ), range vs SD — is now table stakes for any APAC professional whose work touches data.
10 Things to Know About Standard Deviation
Standard deviation measures spread around the mean. Low SD = data clustered tightly. High SD = data widely scattered.
Sample SD (s) divides by (n−1), called Bessel's correction. Population SD (σ) divides by n. Use sample 95% of the time.
For normal distributions: 68% within ±1 SD, 95% within ±2 SD, 99.7% within ±3 SD of the mean. The "empirical rule".
Variance = SD². Variance is in squared units (hard to interpret); SD is in original units (intuitive).
Median is more robust to outliers than mean. For skewed data (income, house prices, response times), report median.
Mode is the most frequent value. Useful for categorical / discrete data. Continuous data often has no clear mode.
The Interquartile Range (IQR) = Q3 − Q1 = "middle 50% of data". Robust to outliers, better than range for skewed data.
The "6 Sigma" quality methodology (pioneered at Motorola in the 1980s) puts the spec limit 6 SD from the process mean. Its 3.4-per-million figure is the 4.5σ tail — it allows for a 1.5σ long-run drift.
Stock volatility = annualised standard deviation of daily returns. Typical: 15-25% for large-cap stocks, 30-50% for small-cap.
The Greek letter σ (sigma) denotes standard deviation. The Latin letter s denotes sample SD. The convention is universal in stats textbooks worldwide.
Frequently Asked Questions
-
SAMPLE (divide by n−1) when your data is a sample drawn from a larger population — which is almost always the case. Use this for: A/B test results, customer surveys, product measurements, lab experiments, market research, anything where you took a subset. POPULATION (divide by n) only when you have literally ALL the data — every employee at a 50-person company, all transactions for a specific day, complete census data. When unsure, use sample. The difference matters most for small n: the two differ by a factor of √(n/(n−1)), so at n=10 the sample SD is about 5.4% larger than the population SD, and at n=1000 it is about 0.05% larger.
-
When you compute the sample mean from your data, you "use up" one degree of freedom — the sample mean is constrained to fit your data perfectly. So when you measure deviations from THAT sample mean, you systematically underestimate the spread relative to the true population mean. Dividing by n−1 instead of n compensates for this lost degree of freedom, producing an unbiased estimator of population variance. The proof is in any first-year statistics textbook (Casella & Berger, Wasserman). The intuition: with n=1, sample SD is undefined (n−1=0) — you can't measure spread from one data point. With population SD using n, you'd get 0, which is wrong (you don't know spread either).
-
When your data is skewed or has outliers. Mean is sensitive to extreme values — one billionaire in a town shifts the "average income" dramatically without changing what most residents actually earn. Median (middle value) is robust to outliers and better represents "typical". Almost always use median for: income, house prices, response times, web page load times, salary data. Use mean for: test scores, sensor measurements, scientific observations where outliers indicate real signal. Report BOTH when in doubt — the difference between mean and median is itself diagnostic of skew (mean > median = right skew; mean < median = left skew).
-
For normally-distributed data: ~68% of values fall within ±1 SD of the mean, ~95% within ±2 SD, ~99.7% within ±3 SD. This is the "empirical rule" or "three-sigma rule" and is foundational to inferential statistics. Example: if test scores have mean 75 and SD 10, then ~68% scored between 65-85, ~95% scored between 55-95, and ~99.7% scored between 45-105. Anything outside ±3 SD is "extreme" — only 0.3% of normal data points fall this far out. The rule ONLY works for normal distributions; for skewed or heavy-tailed distributions, use Chebyshev's inequality instead (looser but works for any distribution: at least 75% within ±2 SD, at least 89% within ±3 SD).
-
Variance = average of squared deviations from the mean. Standard deviation = square root of variance. Variance is in squared units (e.g. if data is meters, variance is m²) — mathematically convenient for theory but hard to interpret physically. Standard deviation is in original units (meters) — easier to interpret intuitively. In practice: report SD when communicating to humans; use variance when doing further math (e.g. variance is additive for independent random variables; SD is not).
-
When your data is skewed or has outliers. SD assumes a roughly symmetric distribution; with heavy outliers, SD gets inflated and stops representing typical spread. IQR (Q3 − Q1) is the spread of the middle 50% — it ignores the top 25% and bottom 25%, so outliers don't affect it. IQR is the basis for boxplot whiskers (typically 1.5×IQR beyond Q1/Q3). Common usage: SD for normally-distributed scientific data; IQR for income, response times, real-world skewed data. Many descriptive statistics reports include both: mean ± SD for symmetric data, median (IQR) for skewed.
-
CV = (standard deviation / mean) × 100%. It normalises spread relative to the magnitude of the mean, allowing comparison between datasets with very different scales. Example: adult heights (CV around 5%) versus monthly sales figures — a direct SD comparison is meaningless because one is in cm and the other in dollars, but the CVs are comparable. CV under 15% = low variability (precise / consistent). 15-30% = moderate. 30%+ = high — investigate. Those are the same bands used by the how-to section and the on-page advisory. CV requires the mean to be positive and on a ratio scale with a meaningful zero: don't compute CV for temperatures in Celsius (0°C is arbitrary; use Kelvin if you must), and don't trust it when the mean sits near zero — stock returns are the classic trap, because a near-zero denominator makes CV enormous and unstable rather than informative.
-
Yes — JavaScript handles 10,000+ data points instantly in modern browsers. Above 100,000 points, you may see brief lag while typing (debouncing helps). For multi-million-row datasets, use desktop statistical software (R, Python+pandas, JMP, Stata, SPSS). For typical analytics work (survey results, test scores, A/B test data, financial returns), this calculator is more than capable. Paste a column from Excel / Google Sheets — newlines and tabs are treated as separators automatically, and because those delimiters are present, thousands separators inside values (
1,234) are stripped rather than split. Always sanity-check the "Count (n)" box against the number of rows you pasted. -
No. All calculations run entirely in your browser via JavaScript. There's no server roundtrip — open DevTools → Network and confirm zero outbound requests. Your data stays on your device. Safe for confidential research data, proprietary survey results, financial returns, clinical trial data, or any sensitive statistics work.
-
The calculator reports all values that share the highest frequency — so "multimodal" distributions display all modes (e.g. "5, 12" if both 5 and 12 occur 3 times). If every value appears exactly once, "No mode" is shown (mode requires at least one value to repeat). Truly bimodal distributions often indicate the data is a mixture of two populations — e.g. height data combining men + women shows two modes near 165cm and 180cm respectively. When you see multimodal output, ask whether your data should be split into subgroups for separate analysis.
Pick up where you left off
Stored only in this browser — never sent to our servers.