§

Incolla il CSV che vuoi convertire in JSON.

Delimitatore
La prima riga è intestazione
Coercizione di tipo
§

Output

json

Convertire CSV in JSON è un'attività quotidiana nell'ecosistema dei dati italiano: i dataset pubblicati su dati.gov.it, le tavole ISTAT scaricate in CSV bulk e i microdati censuari arrivano in formato tabellare prima che le pipeline ETL li trasformino in JSON per BigQuery o Snowflake. Anche le serie storiche della Banca d'Italia, gli archivi INPS sui flussi pensionistici e gli open data dell'Agenzia delle Entrate vengono distribuiti in CSV con separatore punto e virgola tipico del locale italiano. Le squadre che integrano SPID, PagoPA e l'app IO pivotano esportazioni transazionali tra CSV (gradito ai revisori) e JSON (formato delle API). Questo convertitore analizza il CSV localmente, così dati fiscali o anagrafici non lasciano mai il browser.

Che cos'è la conversione da CSV a JSON?

CSV (Comma-Separated Values, RFC 4180) è un formato di testo piatto e tabellare; JSON (JavaScript Object Notation, RFC 8259) è un formato di testo ad albero per dati strutturati. La conversione da CSV a JSON trasforma una tabella adatta ai fogli di calcolo in un array di oggetti adatto alle API — un oggetto per riga, con la riga di intestazione che fornisce le chiavi — senza riscrivere una sola cella.

Come funziona la conversione da CSV a JSON?

Ogni conversione viene eseguita localmente nel tuo browser. I passaggi principali sono:

  1. Incolli il CSV nel pannello di input e premi CONVERTI; lo strumento analizza il testo e emette un array JSON di oggetti nel pannello di output.
  2. Una macchina a stati carattere per carattere (FIELD_START → IN_UNQUOTED_FIELD o IN_QUOTED_FIELD) percorre l'input, rispetta l'escape della virgoletta "", riconosce sia \r\n sia \n come terminatori di riga e produce un array 2-D di stringhe come rappresentazione intermedia.
  3. Se la prima riga è contrassegnata come intestazione, le sue celle diventano le chiavi degli oggetti; altrimenti lo strumento genera chiavi sintetiche field0, field1, … in modo che ogni riga produca comunque un oggetto completo.
  4. Il delimitatore (virgola, punto e virgola, tabulazione, barra verticale o rilevamento automatico) e la coercizione di tipo (numeri / booleani / null) sono configurabili. Con la coercizione attiva, 30 diventa il numero 30 e true il booleano; disattivata, ogni cella rimane una stringa.
  5. L'output viene scritto nell'area di testo in sola lettura come testo formattato da JSON.stringify, e un link di download costruisce un Blob con il tipo MIME application/json;charset=utf-8 così puoi salvare il risultato con un clic.

Perché convertire CSV in JSON con questo strumento?

  • Privacy: ogni passaggio di analisi e trasformazione avviene nel tuo browser. I dati non raggiungono mai i nostri server.
  • Correttezza: il parser CSV è una vera macchina a stati. I campi che contengono virgole tra virgolette ("Bob, Jr."), ritorni a capo incorporati e virgolette di escape vengono analizzati come singola cella, non come tre — le implementazioni ingenue con split(',') sbagliano questo punto.
  • Fedeltà dei tipi: la coercizione opzionale trasforma le celle numeriche e booleane in veri numeri e booleani JSON, così l'array risultante è pronto per essere consumato direttamente senza una seconda passata di pulizia.
  • Flessibilità: scegli qualsiasi delimitatore per i dialetti CSV diversi dalla virgola, configura se la prima riga è un'intestazione e attiva o disattiva la coercizione di tipo per i casi in cui ogni cella deve restare una stringa.

Quali sono le applicazioni comuni della conversione da CSV a JSON?

Analizzare CSV per ottenere JSON è ricorrente in tutto il lavoro sui dati e nel tooling:

  • Mocking di API: incollare un fixture CSV esportato da un foglio di calcolo e convertirlo in un array JSON che il tuo server locale può restituire come endpoint simulato.
  • Importazione di dati: convertire un'esportazione di foglio di calcolo (contatti, inventario, risposte a sondaggi) in un array JSON che la tua applicazione o script può iterare senza dipendere da un parser CSV.
  • Modifica della configurazione: lasciare che revisori non tecnici modifichino impostazioni o feature flag cella per cella in un foglio di calcolo, poi convertire il CSV salvato in JSON che la tua app carica effettivamente.

Come si presenta un esempio di conversione da CSV a JSON?

Incollando name,age sulla prima riga, Alice,30 sulla seconda e "Bob, Jr.",25 sulla terza, quindi premendo CONVERTI con delimitatore virgola, prima riga come chiavi e coercizione di tipo attiva, si ottiene [{"name":"Alice","age":30},{"name":"Bob, Jr.","age":25}] — la virgola tra virgolette in "Bob, Jr." rimane all'interno di un unico campo, e le età diventano veri numeri JSON.

Questo convertitore da CSV a JSON viene eseguito interamente nel mio browser?

Sì. Ogni passaggio di analisi e trasformazione viene eseguito localmente come JavaScript all'interno della tua scheda del browser. Lo strumento non chiama affatto fetch, XMLHttpRequest o navigator.sendBeacon — il tuo payload CSV non raggiunge mai i nostri server, un convertitore di terze parti o una pipeline di analytics. Lo strumento funziona anche offline una volta caricata la pagina, perché è un bundle statico HTML/CSS/JS senza dipendenze API a runtime.

Qual è la dimensione massima di input che questo convertitore può gestire?

Il convertitore tiene tutto l'input in memoria e viene eseguito in modo sincrono sul thread principale, quindi i limiti pratici dipendono dal tuo dispositivo. Input fino a circa 10 MB di CSV (all'incirca 100.000 righe tipiche) si convertono senza una pausa percepibile su un laptop moderno. Oltre questa soglia l'interfaccia può bloccarsi mentre il parser è in esecuzione. La conversione a flusso con un Web Worker più un parser a chunk è un follow-up pianificato — per ora, suddividi i dataset molto grandi prima di incollarli.

Come gestisce il parser da CSV a JSON le virgole tra virgolette e i ritorni a capo incorporati?

Il parser è una macchina a stati carattere per carattere con tre stati (FIELD_START, IN_UNQUOTED_FIELD, IN_QUOTED_FIELD) — non un ingenuo split(','). Un campo racchiuso tra virgolette doppie può contenere il delimitatore, un CR, un LF o una virgoletta doppia letterale con escape "", senza rompere i confini del campo. Così "Bob, Jr.",25 viene analizzato come due campi, non come tre, e una descrizione multilinea tra virgolette su più righe viene analizzata come una singola cella.

Come vengono tipizzati numeri, booleani e celle vuote nell'output JSON?

La tipizzazione è controllata dall'interruttore Coercizione di tipo. Con la coercizione attiva (il default), una cella che sembra un numero diventa un numero JSON, true/false diventano booleani e il letterale null diventa null JSON; tutto il resto rimane una stringa. Con la coercizione disattivata, ogni valore è mantenuto come stringa indipendentemente dal suo contenuto — utile quando zeri iniziali, numeri di telefono o codici ID devono sopravvivere intatti. Le celle finali mancanti in una riga corta vengono emesse come stringhe vuote in modo che ogni oggetto abbia il set completo di chiavi.

Quali delimitatori supporta il lato CSV?

Quattro delimitatori espliciti sono supportati: virgola (,, il default di RFC 4180), punto e virgola (;, comune nei locale europei), tabulazione (\t, il dialetto TSV) e barra verticale (|). Puoi anche scegliere Rilevamento automatico, che conta le occorrenze di ciascun candidato nei primi 4 KB di input fuori dalle aree tra virgolette e sceglie il più frequente che restituisce un numero di colonne coerente sulle prime cinque righe.

Questo convertitore da CSV a JSON analizza con una vera macchina a stati e produce un JSON pulito e pronto per il consumo che puoi incollare direttamente in una chiamata API, uno script o una code review — senza caricare un solo byte.