Formattare, convalidare e minificare JSON

Incolla il tuo JSON: lo strumento lo controlla all’istante, indica il punto esatto dell’errore con una spiegazione e restituisce il risultato formattato o minificato, pronto da copiare. Niente viene caricato su un server.

Incolla o scrivi JSON – viene controllato a ogni modifica.

Il tuo testo resta nel browser: non viene inviato, non viene salvato e non compare nell’indirizzo della pagina.

Ordina le chiavi di ogni oggetto (anche quelli annidati); l’ordine degli elementi negli array resta invariato.
I dati inseriti vengono salvati solo in questo browser.

Risultato

Risultato
✓ JSON valido
Statistiche
Valori: 15 · Oggetti: 4 · Array: 1 · Chiavi: 12 · Profondità: 4 · Caratteri: 212 → 307
Uscita
{ "azienda": "Esempio SpA", "fondazione": 2019, "attiva": true, "fatturato": 1250000.50, "sedi": [ { "citta": "Milano", "dipendenti": 42 }, { "citta": "Roma", "dipendenti": 17 } ], "contatto": { "email": "info@esempio.it", "telefono": null } }

Come si calcola

Cosa controlla lo strumento

Il riferimento è la RFC 8259, lo standard internet per JSON (equivalente a ECMA-404). Lo strumento legge il tuo testo carattere per carattere con un proprio analizzatore e si ferma alla prima violazione. Il messaggio indica riga e colonna, segnala il punto con un ^ e spiega il problema – in modo identico in ogni browser, perché i messaggi integrati di JSON.parse cambiano da un browser all’altro e spesso sono poco chiari (“Unexpected token”).

Gli errori JSON più comuni

Formattare, minificare, ordinare

L’uscita viene ricostruita a partire dal contenuto convalidato: Formatta indenta ogni livello con 2 o 4 spazi o una tabulazione, Minifica rimuove tutti gli spazi facoltativi (file più leggero). Numeri e stringhe restano esattamente come scritti – a differenza di JSON.parse + JSON.stringify, 1.0 non diventa 1 e 12345678901234567890 non viene arrotondato. Ordina dispone le chiavi per unità di codice Unicode, come previsto dal JSON Canonicalization Scheme (RFC 8785): maiuscole prima delle minuscole, lettere accentate (à, è, ù…) dopo entrambe.

Avvisi, non errori

Le chiavi duplicate nello stesso oggetto non sono vietate dalla RFC 8259, ma sono inaffidabili: la maggior parte dei programmi conserva solo l’ultimo valore. Un BOM (byte order mark) all’inizio del testo può essere ignorato da chi legge il file – lo strumento lo ignora e te lo segnala.

Limiti

Lo strumento verifica la sintassi, non il significato: se mancano campi obbligatori o i tipi sono corretti è compito di un JSON Schema. Le colonne contano i caratteri Unicode a partire da 1 (una tabulazione = 1 carattere); un editor con tabulazioni larghe 4 mostrerà una colonna più alta. L’input è limitato a 5 milioni di caratteri e 1.000 livelli di annidamento.

Domande frequenti

Il mio JSON viene inviato o salvato da qualche parte?

No. Convalida e formattazione avvengono interamente nel tuo browser. Il testo non finisce nella barra degli indirizzi e non viene salvato – nel link restano solo le opzioni scelte (uscita, indentazione, ordinamento).

Perché commenti e virgole finali non sono ammessi?

JSON è volutamente minimale, così ogni linguaggio di programmazione lo legge allo stesso modo. Commenti e virgole finali appartengono a estensioni come JSON5 o JSONC (usato ad esempio nelle impostazioni di VS Code) – come JSON puro, quei file non sono validi.

Il mio JSON è valido, ma il programma lo rifiuta comunque: perché?

Di solito il contenuto non corrisponde a quanto si aspetta il programma: un campo obbligatorio mancante, un numero al posto di una stringa o una struttura diversa. Questo lo descrive un JSON Schema o la documentazione dell’API. Controlla anche l’avviso sulle chiavi duplicate.

Riga e colonna corrispondono al mio editor?

Le righe sempre. Le colonne contano i caratteri a partire da 1; una tabulazione conta come un carattere, così come un’emoji. Un editor che mostra le tabulazioni larghe 4 colonne indicherà un numero più alto. “Vai all’errore” posiziona il cursore esattamente nel punto giusto.

Come trovo il problema dopo “fine imprevista”?

Manca quasi sempre una } o una ] di chiusura, oppure una virgoletta. Il messaggio indica la riga della parentesi mai chiusa – guarda per prima cosa la fine di quel blocco.

Fonti e riferimenti normativi

Aggiornato al:

Strumenti correlati