JSON vs. TOON: A New Era of Human-Friendly Data Formats?
If you’ve written any code that talks to an API, you’ve written JSON. It’s been the default format for structured data on the web for over a decade. It’s simple, predictable, and supported everywhere. But it’s also verbose, rigid, and not particularly fun to read or edit by hand.
That’s where TOON, or Token-Oriented Object Notation, steps in.
Created by Johann Schopplich, TOON is a new data serialization format designed to be human-friendly without sacrificing machine efficiency. It takes inspiration from formats like JSON and YAML but introduces a structure that’s compact, tabular, and more pleasant to maintain.
What Makes TOON Different?
At first glance, TOON might look familiar. It’s indentation-based like YAML, but also includes explicit array and object definitions that make parsing unambiguous. The result is a format that sits comfortably between JSON’s strictness and YAML’s flexibility.
Here’s a quick example.
JSON
{
"user": "Codingsenpi",
"active": true,
"projects": [
{
"name": "Blog Website",
"technologies": ["Next.js", "React", "Tailwind CSS"],
"launch_date": "2025-11-07T10:00:00Z"
}
],
"settings": {
"theme": "dark",
"notifications": {
"email": true,
"push": false
}
}
}
TOON
user:
name: Codingsenpi
active: true
projects[1]{name,technologies,launch_date}:
Blog Website,[Next.js,React,Tailwind CSS],2025-11-07T10:00:00Z
settings:
theme: dark
notifications:
email: true
push: false
The TOON version is shorter, cleaner, and more readable.
No curly braces. No trailing commas. Just meaningful structure.
How TOON Works
TOON’s design is built around token efficiency, minimizing syntax noise while maintaining strict parsing rules.
Here are the key concepts:
- Objects: Defined by indentation, similar to YAML.
- Arrays: Declared using
[n]wherenis the element count. - Uniform arrays of objects: Declared in tabular form like
projects[2]{field1,field2}:. - Compact representation: Repeated keys or nested structures don’t require extra braces or delimiters.
- Readable diffs: Because of its line-based structure, changes are cleaner in version control.
This makes TOON especially attractive for configuration, data exchange, and any context where both humans and machines interact with the same files.
Advantages of TOON Over JSON
- Less syntactic noise. No braces, commas, or quotes unless necessary.
- Better readability. Structures are visible at a glance.
- Compact arrays. Especially useful for uniform data tables.
- Clear diffs. Easier to track changes in Git.
- Human-oriented. Designed to be edited directly without feeling like code.
Where JSON Still Wins
JSON isn’t going anywhere. It’s everywhere: browsers, databases, APIs, and tooling ecosystems all rely on it.
If your data moves between machines, JSON remains the safe, universal choice.
TOON, on the other hand, targets the developer-facing side of things. It’s ideal when humans need to read and tweak structured data frequently — configs, static data, content files, or documentation metadata.
Real Use Cases for TOON
- Configuration files: TOON is readable and easy to maintain by hand.
- Static data: Great for small datasets or localized content.
- Data prototyping: You can sketch structures quickly without fighting syntax.
- Versioned data: TOON’s line-based nature produces clean diffs in Git.
And since the official implementation supports TypeScript and JavaScript, integrating TOON into Node.js projects is straightforward.
The Verdict
TOON doesn’t aim to replace JSON entirely. Instead, it complements it, offering a more human-readable option where clarity matters more than strict standardization.
If JSON is the web’s machine language, TOON feels like its human dialect — expressive, structured, and easy on the eyes.
JSON remains the right choice for APIs and high-volume data interchange.
TOON is what you reach for when you actually want to read your data.