tson.io

Specification

The TSON specification, split into two parts, plus room for companion specifications developed alongside it.

These documents describe the specification text. Implementations of TSON (parsers, encoders, libraries) may be licensed however you choose; the specification's license applies to the written text, not to code that implements it.

Spot an error, or have a comment on the specification? Open an issue on GitHub.

TSON Specification

  • TSON Part 1: Text Data Format
    Draft 2026·Working Draft·view raw ↗

    The notation and reference encoding of the TSON schema system: the lexer, structural grammar, absent sentinel, augmentation syntax (annotations, type annotations, directives), and base type resolution — everything needed to losslessly read and write schemaless TSON data.

  • TSON Part 2: Type System and Schema
    Draft 2026·Working Draft·view raw ↗

    The centre of the TSON series: the schema grammar, the type system and its operations, the schema chain and its resolution model, schema compilation and resolver output, the text encoding rules, and the operations of the schema, meta, and import directives.

Companion Specifications

  • TSON Developer Guide
    Draft 2026·Working Draft·view raw ↗

    Design history, rationale, extended examples, and implementation guidance for the TSON specification series. Nothing in this guide is normative; where it appears to disagree with [TSON-DATA] or [TSON-SCHEMA], the specifications govern.

Schema Source Files

The normative TSON schema source files in .tn1 format.

Resolved Fixtures

Non-normative resolver output for the schema source files above. Parse the source, run the resolver, canonicalise, and compare against these fixtures.