Percentile Calculator
Paste response times or any numbers to get p50, p75, p90, p95, p99 and p99.9, min, max, mean and standard deviation, with a histogram.
Free · No sign-up · Your inputs stay in your browser
Input
Calculate percentiles (p50, p95, p99) of a sample
Output
20 values
| min | 96 |
|---|---|
| p50 (median) | 102.5 |
| p75 | 109 |
| p90 | 152 |
| p95 | 394.5 |
| p99 | 1070.9 |
| p99.9 | 1223.09 |
| max | 1240 |
| mean | 173.25 |
| standard deviation | 257.136 |
Latency is reported in percentiles because averages hide the tail: one slow request in the sample above pulls the mean far above what a typical user saw, and p99 is what one request in a hundred waits for. With few samples, high percentiles are just the largest values; p99.9 needs thousands of observations to mean anything.
Runs in this browser. Nothing you paste is sent to a server.
About this tool
Method, assumptions, practical next steps, and limits.
Why percentiles, not averages
Latency distributions have long tails: a few slow requests pull the mean far above what a typical user saw, while the median hides them completely. p95 and p99 describe the experience of the slowest one request in twenty or in a hundred, which is what service level objectives are usually written against. Google's SRE book chapter on SLOs explains the choice.
Sample size
A p99 from 50 samples is the second-largest value and means little. Percentiles need enough observations, thousands for p99.9, and percentiles of percentiles (averaging p99s across servers) are not valid; merge raw data or histograms instead.