{
  "$type": "site.standard.document",
  "bskyPostRef": {
    "cid": "bafyreidskti6462frwbkmx75zgxptii4guc6vfvhx2bqyp54g4gbct7ehu",
    "uri": "at://did:plc:25rdn5elo5izoxrmtis34zuk/app.bsky.feed.post/3mohsm43z6vi2"
  },
  "coverImage": {
    "$type": "blob",
    "ref": {
      "$link": "bafkreig3aaxa57kckzjcxpw4kgqki7c2noodk6zrioryk5agzwcofee7rq"
    },
    "mimeType": "image/webp",
    "size": 153820
  },
  "path": "/ankursonidev/how-to-convert-json-to-excel-nested-json-ndjson-gst-38pe",
  "publishedAt": "2026-06-17T07:15:55.000Z",
  "site": "https://dev.to",
  "tags": [
    "json",
    "webdev",
    "productivity",
    "dataanalyst",
    "jsontoexcel.in",
    "flattens nested JSON into columns.",
    "converting NDJSON to Excel",
    "GST returns like GSTR-2B"
  ],
  "textContent": "**Last week a JSON-to-Excel tool quietly changed my data and I almost shipped it to a client.**\n\nI pasted an API response into the top \"JSON to Excel\" tool on Google, downloaded the file, and opened it - an order ID ending in `...3456` now ended in `...3400`.\n\nNo error. No warning. The spreadsheet looked perfect. The data was just wrong.\n\nThat's the worst kind of bug - the silent one. You trust it, you ship it, and you find out weeks later when the numbers don't reconcile.\n\nThen I found out _why_. It's not really the tool's fault. It's JavaScript.\n\n##  The 10-second demo that should scare you\n\nOpen your console:\n\n\n\n    JSON.parse('{\"id\": 1099511627776123456}').id\n    // → 1099511627776123400   ❌ last digits gone\n\n    JSON.parse('{\"id\": 9007199254740993}').id\n    // → 9007199254740992      ❌ off by one\n\n\nJS numbers are IEEE-754 doubles. The largest integer they hold exactly is `Number.MAX_SAFE_INTEGER` = `9007199254740991` (2⁵³−1). Anything bigger - 64-bit DB IDs, Discord/Twitter snowflakes, GST invoice numbers - gets rounded by `JSON.parse` **before your converter even runs.**\n\nThe kicker: even if a tool parses it right, Excel _also_ stores numbers as float64 so it has to write the value as a **text cell** or the rounding comes right back. Most tools don't.\n\n##  Three more traps\n\n**Leading zeros** → `Number(\"007890\")` is `7890`. Account numbers and PINs die instantly.\n\n**Formula injection** → a cell value of `=1+1` (or `=HYPERLINK(...)`) can _execute_ when Excel opens the file. If that JSON came from user input, it's a security hole. Safe tools write it as text.\n\n**Dates** → some tools silently timezone-shift `2026-03-31` into a different value. You won't catch it unless you look hard.\n\n##  The 30-second test (save this)\n\nPaste this into any converter, open the result, check three things:\n\n\n\n    [\n      { \"id\": 1099511627776123456 },\n      { \"acct\": \"007890\" },\n      { \"price\": 99.5 }\n    ]\n\n\n  1. Did the ID keep **all 19 digits**?\n  2. Did `007890` keep its **leading zero**?\n  3. Is `99.5` still a **number you can SUM** (not text)?\n\n\n\nFail any one, and you've been shipping subtly wrong spreadsheets.\n\n##  Doing it right\n\nA correct converter threads a needle: preserve unsafe values (big IDs, leading zeros) as **text** , but keep clean numbers **numeric** so you can still do math - guard formula cells, leave dates alone unless asked.\n\nI got tired of tools that didn't, so I built one that does - client-side, so your JSON never leaves the browser (it's data; it shouldn't): **jsontoexcel.in**. Free, no signup, passes the test above, handles nested JSON, and even parses Indian GST returns (GSTR-2A/2B/1) that most tools choke on. It is not limited to single input format only. It handles 15-20 input formats similar to JSON/NDJSON.\n\nIn a nested-data section: \"…here's how it **flattens nested JSON into columns.**\n\nIn a logs/data section: \"…for log files, see **converting NDJSON to Excel**\n\nit even handles **GST returns like GSTR-2B**\n\nBut seriously - **whatever tool you use, run the test first.** 30 seconds now beats a corrupted report later.\n\n**What's the worst silent data corruption that's bitten you?** Drop it below 👇 - I'm collecting edge cases.",
  "title": "How to Convert JSON to Excel - Nested JSON, NDJSON & GST"
}