Free · No signup · Runs in your browser

CSV Percentiles & Summary Statistics

Get a one-row-per-column statistical summary — count, min, quartiles, p90/p95, max, and mean — without spreadsheets, scripts, or uploads.

01 · How it works

Three steps, then done.

Drop in a CSV, pick the numeric columns you care about (or leave it blank to profile them all), and download a tidy summary table. Everything runs locally in your browser.

1

Load your CSV

Drag in or paste any CSV. The tool auto-detects numeric columns so you can summarize them directly — nothing is uploaded to a server.

2

Choose columns

Select the numeric columns to summarize, or leave the picker empty to include every numeric column at once.

3

Read the summary

Each numeric column becomes one row showing count, min, p25, median, p75, p90, p95, max, and mean. Download it as a clean CSV.

02 · Why ours

Why use this percentiles toolpercentiles tool

Percentiles tell you far more than an average. p90 and p95 expose the tail of your distribution — latencies, prices, response times — that a mean quietly hides.

  • 1

    Tail-aware by default

    p90 and p95 are first-class outputs, so you see the slow requests and high outliers a plain mean would mask.

  • 2

    Statistically honest percentiles

    Values are interpolated linearly between the two nearest ranks on the sorted data, the same method analysts expect from NumPy or Excel's PERCENTILE.

  • 3

    Robust to messy data

    Blank cells, currency symbols, and stray non-numeric values are skipped per column, so one bad row never breaks the whole summary.

  • 4

    Completely private

    All parsing and math happen in your browser. No upload, no account, no telemetry — close the tab and the data is gone.

"A mean hides the tail. Percentiles show you the request, the price, and the customer the average pretends doesn't exist."
csvtodashboard.com
03 · FAQ

percentiles questions.

How are the percentiles calculated?
Each column's values are parsed to numbers, sorted ascending, and percentiles are computed with linear interpolation between the two nearest ranks. For p25 the target rank is 0.25 × (n − 1); if it falls between two values, the result is interpolated proportionally. This matches the default behavior of NumPy's percentile and Excel's PERCENTILE.INC.
They are ignored on a per-column basis. The count column reflects only the cells that parsed to a valid number, so a column with blanks or text entries still produces accurate statistics from its usable values.
Only columns detected as numeric. If you leave the column picker empty, every numeric column is summarized; otherwise just the ones you select (any non-numeric selections are dropped).
No. The tool is fully client-side — your CSV is parsed and analyzed entirely in your browser. Nothing is sent to a server, and there is no account or tracking.
p90 is the value below which 90% of your data falls; p95 is the 95% threshold. They describe the upper tail of a distribution and are widely used for latency, response-time, and pricing SLAs where the average is misleading.