PK Systems PK Systems
Strumenti per sviluppatori

Formattatore JSON

Formatta, minifica e valida JSON nel tuo browser. Aggiornamenti live, copia con un clic — niente lascia il tuo dispositivo.

Formattatore JSON

Output

L'output appare qui mentre digiti.

Cosa fa questo strumento?

JSON (JavaScript Object Notation) è il formato più comune per lo scambio di dati tra API, file di configurazione e web app moderne. Questo strumento analizza il JSON nel tuo browser e lo riemette con indentazione coerente (Formatta), elimina tutti gli spazi (Minifica) o conferma solo che venga interpretato (Valida). Usa il JSON.parse nativo del browser, quindi ciò che passa qui passa anche in qualsiasi runtime JavaScript. Niente viene caricato — l'intera pipeline gira in locale.

Come usarlo

Incolla il tuo JSON nell'area di input. Scegli Formatta per un output leggibile dall'umano (imposta l'indentazione a 2, 4 o tab), Minifica per togliere gli spazi per il trasporto, oppure Solo validazione per controllare la sintassi senza produrre output. Attiva Ordina chiavi A→Z per facilitare il diff tra due file JSON. L'output si aggiorna live mentre digiti. Se l'input non è valido, lo strumento ti indica riga e colonna dell'errore così puoi saltare direttamente al problema.

Consigli e limiti

  • JSON è stretto: le chiavi devono essere tra virgolette doppie, niente virgole finali, niente commenti. Se il tuo input li ha, sistemali prima.
  • Le chiavi ordinate producono output stabile per i diff git e i test snapshot.
  • L'output formattato con indentazione a 2 spazi è lo standard di fatto per i file di configurazione (npm, composer, .vscode/settings.json).
  • Payload molto grandi (10MB+) funzionano ma il browser potrebbe rallentare durante il parsing — minifica le risposte API grandi per la produzione.
  • I numeri sono interpretati da JavaScript, che perde precisione oltre 2^53. Se hai ID in stile BigInt, tienili come stringhe.

Domande frequenti

Il mio JSON viene inviato a un server?
No. Parsing, formattazione e validazione avvengono interamente nel tuo browser tramite JSON.parse e JSON.stringify nativi. Apri DevTools > Network e non vedrai partire richieste quando incolli o modifichi. Sicuro per payload sensibili, file di configurazione interni o qualsiasi cosa tu non incollerebbe in un servizio cloud.
Perché il mio JSON appare non valido anche se sembra corretto?
Più spesso: virgolette singole al posto di virgolette doppie attorno a chiavi/stringhe, una virgola finale dopo l'ultimo elemento di un oggetto o array, oppure ritorni a capo non escapati dentro una stringa. JSON è più stretto degli oggetti letterali JavaScript — il messaggio di errore e la riga/colonna mostrati sopra l'output puntano al byte esatto in cui il parser si è arreso.
Qual è la differenza tra Formatta e Minifica?
Formatta aggiunge a capo e indentazione così la struttura è facile da scorrere — ideale per editing, code review e debug. Minifica rimuove ogni carattere di spaziatura opzionale, producendo la rappresentazione valida più corta — ideale per archiviazione, trasporto e per inserire dentro attributi HTML o query string. Entrambi producono JSON semanticamente identico.
Cosa fa "Ordina chiavi A→Z"?
Percorre l'intero albero dell'oggetto ed emette le chiavi di ogni oggetto in ordine alfabetico. Gli array mantengono il loro ordine originale (ordinare gli elementi di un array cambierebbe il significato). L'ordinamento è utile per fare diff tra due file JSON in cui gli stessi dati possono essere stati emessi da tool diversi con ordini di chiave diversi.
Gestisce JSON5, JSONC o i commenti?
No — solo JSON stretto secondo RFC 8259. Commenti (// o /* */), virgole finali, virgolette singole e chiavi non quotate vengono tutti rifiutati. Se ti serve un dialetto rilassato per le configurazioni dei tool, fai il parsing con una libreria JSON5 prima di incollare qui, o togli prima i commenti. Potremmo aggiungere una modalità JSON5 in futuro.
Può gestire file JSON molto grandi?
Può formattare file fino a diversi megabyte senza problemi. Oltre i 10–20 MB la scheda del browser potrebbe bloccarsi brevemente durante il parsing, perché JSON.parse è sincrono. Per log o esportazioni da centinaia di megabyte, usa invece un tool da riga di comando in streaming come jq — elabora il JSON come uno stream e non carica l'intero file in memoria.