csvkit.org
CSV (Comma-Separated Values) utilities, in the browser
Say hi →

CSV Value Counts

frequency table · percent · cumulative share · case-insensitive option

Pick a column and see how often each value occurs, sorted by frequency, with each value's share and a running cumulative percentage. It's the fastest way to find out what's actually in a column before you trust it — the typos, the stray casing, the one country code that accounts for 80% of your rows.

value counts
Or drop a .csv file here, or
ready

How to count values in a CSV column

  1. Paste the CSV or drop a file, then choose the column.
  2. Leave trim spaces on so "UK " and "UK" count together; add ignore case to fold uk in as well.
  3. Raise min count to hide the long tail when you only care about the common values.
  4. Read the table on screen, or download the frequency table as CSV for a report.

Reading the cumulative column

The cumulative percentage answers "how many distinct values do I need to cover most of the data?" If the top three values reach 95%, the rest is noise you can bucket as other. It's also how you spot a column that's effectively a unique key — when every value appears exactly once, the cumulative share climbs in equal tiny steps and the distinct count matches the row count.

What this finds that a glance won't

FAQ

How do I count blank cells?

Tick count empty cells — they appear as (empty) in the table. Left off, blanks are excluded from both the counts and the percentage base.

Can I count combinations of two columns?

Yes — use Group & aggregate, tick both columns as group keys, and read row_count.

How do I get the rows behind a count?

Filter rows with equals on that value, or query it with SQL on a CSV.

Is this the same as finding duplicates?

Related but different: Find duplicates returns the duplicated rows, while this returns a count per distinct value.

Privacy

100% client-side. No upload. See the privacy policy.