Blog
Statistics on data

Quartile and percentile calculator online

Percentiles describe position rather than average. The 95th percentile of a response time is the promise you can actually keep — it says nineteen out of twenty requests finish faster than this — and it is the number service agreements are written against, precisely because the mean hides the tail.

Your data never leaves this device

Your data

Paste a table straight from Excel or Google Sheets, or drop a CSV file. Nothing is uploaded anywhere — the whole calculation runs inside this browser tab.

CSV, TSV or plain text. Files saved in windows-1251 are detected and re-read automatically, so Cyrillic headers do not turn into garbage.

Parsing options

Columns

Result

The drawing library is downloaded only when you press the button, and only on this page.

This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.

Facts and limits of this method

Quantile definition R type 7 — linear interpolation, identical to Excel PERCENTILE.INC and numpy default
Percentiles returned P5, P10, P25, P50, P75, P90, P95, P99
IQR Q3 − Q1, the range covering the middle half of the data
Interpolation When the position falls between two values, the result is interpolated between them
Robustness Unaffected by how extreme the extreme values are, only by how many there are
Minimum rows 2

When it misleads you

How it is calculated

The values are sorted, and the position for a percentile p is computed as (n − 1) · p. When that position lands exactly on an index, the value there is returned; when it falls between two indices, the result is interpolated linearly between the neighbouring values.

That interpolation rule is the R type 7 definition. It is the default in R, in numpy, in Google Sheets and in Excel PERCENTILE.INC, which is why the numbers here match the ones your spreadsheet produces. Naming the definition matters: on a 20-row column the competing definitions can differ by several percent.

The interquartile range is Q3 − Q1: the span covering the middle half of the observations. It is the robust counterpart of the standard deviation — where the standard deviation is inflated by a single extreme value, the IQR does not move at all until the value crosses a quartile boundary.

Percentiles are computed on valid numbers only. Empty and non-numeric cells are skipped rather than treated as zero, which would drag every low percentile towards the bottom of the range.

Questions and answers

Why do my quartiles differ from another tool?

Because of the quantile definition. There are nine of them in common use. This page states its choice explicitly — R type 7, the same as Excel PERCENTILE.INC — so you can check whether the other tool used PERCENTILE.EXC or something else.

How many rows do I need for a meaningful P95?

As a rule of thumb, at least a hundred, and preferably several hundred. With 30 rows, P95 sits between the top two values and tells you about those two rows rather than about the process.

Should I use the IQR or the standard deviation?

The IQR when the data is skewed or has outliers, the standard deviation when it is roughly symmetric. Comparing the two is itself informative: a large gap means extreme values are doing the work.

What is the median doing in a percentile table?

The median is P50 by definition. It appears in the table for completeness and should match the value the mean-median-mode tool reports exactly.

Is anything uploaded?

No. Sorting and interpolation happen in your browser.

The opposite tool

Need it the other way round? Five-number summary Minimum, Q1, median, Q3 and maximum in one line

Related tools

All tools