CSV Group By

Group rows by one or more columns and aggregate the rest — count, sum, avg, min, max. Runs entirely in your browser, no upload.

Grouped CSV

CSV group by

Summarize a CSV by grouping rows on one or more columns and aggregating the rest. For example, group by dept and compute amount:sum and a row count. It runs in your browser; nothing is uploaded.

Options

FAQ

How are non-numeric or empty cells aggregated?

count counts every row in the group regardless of content. The numeric aggregates parse each cell as a number and skip anything that doesn't parse: avg divides by the number of numeric cells only, and min/max come out empty for a group with no numeric values at all (sum reports 0).

Can I group by several columns, or by column number?

Yes on both counts. Group by takes a comma-separated list, and each entry can be a header name (region,dept) or a 1-based index (1,3) — handy when headers contain commas or you'd rather count columns. Multi-column groups produce one output row per distinct combination.

What delimiters are supported, and what order are the rows in?

Comma (default), tab, semicolon, pipe — by name or as the literal character — or any other single-character separator. The output uses the same delimiter. Groups appear in first-seen order, i.e. the order their first row appears in the input, not sorted.

Is my data uploaded?

No — it's processed locally with WebAssembly.

Need a cross-tab/pivot?

Use the CSV pivot tool.

Developer & Automation Access

Run it from the terminal

Same engine as this page, headless — via the gizza CLI:

gizza tool csv-group-by "dept,amount
A,10
B,5
A,20" 'aggregations=amount:sum, count'

New to the CLI? Get gizza →

Open it by URL

Pre-fill and auto-run this tool with query parameters — the names match the API/CLI:

https://gizza.ai/tools/csv-group-by/?data=dept%2Camount%0AA%2C10%0AB%2C5%0AA%2C20&group_by_cols=dept&aggregations=amount%3Asum%2C%20count&delimiter=%2C

Machine-readable descriptor: tool.json — title + parameters JSON Schema for agents.