Open or paste a CSV and the transposed table appears in the result: each original column becomes a row and each row becomes a column. With Include the header row on (the default), the column names become the first column and the first column becomes the new header. Values are moved, never changed, and the file is processed in your browser, never uploaded. Because rows turn into columns, the input can have at most 249 data rows.
How to transpose a CSV
- Open a
.csv,.tsvor.txtfile, drop it on the tool, or paste rows. The delimiter is detected; set it, the encoding, or First row contains column names under Import settings if needed. - Keep Include the header row on for a normal file with column names. The result updates immediately.
- Check the Result tab against the Input tab, then select Download CSV, Copy, or Open in editor.
What happens to the header
| Include the header row on | The header row is transposed with the data: month,Madrid,Osaka becomes the first column, and the values in the first column (month, 2026-01, 2026-02) become the new header. Nothing is lost. |
|---|---|
| Include the header row off | Only the data rows are transposed, and the first column of the data becomes the header. The original column names are not written. Use this when the file was imported with First row contains column names off, so its generated Column 1, Column 2… names don’t end up in the output. |
A new header has to be usable as column names, so blank values in the first column become Column 3 (by position) and repeated values get a suffix, a (2). Every rename is listed above the result. Values with spaces or unusual characters are kept as they are.
How tricky data is handled
- Values are copied exactly: leading zeros, dates and decimal commas stay as written, and multiline cells stay one value.
- Uneven rows are padded on import, so every output row has the same width; missing values are empty.
- The download keeps the source file’s delimiter, line ending, byte-order mark and encoding where the browser can write it, with minimal quoting; other legacy encodings are saved as UTF-8. Copy always gives comma-separated text.
- Transposing twice gives back the original table, unless blank or repeated values in the first column had to be renamed.
Troubleshooting
- The tool says the file is too large, but it is small. Transposing would create more than 250 columns. With the header row included, the input can have at most 249 data rows (250 with it off). Filter the rows first with Filter CSV or split the file with Split CSV.
- The new header shows Column 3 or name (2). The first column had blank or repeated values. Rename the headers afterwards in the CSV editor, or use a column with unique values as the first column by reordering in Map CSV columns first.
- The header row disappeared. Include the header row is off, which drops the column names. Turn it on.
- Everything is in one column. The delimiter was guessed wrong; set it under Import settings and open the file again.
Limits and privacy
Input files can be up to 25 MB, 100,000 rows, 250 columns and 2 million cells, but the result is also capped at 250 columns, so in practice transposing suits tables of up to 249 data rows, such as summaries, settings and survey results. The input’s columns become rows, so up to 250 columns in gives up to 250 rows out.
The table stays in this tab; nothing is sent to a server. To summarise a long table before transposing it, use Analyze CSV.
Example
Monthly revenue with one column per city, transposed with Include the header row on, so each city becomes a row and each month a column.
month,Madrid,Osaka,Lyon 2026-01,1840,2210,960 2026-02,1925,2050,1130
month,2026-01,2026-02 Madrid,1840,1925 Osaka,2210,2050 Lyon,960,1130
Questions and answers
Why is there a limit of 249 rows?
Each input row becomes an output column, and the tool works with at most 250 columns. With the header row included, it takes one of those columns, which leaves 249 for data rows.
Does transposing change my numbers or dates?
No. Values are moved to their new position exactly as written. Only blank or repeated values that become header names are renamed, and those renames are listed.
Can I turn a wide table into a long one with this?
Transposing swaps the whole table; it doesn’t unpivot selected columns into name and value pairs. For a wide-to-long reshape with key columns, this tool isn’t the right fit.