Transpose rows and columns

Turn CSV rows into columns with explicit header handling, without padding missing cells or changing values.

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

Each participating input row becomes a column, so at most 100 rows can participate, including headers when selected. There are no generated names or padding; promoted headers must be unique and nonempty. With no input header, the inclusion option does not change the data.

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

Paste CSV or choose a UTF-8 file and set its delimiter and input-header status. Include or exclude input headers during transposition, then choose whether the first output row becomes headers. Process, review dimensions, then copy or download CSV.

Try an example

Input A,B followed by 1,2 and 3,4 becomes rows A,1,3 and B,2,4 when input headers are included and output headers are disabled. Excluding the input header produces rows 1,3 and 2,4.

Support & limits

Each participating row becomes a column, so at most 100 rows may participate, including input headers when included. Uneven rows are not padded and header names are not generated. Promoting the first output row requires unique nonempty values. When the input has no header, the header option does not exclude its first data row. Cells remain strings with their zeroes and spaces.

Common questions

Are columns lost when the preview shows only a limited page?

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