Skip to content

toon-format/spec

Repository files navigation

TOON Format Specification

SPEC v4.1 License: MIT

This repository contains the official specification for Token-Oriented Object Notation (TOON), a line-oriented, indentation-based encoding of the JSON data model. See github.com/toon-format/toon for an overview, rationale, and benchmarks.

📋 Specification

→ Read the full specification (SPEC.md)

  • Version: 4.1 (2026-07-26)
  • Status: Working Draft
  • License: MIT

The specification includes ABNF snippets, encoding rules, validation requirements, and conformance criteria.

Serialization Example

Uniform arrays of objects collapse into a tabular form that declares the field list once (§9.3):

TOONJSON
users[2]{id,name}:
  1,Ada
  2,Bob
{
  "users": [
    { "id": 1, "name": "Ada" },
    { "id": 2, "name": "Bob" }
  ]
}

That is one of TOON's four forms. The other three, with worked examples in examples/:

Form What it renders Example
Inline (§9.1) Primitive arrays, on the header line itself primitive-arrays.toon
List (§9.2, §9.4) Arrays that fit neither inline nor tabular form, one - item per element mixed-arrays.toon
Tabular (§9.3) Arrays of uniform objects, as shown above tabular-arrays.toon
Keyed tabular (§9.5) Objects whose values are uniform objects, as rows that carry their own key keyed-tabular-objects.toon

Within tabular form, a uniform nested-object column folds into the header as a nested field group (customer{name,country}) while rows stay flat – see nested-field-groups.toon.

See examples/README.md for the annotated index and SPEC.md Appendix A for more shapes.

Media Type & File Extension

Media type text/toon (provisional, UTF-8), file extension .toon. See §17 of SPEC.md.

Contributing

See CONTRIBUTING.md for how to propose changes and when an RFC is required. For implementation-specific questions or bugs, use the respective implementation repository.

Versioning

The TOON specification uses MAJOR.MINOR versioning. See VERSIONING.md for the policy and compatibility guarantees.

Resources

License

MIT License © 2025-PRESENT Johann Schopplich

About

Official specification for Token-Oriented Object Notation (TOON)

Resources

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages