Neatbo.

CSV pivot table

Group records into a cross-tab and calculate sums, counts, means, minima or maxima for each group.

Browser-local processingInputFile / TextOutputFile / TextOne UTF-8 CSV, up to 1 MiB
  1. 1Add input
  2. 2Adjust settings
  3. 3Get your result

Tool input and files are processed in this browser without being uploaded.

Your input

Inputs are kept temporarily in this tab when switching tools. Refreshing or closing clears them; large results may need to be regenerated.

⌘ / Ctrl + Enter to run

Paste or import a CSV to choose its columns.

Preparing the tool…

Before you start

Paste or import one UTF-8 CSV, choose its row, pivot and numeric value columns, and download a cross-tab. Count uses rows and needs no value column.

How to use this tool

  1. Paste a CSV or import a UTF-8 .csv file and check the detected rows and columns.
  2. Select one row group, one pivot column and an aggregation. Select a numeric value column unless counting rows.
  3. Inspect the preview, then download the full CSV. A combination without records is blank; a real zero is 0.

Supported inputs and limits

One CSV up to 1 MiB and 200,000 input cells; up to 500 pivot columns and 200,000 output cells. Blank group values and invalid numeric values are rejected. Count ignores the value column.

Sum, minimum and maximum use exact decimal arithmetic; repeating means retain at least 18 decimal places and are flagged as rounded. Only the first 200 output rows appear in the preview; download the full CSV. Formula-like labels are prefixed with an apostrophe in the download.

Choose one row group, one pivot column and one aggregation. Labels follow first-seen order; missing combinations stay blank and real zero is 0. No totals or compound dimensions.

Worked example

Example input

team,month,amount
A,Jan,10
A,Jan,20
B,Feb,5
Example options
{"key": "team", "pivot": "month", "value": "amount", "operation": "sum"}

Example output

team,sum:Jan,sum:Feb
A,30,
B,,5

When something does not work

Check the CSV header, select existing columns and remove blank group values. For numeric operations, correct every invalid or empty value. Split large files or choose fewer groups if a limit is reached.

Frequently asked questions

How do I choose pivot rows, columns and values?

Import a CSV, select its columns from the detected header and choose sum, count, mean, minimum or maximum. Count uses rows, so the value column is not needed.

What should the example produce?

The A/Jan sum is 30. A missing combination is blank, which differs from a real zero.

Which cases are outside its scope?

This makes one row dimension and one metric per run. It does not generate multiple row levels or several metrics at once. Limits are 1 MiB, 200,000 input cells, 500 pivot columns and 200,000 output cells.

Documentation & further reading

Related tools