JSONata playground
Last updated on 6 Mar 2026
Overview
Inspired by the original JSONata Exerciser, this is an online code editor for evaluating and debuging JSONata expressions that offers additonal features such as:
- intuitive user interface
- automatic completion for built-in JSONata functions
- local or remote storage with team collaboration
- javascript bindings
- conversational AI assistant
Developing JSONata expressions
To offer a great development experience when writing JSONata expressions, the JSONata editor has useful IntelliSense features.
Code completion
Typing a $ symbol will show a list of built-in JSONata functions including the arguments a function expects
Quick info
Hovering over a function within a block will bring up a tooltip with the function signature.
Member lists
Typing a . symbol after the context reference $ will show a list of properties of the JSON input if it is an object.
Go to definition
In most situations, holding Ctrl/Cmd and clicking on a name in a valid JSONata path will move the cursor to the property with the same name in the JSON input editor.
For example, holding Ctrl/Cmd and clicking on the name first in the expression
$.name.first
will take you to the child property "first" on line 3 of the JSON input:
{
"name": {
"first": "JSONata", // <-- $.name.first
"last": "Studio"
}
}
Saving playgrounds
You can save playgrounds to local and remote storage, or download them as a JSON file.
Local playgrounds are stored in your browser and are accessible only on the device they were saved from. You do not need to register an account to save playgrounds localy.
Remote playgrounds are stored in a database and are accessible on any device connected to the internet. You need to register an account and purchase a subscription to save playgrounds remotely. See pricing for more information.
Downloaded playground files are simply JSON files containing the playground inputs in the following schema:
{
json?: "string" | null
jsonata: "string"
bindings?: "string" | null
__metadata: {
file_schema_version: "string"
}
}
Like with sharing playgrounds, a JSONata expression is the only input required for saving or downloading a playground. The JSON input and bindings are optional. The JSON output is never stored but is always evaluated when the playground loads.
Sharing playgrounds
Public playgrounds
Registered users can create public links to JSONata playgrounds, and unregistered users can only view them.
When you share a playground publicly, the generated link will allow anyone access to the playground even if they don't have an account at JSONata Studio.
Like with saving playgrounds, a JSONata expression is the only input required for sharing a playground. The JSON input and bindings are optional. The JSON output is never stored but is always evaluated when the playground loads.
Team playgrounds
Registered users with an active subscription can create a team and invite other subscribed users to collaborate on JSONata playgrounds.
When you share a playground with a team, it is visible and editable only by the members of that team.
Learn more about team playgrounds.
Debugging playgrounds
When there's an issue with one of the inputs, the output editor will show a message pointing to the cause of the issue. For examples of common types of error messages, see the JSON output editor.
If the JSON output is not sufficient in helping you resolve an issue, consider utilising the built-in AI assistant.
Managing playgrounds
To view, update or delete any of your saved or shared playgrounds, you can do so via the Admin Dashboard.