JSON

What is a JSON file?

The data format of the web. Nested structures, read by every programming language.

What JSON is

JSON is a plain-text format you can open in any editor. It is used for moving data between programs and the web.

The extension is .json, and the full name is JavaScript Object Notation. Both matter less than what the file can hold, which is what the rest of this page is about.

Where JSON came from

It dates from 2001. The specification is RFC 8259.

Age is worth knowing here for one practical reason: the older a format is, the more programs have had time to learn it.

The specification is public

Anyone can implement it without asking permission or paying a licence, which is why it turns up in so many programs and why files written twenty years ago still open.

Nothing is thrown away

JSON stores its content exactly. Saving it again changes nothing, so it can be opened, edited and re-saved as often as you like without accumulating damage — which is what makes it a working format rather than a delivery one.

There is nowhere to leave a note

JSON has no comment syntax. Anything explanatory has to live outside the file, which is worth knowing before choosing it for something a human will edit by hand.

What opens JSON

Visual Studio Code, jq and Postman read it, and so do most programs of the same kind.

If a file will not open, the format is rarely the problem — it is more often that the program predates it. Converting to something older is the reliable way past that, and it is what the rest of this site is for.

Opening it in a browser

Every current browser reads it.

That makes it a safe thing to put on a page or attach to a message without wondering what the other end has installed.

It is a working format

JSON is meant to be opened and changed. Keep the file in this format for as long as the work is going on, and export from it whenever a finished copy is needed.

The facts, in one place

Identifiers and provenance for the JSON format.
Extension.json
Media typeapplication/json
First published2001
SpecificationRFC 8259

Converting JSON to something else

Converting something else to JSON

Formats worth considering instead of JSON