CSV Transpose
Swap the rows and columns of a CSV or TSV table — quoted fields with commas or line breaks stay intact, and ragged rows are padded into a clean rectangle.
You can also drop a .csv, .tsv or .txt file onto this box.
More input and output options
name,Alice,Bob,Carol q1,10,8,15 q2,12,11,7 q3,9,14,13
Rows become columns, columns become rows
CSV Transpose swaps the rows and columns of a CSV or TSV table, right in your browser. The first column becomes the first row, the first row becomes the first column, and every cell moves to its mirrored position. It is the spreadsheet "paste special → transpose" chore without opening a spreadsheet: paste your data, get the transposed table back instantly, then copy or download it. The parser follows RFC 4180, so quoted fields that contain commas, double quotes, or line breaks are moved as single cells instead of being torn apart, and the output is re-quoted correctly so it re-imports cleanly.
When to transpose a CSV
Reach for it when a table is laid out the wrong way for what you need — turning a wide table with many columns into a tall one with many rows, moving a header row into a header column so labels read down the side, or reshaping an export before charting or importing it elsewhere. Choose the delimiter — comma, tab (TSV), or semicolon (common in European Excel) — or let auto-detect pick one from the first line. The output uses the same separator unless you pick another Output separator — comma, semicolon, tab or pipe — so a semicolon export becomes a comma file in the same step, re-quoted for its new separator. Show as Table draws the flipped cells as a grid, and a .csv, .tsv or .txt file can be dropped straight onto the input box. Ragged rows are padded with empty cells so the result is always a clean rectangle. Under “More input and output options”, “Fill missing cells with” puts a value such as NULL in those holes instead — a cell that was really empty stays empty — and “Keep only input columns” keeps just the columns you list by position or range, each of which is one line of the output. Everything runs locally, so even large or confidential data never leaves your device. It pairs with the CSV to JSON, delimiter converter, and CSV to Markdown tools when you also need to change format.
Frequently asked questions
What happens to rows that have different lengths?
Ragged rows are padded with empty cells up to the widest row before transposing, so the output is always a full rectangle with no cells lost or misaligned.
Will commas, quotes, and line breaks inside a cell survive?
Yes. Fields are parsed and re-serialized following RFC 4180, so a cell containing the delimiter, double quotes, or newlines is kept whole and re-quoted so the result stays valid CSV.
Can I change the separator on the way out, or see the result as a table?
Yes. Output separator — Same as input unless you change it — writes the transposed file with a comma, semicolon, tab or pipe instead, quoting each cell for the new separator, so a semicolon export comes back as a comma file in one step; a tab-separated result downloads as .tsv. Show as Table draws the flipped cells as a grid, with the first column set off as the labels, while the text, Copy and Download keep everything.
Can it skip junk at the top of the file, or write Windows line endings?
Yes, under “More input and output options”. “Skip lines at the top” cuts that many lines before the file is read, and “Drop lines starting with” leaves out records whose first value starts with a symbol such as #; the separator is then guessed from the first line left. “Input quote character” and “Backslash escapes inside quotes” read files that quote with an apostrophe or escape with a backslash. On the way out, “Quote output values” quotes only where needed (the default) or every value, “Output quote character” picks a double quote or an apostrophe, and “Line endings” writes LF (the default) or CRLF for Windows — Copy and Download both carry the choice.
Can the padded cells say NULL instead of being blank, or can I keep only some columns?
Yes, under “More input and output options”. “Fill missing cells with” puts what you type — NULL, a zero, a dash — wherever a short row had no cell at all, while a cell that was really empty in the file stays empty; the table view shows it too. “Keep only input columns” takes positions and ranges, and since each input column becomes one line of the output, the columns you list are the lines you get, in the table’s own order. A list it cannot read keeps every column and says how to write one.