Back to the list


The JSON data interchange syntax

2nd edition, December 2017

JSON is a lightweight, text-based, language-independent syntax for defining data interchange formats. It was derived from the ECMAScript programming language, but is programming language independent. JSON defines a small set of structuring rules for the portable representation of structured data.

The goal of this specification is only to define the syntax of valid JSON texts. Its intent is not to provide any semantics or interpretation of text conforming to that syntax. It also intentionally does not define how a valid JSON text might be internalized into the data structures of a programming language. There are many possible semantics that could be applied to the JSON syntax and many ways that a JSON text can be processed or mapped by a programming language. Meaningful interchange of information using JSON requires agreement among the involved parties on the specific semantics to be applied. Defining specific semantic interpretations of JSON is potentially a topic for other specifications. Similarly, language mappings of JSON can also be independently specified. For example, ECMA-262 defines mappings between valid JSON texts and ECMAScript’s runtime data structures.

This edition has been prepared under the Ecma RF patent policy.

Download this standard


  • JIS X 3061:2021 (Japanese translation)No file available


CategorySoftware engineering and interfaces

SubcategoryProgramming languages

Technical CommitteeTC39

ISO/IEC number21778


  • ECMA-404, 1st edition, October 2013Download