Blog
Statistics on data

Frequency table generator online

The counting question, answered properly: how many times does each distinct value appear, what share of the total is that, and how much of the data do the top few values already cover. It works on text as readily as on numbers, which is what separates it from a histogram.

Your data never leaves this device

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

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

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.

Related tools

All tools