Descriptive Statistics Calculator

Mean, median, mode, standard deviation, variance, quartiles — from any dataset.

100% in your browser — nothing uploaded

Calculate 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.

Count (n)
Sum
Mean
Median
Mode
Min
Max
Range
Variance (pop.)
Variance (sample)
Std Dev (pop.)
Std Dev (sample)
Standard error
Coeff. of variation
Skewness
Kurtosis (excess)
Q1 (25th pctile)
Q2 (median)
Q3 (75th pctile)
Interquartile range

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)
Formulas for A1:A100. In Sheets, KURT is the same; PERCENTILE.INC exists as PERCENTILE.

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 9.4+. PERCENTILE_CONT requires a WITHIN GROUP clause. For MySQL, use STDDEV_POP(), STDDEV_SAMP(), VARIANCE(), and VAR_SAMP(); percentiles need a window subquery.

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.

Related tools