Wat is TOON-formaat?

TOON (Token-Oriented Object Notation) is een compact, menselijk leesbaar data‑serialisatieformaat dat specifiek is ontworpen voor grote taalmodellen (LLMs). In tegenstelling tot JSON, dat veldnamen voor elk object in een array herhaalt, declareert TOON veldnamen één keer en stroomt vervolgens de gegevens in rijen — vergelijkbaar met CSV maar met een expliciete structuur. Dit ontwerp vermindert doorgaans het token‑gebruik met 30‑60 % ten opzichte van geformatteerd JSON, vooral voor uniforme object‑arrays. TOON combineert de inspringings‑gebaseerde structuur van YAML voor geneste objecten met de tabel‑efficiëntie van CSV, geoptimaliseerd voor LLM‑contexten waar token‑kosten belangrijk zijn.

Toolbeschrijving

Deze converter transformeert data bidirectioneel tussen JSON‑ en TOON‑formaten. Plak eenvoudig je JSON‑data om compacte TOON‑output te genereren, of converteer TOON terug naar standaard JSON. De tool maakt gebruik van de officiële @toon-format/toon‑bibliotheek om nauwkeurige conversie te garanderen. TOON is bijzonder effectief voor datasets met herhaalde structuren — zoals gebruikersrecords, transactielogs, API‑reacties of welke tabel‑data dan ook — waar het verminderen van het token‑aantal de efficiëntie verbetert bij het werken met LLM’s.

Voorbeelden

JSON‑invoer:

{
  "users": [
    { "id": 1, "name": "Alice", "role": "admin" },
    { "id": 2, "name": "Bob", "role": "user" }
  ]
}

TOON‑uitvoer:

users[2]{id,name,role}:
  1,Alice,admin
  2,Bob,user

Voorbeeld van geneste structuur:

JSON met geneste objecten wordt omgezet naar geïndenteerd TOON‑formaat:

{
  "order": {
    "id": "ORD-456",
    "items": [
      { "sku": "A1", "qty": 2, "price": 19.99 },
      { "sku": "B2", "qty": 1, "price": 29.99 }
    ],
    "total": 69.97
  }
}

Wordt:

order:
  id: ORD-456
  items[2]{sku,qty,price}:
    A1,2,19.99
    B2,1,29.99
  total: 69.97

Functies

  • Bidirectionele conversie tussen JSON‑ en TOON‑formaten met volledige getrouwheid
  • Significante tokenreductie (30‑60 % minder tokens vs JSON voor uniforme arrays)
  • Behoudt datastructuur inclusief geneste objecten, arrays en primitieve waarden
  • Automatische formaatdetectie en optimale coderingsstrategie
  • Menselijk leesbare output met duidelijke tabelstructuur voor uniforme data
  • Type‑veilig conversie die nummers, booleans, null en strings correct behoudt
  • Behandelt randgevallen inclusief lege arrays, geneste structuren en gemengde types
  • Realtime conversie met directe resultaten terwijl je typt

Gebruikssituaties

  1. LLM API‑optimalisatie – Verminder tokenkosten bij het verzenden van gestructureerde data naar GPT, Claude of andere LLM’s door JSON‑payloads naar TOON‑formaat te converteren vóór API‑aanroepen
  2. Data‑analyse prompts – Bereid datasets voor LLM‑analyse voor met efficiëntere codering, waardoor grotere datasets binnen de contextlimieten passen
  3. Gestructureerde data‑generatie – Gebruik TOON in prompts om LLM’s tabulaire data efficiënter te laten genereren dan met JSON
  4. Log‑verwerking – Converteer applicatielogs of analytische data naar een compact formaat voor LLM‑gebaseerde analyse en samenvatting
  5. Configuratiebeheer – Transformeer configuratiebestanden naar een token‑efficiënt formaat wanneer LLM’s worden ingezet voor infrastructuurbeheer of DevOps‑taken

Details over tokenefficiëntie

TOON behaalt aanzienlijke tokenbesparingen via verschillende optimalisaties:

  • Geen herhaalde veldnamen – Declareert velden één keer in de header in plaats van voor elk object te herhalen
  • Minimale interpunctie – Verwijdert overbodige haakjes, accolades en aanhalingstekens waar veilig
  • Tabel‑formaat – Gebruikt CSV‑achtige rijen voor uniforme object‑arrays
  • Delimiter‑flexibiliteit – Ondersteunt komma (standaard), tab of pipe‑delimiters voor optimale tokenisatie

Token‑vergelijkingsvoorbeeld (met GPT‑5‑tokenizer):

  • JSON (geformatteerd): 100 werknemersrecords ≈ 49 776 tokens
  • TOON: dezelfde data ≈ 17 635 tokens (64,6 % reductie)
  • CSV: ≈ 15 583 tokens (meest compact, maar zonder structuur)

TOON biedt de beste balans tussen compactheid en structurele integriteit voor LLM‑toepassingen.

Overzicht van het formaat

Objecten: eenvoudige sleutel‑waardeparen met inspringing voor nesting

id: 123
name: Ada
active: true

Arrays: lengte gedeclareerd in vierkante haken, primitieve arrays inline

tags[3]: reading,gaming,coding

Tabular Arrays: uniforme objecten geformatteerd als tabellen met veld‑headers

items[2]{sku,qty,price}:
  A1,2,9.99
  B2,1,14.5

Quoting‑regels: strings worden alleen gequote wanneer nodig (bij aanwezigheid van delimiters, dubbele punten, of wanneer ze op andere types lijken)

Conversieopmerkingen

Bij het converteren van JSON naar TOON:

  • Uniforme object‑arrays gebruiken automatisch het tabel‑formaat
  • Geneste structuren behouden correcte inspringing
  • Niet‑JSON‑types (undefined, functions) worden omgezet naar null
  • Datums worden omgezet naar ISO‑strings
  • Nummers vermijden wetenschappelijke notatie

Bij het converteren van TOON naar JSON:

  • Behoudt standaard JSON‑formattering met een inspringing van 2 spaties
  • Valideert array‑lengtes en veld‑consistentie
  • Escape speciale tekens correct
  • Behoudt type‑informatie (nummers, booleans, null)