Create a pivot table

Summarize CSV by row dimensions and an optional column category, using count, sum, minimum, maximum or mean.

All processing is local, without automatic storage or input uploads. Combined UTF-8 text/files: at most 2 MiB; each table has at most 5,000 data rows, 100 columns, 100,000 cells and 20,000 UTF-16 units per cell. Output including BOM: at most 2 MiB; each worker or file-reading operation has a 5-second deadline.

Delimiters are explicit; leading zeroes, spaces and line breaks inside cells remain. Blank rows are not dropped and uneven rows are not padded. A final line terminator is not an extra record. Original files stay unchanged.

Table 1

The first row contains unique, nonempty headers; matching is exact and case-sensitive.

Read columns after entering tables or changing delimiters. Options show the column number and a name preview; selection uses the complete original name without changing spaces or line breaks. Reading again resets the key to the first column; review your choices before processing.

CSV quotes every cell and uses CRLF; downloads include a UTF-8 BOM, while copy does not. The system clipboard may normalize line breaks inside cells too; use the download to preserve their original line breaks. The default policy prefixes an apostrophe before potential leading =, +, -, @, tabs or line breaks, including headers and negative numbers. Only the export copy changes. Literal export can be interpreted as formulas by a spreadsheet application; review import-as-text settings.

How to use

Enter CSV and its delimiter, then read the columns. Select row dimensions and optionally enable a column category. Choose the aggregation, numeric column and empty-value policy when needed, and the mean’s decimal places if selected. Process, review and export.

Try an example

Group A has values 1.20 and 2.30; group B has 4. Count returns A=2 and B=1; sum returns A=3.5 and B=4; mean returns A=1.75 and B=4. Results are not padded with fractional zeroes.

Support & limits

Dimensions and categories are exact strings in first-seen order, with at most 5,000 groups within output limits. Count counts rows. Numeric aggregation accepts ASCII decimals of up to 38 digits and 12 fractional digits, without exponents, grouping or spaces. Arithmetic is exact; only the mean rounds to 0–12 places, ties away from zero, with up to 50 result digits. Only an empty string can be skipped; zero and whitespace are not empty values. Missing intersections return 0 for count/sum and empty text for min/max/mean. Headers use row:, column: or aggregate: as stable identifiers.

Common questions

Does it convert localized numbers or written prices into numbers?

It does not guess separators or currency. Dimension cells remain strings, and unsupported numeric forms are rejected rather than producing a partial or approximate total. Large values are not converted through Number. CSV quotes all cells and uses CRLF while preserving line breaks inside cells. Downloads include a UTF-8 BOM; copy does not. The system clipboard may normalize line breaks inside cells too; use the download to preserve their original line breaks. By default, formula-like cells, including headers and negative numbers, receive an apostrophe in the export copy only. Literal export leaves them unchanged, but a spreadsheet application may interpret them as formulas. Review import-as-text settings. The preview limits displayed rows and columns; copy and download include the complete result.

Related tools