What is JSON, and how do you read a .json file?
Opening, reading and converting a .json file, in plain language
You clicked "download my data" in an app and ended up with a file ending in .json. Double-clicking either opened your browser or did nothing at all, and when you finally got a look inside, what you saw was a wall of curly brackets and quotation marks. This guide explains that the wall is actually a tidy list, and shows you how to read it.
The good news is that reading JSON does not require any programming. The whole format rests on one idea, and once that idea clicks, the entire file becomes legible. At the end you will also find how to turn the file into a table your spreadsheet can open.
What the file actually is
JSON is not a program, a database or a compressed package. It is nothing but plain writing: even the simplest text editor shows you its contents in full, because there is nothing concealed in the file.
Do not open it by double-clicking. Your computer will send the file to whichever program happens to be associated with the .json extension, and that is rarely useful. Instead, start Notepad — TextEdit on a Mac — with an empty window, then drag the .json file onto that window. The contents appear exactly as they are. On a phone, hold your finger on the file inside a file-manager app until its menu appears, then use the "open as text" option.
If you are wondering where the name comes from: JSON began as a way of writing values in the JavaScript language, but today practically every programming language can read and write it. When two systems need to hand data to each other, this is the most common language they share. That is also why an app's export button produces JSON rather than a spreadsheet: the file was written to be read by another program, not by you.
Keys and values: the address-label analogy
Picture a parcel label. Printed on it are field names — Name, City, Postcode — and next to each one, the detail for this particular parcel. The field names are the same on every label; what gets written beside them changes with every delivery.
JSON works in exactly that way. The unchanging field name is called a key, and what sits beside it is the value. A colon goes between the two, and a comma goes between one pair and the next. A complete record is wrapped in curly brackets, { and }, rather like the border printed round the label.
Keys are almost always written in English without spaces — name, created_at, order_id and so on — because the reader on the other end is a program. Do not rename them: the system you eventually load the data into will look for those exact words.
What the punctuation means
Every writing rule in JSON fits into five marks. Read the table once and the clutter on your screen resolves itself; everything left over is your own data.
| Mark | What it means | Where you see it |
|---|---|---|
| { } | The start and end of one record | Around each person, each order |
| [ ] | An ordered list | The outermost layer holding many records together |
| " " | A text value | Any field containing writing: names, addresses, dates |
| : | Separates a key from its value | Straight after every field name |
| , | Separates two fields or two records | At the end of lines; never after the last item |
Everything on one line: making the file legible
Files produced by software are often written with no indentation at all: the entire contents arrive as one line that runs off the edge of the screen. This is not unhelpfulness, it is economy. Spaces take up room in the file and add nothing that a program can use.
Paste the text into the JSON Formatter and Validator and it is laid out line by line, indented. Nested sections then become something you can follow with your eyes: each step of indentation means one layer deeper.
The same tool tells you whether the file obeys the rules. If a system rejects some JSON you copied from elsewhere as invalid, paste it here first and you will see which line the problem is on. The most common culprit by far is a comma left behind after the final item of a list.
I want to open it in a spreadsheet
Spreadsheets do not open .json files by double-clicking. If what you have is a list of records — that is, many entries sharing the same field names — it can be turned into a table: each key becomes a column heading and each record becomes a row. The JSON to CSV tool does precisely that, and the resulting CSV file opens in Excel, Numbers or Google Sheets.
One thing may trip you up. JSON can carry layered data; a table cannot. If a record contains another record inside it — a customer with a whole billing address tucked underneath, say — that field has no column of its own, so it is written into the cell as it stands. With files like this, decide yourself which fields deserve to become columns before you convert.
The reverse trip works too: if you have a table and a system is asking you for JSON, saving the sheet as CSV and converting from there is the shortest route.
JSON, XML and CSV: which one when?
All three carry data and all three are plain text; they differ in how much structure they can hold. If someone has asked you for a particular format the decision is already made, but where the choice is yours, the table below settles it.
| Format | Suits | Limit |
|---|---|---|
| CSV | Flat tables and spreadsheet imports | Cannot carry layered data |
| JSON | Data between applications, settings, exports | Has no way to write comments |
| XML | Enterprise systems, invoicing and document exchange | Longer and more verbose to write |
Supplying data to a system that wants XML
Some enterprise platforms, accounting packages and older integrations will not take JSON at all; they want XML. XML is plain text as well, but it expresses structure with opening and closing tags rather than curly brackets.
The JSON to XML tool handles that conversion. The one thing to know beforehand is that an XML document must have exactly one container at the very top, so the tool asks you for a root name. If the receiving side expects a particular word — orders, for instance — type that word; if it has no preference, the default will do.
Look over the output before you send it. XML's rules for element names are narrower than JSON's rules for keys: anything containing a space or beginning with a digit has to be adjusted. Those adjustments are reported rather than made silently, but a glance through the result is still a good habit.
Frequently asked questions
How do I open a .json file?
Open an empty Notepad window and drag the file onto it; JSON is plain writing and its contents appear exactly as they are. If it arrives as one endless line, paste the text into the JSON Formatter to lay it out legibly.
Can I open a JSON file in Excel?
Not directly. If the file is a list of similar records, convert it with the JSON to CSV tool: each key becomes a column heading and the resulting CSV file opens in a spreadsheet. Layered fields are written into the cell as they stand.
What is the difference between JSON and XML?
Both can carry the same data. JSON does it with curly brackets and key-value pairs, XML with opening and closing tags. JSON is shorter and dominates web services; XML turns up in enterprise document exchange and in older systems.
My JSON is rejected as invalid. How do I find the fault?
Paste the text into the JSON Formatter and Validator; the first place a rule is broken is reported with a line number. If that line looks fine, check the one above it — an unclosed quotation mark or a stray comma pushes the complaint onto the following line.
Is the data I paste sent to a server?
No. Every tool here works entirely within the browser window you already have open; the text you paste and the files you choose never leave your device.
Last updated: August 27, 2026