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
Result
Save and share
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
| Works on | Text and numbers alike — values are compared as written |
|---|---|
| Sorting | By frequency, most common first |
| Columns returned | Value, count, share of total, cumulative share |
| Empty cells | Counted as their own category rather than dropped |
| Display limit | Top 60 rows shown; the export contains every distinct value |
| Chart | Bar chart of the 20 most frequent values |
When it misleads you
- Values are compared exactly as written, so "Madrid" and "madrid " are two different categories. That is deliberate — silently merging them would hide a data quality problem — but it means a messy column produces a messy table until it is cleaned.
- A frequency table is the wrong tool for continuous measurements. Response times or prices rarely repeat, so almost every row becomes its own category with a count of one; group them into intervals with the histogram instead.
- The cumulative share depends entirely on the sort order, and here that order is frequency. It answers "how much do the most common values cover" and not "how much do the first alphabetically cover", which would be a different and usually meaningless question.
- High-cardinality columns overwhelm the format. An identifier column produces one row per record, which is a correct table and a useless one.
How it is calculated
Every value in the chosen column is compared as text after trimming surrounding spaces, and identical strings are grouped. Comparing as written rather than attempting to normalise case or spelling is what makes the tool honest about the state of your data.
Rows are sorted by count, descending, so the most common value is first. That ordering is what makes the cumulative share meaningful: it answers how much of your data the top handful of categories already covers, which is the practical question behind most frequency counts.
Empty cells become their own category rather than being dropped. A column where a fifth of the rows are blank is telling you something important, and a table that quietly omitted them would hide exactly that.
The display is capped at 60 rows because longer tables stop being readable on a page, but the CSV export contains every distinct value with its count and share. The chart shows the top 20, which is the point past which bar labels collide.
Questions and answers
Why are "Madrid" and "madrid" separate rows?
Because values are compared exactly as written. Merging them automatically would conceal an inconsistency in your data. Clean the column first if the difference is not meaningful — the data quality report will show you how widespread the problem is.
Frequency table or histogram?
Frequency table for categories and for numbers that repeat, like ratings or counts. Histogram for continuous measurements, where values rarely repeat and need to be grouped into intervals.
What does the cumulative share tell me?
How much of the data the top categories cover together. If the first three values reach 70%, most of your data lives in three categories and the long tail may not deserve much attention.
My table has hundreds of rows.
Your column has high cardinality — often an identifier or a free-text field. A frequency table is not the right summary for it; the data quality report will tell you how many distinct values there are without listing them all.
Is my data uploaded?
No. Counting and charting both happen in your browser.