TOON vs JSON: Il formato che taglia il 60% dei token nei prompt AI

Hai mai pensato che JSON ti stia costando il doppio in token? TOON è un formato che taglia del 30-60% i costi dei prompt mantenendo la struttura. Zero parentesi, zero virgolette, massima leggibilità. Scopri se conviene migrare →

Quando usi un modello come ChatGPT, Claude o Gemini per lavorare con dati strutturati, probabilmente ti affidi al solito formato JSON. È lo standard universale ma anche uno dei più costosi in termini di token.
Ogni parentesi, virgoletta e virgola è un token in più da pagare, e quando gestisci migliaia di record… il conto sale.

Da questa esigenza è nato TOON, acronimo di Token-Oriented Object Notation: un formato compatto, leggibile e ottimizzato per i modelli linguistici, progettato per ridurre del 30-60% i token rispetto al JSON senza perdere struttura o chiarezza.

👉 Repositorio ufficiale: github.com/toon-format/toon

Origine e razionale tecnico

I Large Language Model (LLM) comprendono il mondo come una sequenza di token.
Ogni simbolo, parentesi o virgolette nei tuoi dati JSON diventa un token e quindi un costo, un tempo di elaborazione e una barriera alla velocità.

Formati come JSON, YAML o XML non sono nati per dialogare con modelli linguistici: contengono ridondanze e punteggiatura superflua.
TOON nasce proprio per risolvere questo: ridurre al minimo la sintassi e massimizzare la leggibilità per modello e umano insieme.

La sua logica è semplice ma geniale:

  • niente {} o []
  • niente doppi apici
  • solo indentazione e righe tabellari
  • le chiavi vengono dichiarate una sola volta

In pratica, unisce la chiarezza di YAML, la compattezza del CSV e la struttura del JSON.

Come funziona (e quanto risparmi)

Ti sta piacendo?

Ricevi una guida pratica ogni settimana. AI, tool e automazioni.

JSON classico

{
  "utenti": [
    { "id": 1, "nome": "Alice", "ruolo": "admin" },
    { "id": 2, "nome": "Bob", "ruolo": "user" }
  ]
}

TOON equivalente

utenti[2]{id,nome,ruolo}:
  1,Alice,admin
  2,Bob,user

Stesso significato.
Meno della metà dei token.
I modelli lo comprendono facilmente perché la struttura è autoesplicativa.

Benchmark estesi e dati reali

Diagramma che mostra il confronto tra JSON e TOON nel flusso verso un LLM, evidenziando un risparmio di token del 30-60% e maggiore accuratezza di retrieval.
TOON riduce i token del 30-60% rispetto a JSON mantenendo la stessa struttura dei dati, migliorando la velocità e l’efficienza nei Large Language Models.

Le prove ufficiali mostrano risparmi di 30-60% di token su dataset ampi e uniformi (ad esempio liste di utenti, prodotti, eventi, ordini).
Su 10.000 record utenti, un JSON formattato può richiedere ~10.000 token, mentre TOON solo ~4.500.

Tabella comparativa (estratto dai benchmark ufficiali)

FormatoToken necessariAccuratezza mediaNote principali
JSON classico10.00069.7%Verboso, universale
TOON4.50073.9%Ottimo equilibrio costo/accuratezza
CSV3.90052.3%*Più compatto, ma perde struttura
YAML7.00053.6%Leggibile ma inefficiente
XML10.10067.1%Struttura pesante e ridondante

CSV è ideale solo per dati completamente tabellari, senza annidamenti.

Nei test pubblicati su GitHub, TOON ha mostrato:

  • fino al 61% di risparmio token
  • accuratezza maggiore del 4% rispetto al JSON
  • latenza inferiore, grazie a meno simboli da processare

Quando TOON è la scelta giusta (e quando no)

Perfetto per:

  • Tabelle di dati uniformi (“Excel-like”) → utenti, prodotti, log, ordini
  • Prompt e agenti AI che leggono liste o tabelle con intestazioni fisse
  • Dataset omogenei, grandi e ripetitivi, dove contano costi e chiarezza

Da evitare con:

  • Strutture profondamente annidate o eterogenee
  • Configurazioni complesse (oggetti JSON multipli e variegati)
  • API e microservizi che richiedono solo JSON o YAML

In breve: se i tuoi dati sembrano un foglio Excel → usa TOON.
Se sembrano un albero di Natale → resta su JSON.

Come provarlo subito

Installazione

npm install @toon-format/toon

Conversione rapida

import { encode, decode } from "@toon-format/toon";

const data = {
  utenti: [
    { id: 1, nome: "Alice", ruolo: "admin" },
    { id: 2, nome: "Bob", ruolo: "user" }
  ]
};

console.log(encode(data));

🟢 Output:

utenti[2]{id,nome,ruolo}:
  1,Alice,admin
  2,Bob,user

Puoi anche usare il CLI ufficiale:

cat data.json | npx @toon-format/cli --stats

Così vedi immediatamente il risparmio token.

Prompting con TOON: esempio pratico

Input al modello

Analizza questi dati TOON (tab-separated, 2 spazi di indentazione)
e restituisci solo gli utenti con ruolo = "user".

```toon
utenti[3	]{id	nome	ruolo}:
  1	Alice	admin
  2	Bob	user
  3	Clara	user
```

Il modello restituirà automaticamente una risposta in TOON con lo stesso header, risparmiando token e tempo di parsing.

Best practice e consigli d’uso

  • Usalo solo dove serve: converti in TOON solo nel tratto tra backend e modello AI; mantieni JSON per API e storage.
  • Delimitatore tab (t): spesso riduce ulteriormente i token rispetto alla virgola.
  • Valida sempre l’output: usa decode() con strict per intercettare errori o [N] errati.
  • Header chiaro = risultati coerenti: specifica sempre campi e ordine.
  • Non forzarlo su strutture profonde: rischi di perdere efficienza.

TOON e embedding nei database vettoriali

Ha senso usare TOON per embedding in un vector DB?

La risposta è sì, in parte se parliamo di dati tabellari o semi-strutturati.

Gli embedding trasformano testo in vettori numerici, quindi la cosa più importante è la coerenza e la compattezza del testo.
TOON aiuta proprio in questo: fornisce stringhe brevi, coerenti e consistenti per record uniformi.

Esempio pratico

prodotti[1]{sku,nome,prezzo,descrizione}:
  A1,Notebook Pro,1299.00,"Laptop 14 pollici con schermo OLED"

Ogni riga può diventare una stringa da embeddare, creando vettori coerenti tra record simili.

Quando funziona bene:

  • Cataloghi, ticket, clienti, ordini
  • FAQ strutturate o knowledge base con pattern ripetuti

Quando è meno utile:

  • Testi lunghi e naturali (articoli, descrizioni, conversazioni)
  • Dati numerici o gerarchici (meglio come metadata filtrabili)

Strategia consigliata

  1. Mantieni JSON come formato sorgente.
  2. Converti ogni record in TOON (una riga = un elemento).
  3. Embeddalo nel database vettoriale (es. AstraDB, Supabase, Pinecone).
  4. Aggiungi metadata per filtri numerici o categoriali.

💡 Risultato: embedding più consistenti, query semantiche più affidabili e meno rumore.

Ecosistema e adozione

TOON è un progetto open-source recente ma in rapida crescita.
È già compatibile con:

  • Node.js / TypeScript
  • Python (in sviluppo)
  • CLI multipiattaforma
  • integrazioni in n8n, LangChain, Claude Desktop, agent frameworks e pipeline AI.

Il formato è stato proposto nell’ottobre 2025, ma in poche settimane ha raccolto oltre 13.000 stelle su GitHub, con implementazioni in Rust, Go, PHP, Kotlin e Swift.

🔗 Repo ufficiale: github.com/toon-format/toon

Limiti ancora aperti

Nessun formato è perfetto, e TOON non fa eccezione:

  • Meno adatto a dati profondamente annidati o eterogenei
  • Ecosistema ancora giovane, meno tool enterprise rispetto a JSON
  • Alcuni modelli quantizzati (come Ollama o Mistral locali) possono processare JSON compatto leggermente più veloce
  • Non tutti i tokenizzatori reagiscono uguale: i vantaggi si misurano con test reali sul tuo modello

Conclusione

TOON non vuole sostituire il JSON.
È un’estensione intelligente per chi lavora con AI, automazione e LLM, un formato “ibrido” che permette di:

  • risparmiare token, quindi denaro,
  • mantenere struttura e chiarezza,
  • ridurre errori di parsing nei modelli.

In un mondo in cui le aziende affidano sempre più analisi e workflow agli LLM, TOON può diventare una lingua franca tra back-end e AI, migliorando efficienza e standardizzazione dei prompt.

Come dice uno degli sviluppatori del progetto:

“TOON è come il JSON, ma scritto con la grammatica che piace ai modelli.”

FAQ su TOON

Cos’è TOON e perché è diverso da JSON?
TOON (Token-Oriented Object Notation) è un formato dati ottimizzato per modelli linguistici AI, che elimina parentesi e virgolette riducendo fino al 60% i token necessari rispetto a JSON, mantenendo però struttura e leggibilità.

Quando conviene usare TOON?
TOON è ideale per dati tabellari uniformi come liste di utenti, cataloghi prodotti, log e dataset ripetitivi; ottimizza costi e performance dei modelli AI.

Posso sostituire completamente JSON con TOON?
No, TOON affianca JSON nei flussi AI. JSON resta indispensabile per API, storage e dati più complessi o profondamente annidati.

TOON funziona anche per embedding in database vettoriali?
Sì, in particolare per record strutturati e uniformi, dove l’input coerente e compatto aiuta a ottenere embedding più consistenti e query semantiche migliori.

Come posso provare TOON?
TOON è open-source e disponibile su NPM. Puoi installarlo facilmente con npm install @toon-format/toon e convertire JSON in TOON e viceversa con pochi comandi.

Nuovo su Google

Aggiungi francescogruner.it come fonte preferita

Se leggi spesso i miei articoli su AI, automazione e tecnologia, ora puoi dire a Google che vuoi vedere più spesso i contenuti di francescogruner.it tra le notizie.

Francesco Gruner
Francesco Gruner

Sono un consulente IT, divulgatore e imprenditore tech. Mi occupo di automazione, AI e gestione di sistemi e infrastrutture IT, cercando soluzioni semplici a problemi complessi. Qui condivido strumenti, esperimenti e idee utili.