SmartQueryTools

Transpose JSON Files Online

Transpose JSON files — flip rows and columns — directly in your browser. No upload, no server.

How to transpose JSON files

  1. Drop your file onto the upload area. The tool shows the row and column count and previews the first 200 rows.
  2. Check the notice above the preview. Files with more than 500 rows are transposed using only the first 500 rows.
  3. Click Transpose. Each original column becomes a row, and the counts update to show the new shape.
  4. Review the transposed table, then click Download CSV. The result is always saved as a CSV file named after your input with _transposed added.

Your file is processed locally in your browser and is never uploaded. The free limit is 50 MB per file; larger files work if your device has the memory for them.

Worked example

A web team keeps quarterly visit totals with one row per region. A slide template needs the quarters running down the page and the regions across the top.

Input (JSON)

[
  {
    "region": "North",
    "q1_visits": 1840,
    "q2_visits": 2105,
    "q3_visits": 1990
  },
  {
    "region": "South",
    "q1_visits": 960,
    "q2_visits": 1130,
    "q3_visits": null
  },
  {
    "region": "West",
    "q1_visits": 2410,
    "q2_visits": 2290,
    "q3_visits": 2675
  }
]

Settings

  • No options. The first 500 rows are transposed (this file has 3).

Result

FieldRow_1Row_2Row_3
regionNorthSouthWest
q1_visits18409602410
q2_visits210511302290
q3_visits19902675

Three rows and four columns become four rows and four columns. The old header names move into a new first column called Field. The new headers are Row_1, Row_2 and Row_3, not the region names. Every value is written as text, and the missing Q3 figure for South becomes an empty cell.

Working with JSON files

A JSON array of objects loads as one row per object, with each key as a column. After transposing, each object becomes a column named Row_1, Row_2 and so on in array order, and each key becomes a row in the Field column. Keys that are missing from some objects become empty cells for those objects.

Numbers and booleans are converted to text, so true becomes the word true in the CSV. A nested object such as "address": {...} is written into one cell as JSON text, and arrays are written the same way, such as ["red","blue"]. Run Flatten JSON first if you want each nested field on its own row. The download is CSV, not JSON. The order of the Field column follows the column order found when the file was loaded, which is normally the order keys first appear. Records past the 500th object in a large array are not included.

Frequently Asked Questions

Can I transpose JSON into a key-by-record table?

Yes. That is what this tool produces: one row per key and one column per object. It is a quick way to compare a few records side by side.

How are nested JSON fields shown after transposing?

Each nested object or array is written into one cell as JSON text. It is not expanded into separate rows. Flatten the JSON first so each nested field becomes its own key, then transpose the flattened file.

What do the column headers look like after transposing?

The first column is called Field and holds your original column names. The other columns are named Row_1, Row_2 and so on, one per original row. The values in your first column do not become headers.

Is there a row limit?

Yes. Only the first 500 rows are transposed, which gives at most 501 output columns. The tool warns you before you click Transpose if your file has more rows than that.

What format is the transposed file saved in?

Always CSV, whatever format you uploaded. All values are written as text and empty values become empty cells.

Related Tools