JSON to JavaScript Converter
Convert between JSON and a JavaScript object literal without either document leaving your browser.
JSON
Syntax colouring is off for this document because recolouring something this large on every keystroke would slow typing down. Every tool still works normally.
JavaScript
Syntax colouring is off for this document because recolouring something this large on every keystroke would slow typing down. Every tool still works normally.
The result appears here.
Runs entirely in your browser. Nothing you paste is uploaded, and you can confirm that in your browser Network tab.
About this tool
JavaScript and JSON are close enough that any JSON document is already a valid JavaScript expression, but JavaScript adds conveniences JSON forbids. Writing, a key that is a valid identifier is written bare, an empty object or array stays on one line, and numbers travel through the token stream, so a twenty digit integer comes back with all twenty digits. Reading, an object literal with unquoted keys, single quoted strings, comments, trailing commas, template literals without interpolation and a leading const, let or var name are all accepted, and a number spelling JSON rejects, such as .5, 5. or 5.e3, is normalized to its exact JSON form. Everything JSON cannot hold is refused by name rather than guessed at: undefined, NaN and Infinity, hex, octal or binary numbers, numeric separators, a leading zero, a regular expression, a function and template interpolation. A key that appears twice is refused, and a __proto__ key whose value is an object or null is refused too, because in a JavaScript object literal that spelling sets the prototype instead of creating a property. An undefined can become null when you opt in, since JSON has no undefined and silently replacing a value can change what the data meant.
How to use
- Choose a direction, then paste your document into the left pane or load the sample.
- Pick the indent width, then press Convert.
- Copy the result or download it as a file.