Transpose a CSV — turn rows into columns

Turn the rows of a CSV into columns and the columns into rows, with the first column becoming the new heading row. In your browser, nothing uploaded.

Transpose a CSVRunning on your device

Source

or drag one here · it stays on your device

Result

Add a file and its rows appear here as columns — with the first column as the headings — before anything downloads.

Download

Have a look at the result before downloading it.

How this works
  1. Add your file. Drop a CSV onto the page, or pick one.
  2. Choose the heading column. Usually the first; change it if not.
  3. Transpose. Check the preview, then download.
What it cannot do
  • Meant for files with hundreds of rows, not millions: a transposed million-row file has a million columns, which nothing can open.
Questions
Which column becomes the new headings?
The first one, by default, and the old headings become the first column. You can choose a different column to become the headings, or none.
Does it change any values?
No. When you transpose a CSV here, every cell is carried through as the exact text in your file — leading zeros, long numbers and dates included. To transpose a CSV is to change the arrangement, never a value: the download is written fresh with standard quoting and nothing in it is retyped.
What about a file with a million rows?
A transpose turns a million rows into a million columns, which no tool opens sensibly. This page is for the wide-to-tall and tall-to-wide files people actually transpose — hundreds of rows, not millions — and says so if a file is past that.
What if two rows would make the same heading?
The second gets a counted suffix, the way a duplicate heading is shown everywhere on this site, so no column is silently lost.
Is my file uploaded anywhere?
No. When you transpose a CSV here, the work happens inside this page and the browser is told to block outbound connections, so there is no upload to intercept. Watch the Network tab of your developer tools while you transpose a CSV: the only requests are for this site’s own code, and none carries your file.

Your file is processed in this page and never uploaded — the privacy page shows how to confirm that yourself.