Descriptive Statistics Calculator
Mean, median, mode, standard deviation, variance, quartiles — from any dataset.
100% in your browser — nothing uploadedCalculate mean, median, standard deviation and more
Decimals: use a period or a comma — 99.5 or 99,5. Accepts newline, comma, space, or tab separators.
Central tendency & range
Dispersion
Shape & quartiles
| Value | Frequency | % of total |
|---|
Descriptive statistics in Excel and Google Sheets
Excel and Google Sheets have built-in functions for nearly every descriptive statistic. Put your data in the range A1:A100 (or whatever fits) and use the formulas below.
=COUNT(A1:A100) Count
=SUM(A1:A100) Sum
=AVERAGE(A1:A100) Mean
=MEDIAN(A1:A100) Median
=MODE.SNGL(A1:A100) Mode (single)
=MODE.MULT(A1:A100) Mode (all — array)
=MIN(A1:A100) Min
=MAX(A1:A100) Max
=MAX(A1:A100)-MIN(A1:A100) Range
=VAR.P(A1:A100) Population variance (÷n)
=VAR.S(A1:A100) Sample variance (÷(n−1))
=STDEV.P(A1:A100) Population std dev
=STDEV.S(A1:A100) Sample std dev
=QUARTILE.INC(A1:A100,1) Q1 (25th percentile)
=QUARTILE.INC(A1:A100,2) Q2 (median)
=QUARTILE.INC(A1:A100,3) Q3 (75th percentile)
=SKEW(A1:A100) Skewness (sample)
=KURT(A1:A100) Kurtosis (excess, sample)MODE.MULT returns a vertical array of all modes. In Excel, select several cells in a column, type the formula, and confirm with Ctrl+Shift+Enter (or just Enter in Microsoft 365 with dynamic arrays). In Google Sheets, MODE.MULT does not exist: use =UNIQUE(FILTER(A1:A100, COUNTIF(A1:A100, A1:A100)=MAX(COUNTIF(A1:A100, A1:A100)))).
Descriptive statistics in SQL (PostgreSQL)
PostgreSQL provides aggregate functions for the most common statistics. Given a table data with a numeric column value, this query returns all the indicators in a single row.
SELECT
COUNT(value) AS n,
SUM(value) AS total,
AVG(value) AS mean,
PERCENTILE_CONT(0.5) WITHIN GROUP (ORDER BY value) AS median,
MODE() WITHIN GROUP (ORDER BY value) AS mode,
MIN(value) AS min_val,
MAX(value) AS max_val,
MAX(value) - MIN(value) AS range,
VAR_POP(value) AS var_pop,
VAR_SAMP(value) AS var_samp,
STDDEV_POP(value) AS stddev_pop,
STDDEV_SAMP(value) AS stddev_samp,
STDDEV_SAMP(value) / SQRT(COUNT(value)) AS std_error,
PERCENTILE_CONT(0.25) WITHIN GROUP (ORDER BY value) AS q1,
PERCENTILE_CONT(0.75) WITHIN GROUP (ORDER BY value) AS q3
FROM data;PostgreSQL had no direct MODE() aggregate before version 9.4; since then use MODE() WITHIN GROUP (ORDER BY value). For mode in MySQL, group by value, count, and filter for the maximum.
About this descriptive statistics calculator
Paste or type a list of numbers and get a full descriptive statistics summary: count, sum, mean, median, mode, range, minimum, maximum, population and sample variance, population and sample standard deviation, standard error, coefficient of variation, skewness, kurtosis, and the five-number summary (Q1, Q2, Q3, IQR). You can also upload a CSV file with a single column of numbers.
Every calculation runs locally in your browser — your data never leaves your device. The tool includes ready-to-use Excel and Google Sheets formulas (AVERAGE, MEDIAN, STDEV.S, STDEV.P, QUARTILE.INC) and SQL equivalents (AVG, STDDEV_POP, PERCENTILE_CONT) so you can reproduce the same results in your own workflow.
Reference tables
FAQ
What is the difference between population and sample standard deviation?
Population standard deviation (σ) divides by N and assumes you have every value in the group. Sample standard deviation (s) divides by N−1 and corrects for the fact that a sample underestimates spread. Use sample when your data is a subset of a larger group — which is almost always the case.
What do skewness and kurtosis tell me?
Skewness measures asymmetry: positive means a right tail, negative means a left tail, zero means symmetric. Kurtosis measures tail heaviness: a value above 3 (excess above 0) means heavier tails than a normal distribution, below means lighter. Together they tell you whether the mean and standard deviation are good summaries or whether outliers dominate.
Can I use this with data from a spreadsheet?
Yes. Copy a column from Excel or Google Sheets, paste it into the input box, and the calculator parses one number per line. You can also upload a CSV file directly.