SmartQueryTools

Rename Columns in JSON Files Online

Rename columns in JSON files instantly in your browser. No upload, no server — your data stays on your device.

How to rename Columns in JSON files

  1. Drop your file onto the upload area. Every column is listed with its current name on the left and an editable box on the right.
  2. Type a new name into the box for each column you want to change. Edited boxes are highlighted. Leave the others as they are.
  3. Click Apply Renames. The button stays disabled until at least one name differs from the original.
  4. Check the preview, then click Download to save the file with the new headers in the same format.

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 customer survey tool exports question text as column headers. The analyst wants short snake_case names before loading the results into a database.

Input (JSON)

[
  {
    "Respondent ID": 1,
    "Q1: How satisfied are you?": 4,
    "Q2: Would you recommend us?": true,
    "Submitted At": "2026-06-02"
  },
  {
    "Respondent ID": 2,
    "Q1: How satisfied are you?": 2,
    "Q2: Would you recommend us?": false,
    "Submitted At": "2026-06-02"
  },
  {
    "Respondent ID": 3,
    "Q1: How satisfied are you?": 5,
    "Q2: Would you recommend us?": true,
    "Submitted At": "2026-06-03"
  }
]

Settings

  • Respondent ID → respondent_id
  • Q1: How satisfied are you? → satisfaction
  • Q2: Would you recommend us? → would_recommend
  • Submitted At → submitted_at

Result

respondent_idsatisfactionwould_recommendsubmitted_at
14true2026-06-02
22false2026-06-02
35true2026-06-03

Only the headers change. Every value, the row order and the column order stay exactly as they were, and each column keeps its type: the scores remain integers and the recommend answers remain booleans. Names without spaces or punctuation can be used in SQL without quoting.

Working with JSON files

Renaming a column renames that key in every object of the array. This is useful when an API returns camelCase keys, such as createdAt, and a database expects created_at, or when two sources name the same field differently and you want to merge them. Only top-level keys are listed. Keys inside nested objects keep their names. Renaming keys to match another file is a common step before Merge, which lines up columns by name.

The output keys appear in the same order as before, with the new names. Values are untouched, so numbers, booleans, nested objects and arrays come out exactly as they went in. A dot in a new name, such as user.id, is just part of the key text. It does not create a nested object. An object that was missing a key still gets the renamed key in the output, with the value null. The array is written back pretty-printed, with the renamed keys in their original positions.

Frequently Asked Questions

Can I rename a nested JSON key like address.zip?

Not directly. Flatten the JSON first so the nested key becomes a top-level column, then rename it.

Does a dot in a new JSON key create nesting?

No. A name like user.id is stored as a single flat key containing a dot.

What happens if I give two columns the same name?

Column names must be unique, so the engine adds a numeric suffix to the repeated name, for example total and total_1. Check the preview before downloading.

What if I clear a name box completely?

An empty box is ignored and that column keeps its original name. Leading and trailing spaces in a typed name are also removed.

Does renaming change any data?

No. Only the headers change. Values, types and the order of rows and columns stay the same.

Related Tools