Free web tool

CSV percentile calculator

Calculate requested percentiles such as P25, median, P90, and P95 from a numeric CSV column.

Input & settings

How to use

Use this when an average is not enough and you want P50, P90, P95, or another percentile from a numeric CSV column. Blank and non-numeric cells are excluded before the distribution is calculated.

  1. Paste the CSV and choose the numeric column.
  2. Enter percentiles such as 25,50,75,90,95.
  3. Read the percentile values together with n, min, and max.

P90 is not “the average of the top 10%”

Here is the slightly confusing part. P90 is the cutoff at the 90% position after sorting the values. It does not collect the highest 10% of rows and average them.

This tool interpolates between neighboring values

The position is (n-1) × p / 100. If that lands between two observations, the result is linearly interpolated. With only 10, 30, P50 is 20, not simply one of the source rows.

Blank cells do not become zero

Blank and non-numeric cells are removed before calculation. So 10, blank, 30 is evaluated from two numeric observations, not three values including a fake zero. The displayed n= tells you how many numeric cells actually entered the calculation.

Different percentiles answer different questions

P0 is the minimum and P100 the maximum. P25/P50/P75 give a compact sense of the middle of a distribution; P90/P95/P99 are often useful when the slow or high tail matters, such as latency or processing time.

Why this can reveal what the average hides

An average latency of 200 ms can coexist with P95 of 1,500 ms. That means most requests may be fast while a smaller tail is much slower. Average and percentile are not competing statistics—they show different parts of the same distribution.

Want the deeper explanation?