Latency Percentile Calculator
Compute p50, p90, p95 and p99 from a list of response times.
Paste a list of response-time (latency) measurements and this tool instantly reports the count, minimum, maximum, mean, plus the p50, p90, p95 and p99 percentiles. It works with anything in milliseconds — load-test output, the response-time column from access logs, or raw data exported from an APM. Values can be separated by newlines, commas or spaces.
A service that looks fine on average often reveals real user-facing delay at p95 and p99. Use this latency percentile calculator to expose tail latency and inform your SLO targets and performance-regression checks.
How percentiles are computed (nearest-rank)
This tool uses the nearest-rank method. Values are sorted ascending, then for a percentile p it picks rank ceil(p / 100 × N) (where N is the sample size). In code that maps to the zero-based array index ceil(p / 100 × N) - 1. Because no interpolation is used, every result is an actual measured value, matching the definition most monitoring tools use.
For example, with 100 samples the p95 is the 95th value in sorted order (index 94).
Why p95 and p99 matter more than the mean
The mean lets a few fast responses hide the slow ones. If a single request from one user is slow, that user feels it as slow — yet the average can still look healthy. Percentiles expose that tail directly.
- p50 (median): the latency a typical user experiences.
- p90 / p95: the slowest 10% / 5% of requests. A common SLO baseline.
- p99: the slowest 1%. When a page makes several backend calls, p99 delays accumulate and are felt by many users.
The more requests a screen composes, the bigger the impact of tail latency. A page built from 10 calls is far more likely to hit at least one call's p99, so the real rate of "slow screens" is much higher than any single call's p99.
Input format and handling
- Values are assumed to be in milliseconds (ms). Separate them with newlines, commas or spaces.
- Tokens that do not parse as numbers (headers, unit characters, etc.) are ignored automatically.
- Decimals and non-negative values are supported. All computation happens in your browser.
To gather individual measurements first, use the response time measurement tool to time a specific URL, then collect those values and feed them into this percentile calculator to analyze tail latency.