Skip to content

Convertitore CSV in JSON

Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.

Niente tracciamento Funziona nel browser Gratuito
Preset
Opzioni · , · auto · LF · header · no BOM · flatten
Delimitatore
Prima riga intestazione
Inferisci tipi (numeri, booleani, null)
0 caratteri 0 righe
Output JSON
0 righe · 0 colonne
Revisionato per la conformità a RFC 4180, la correttezza di Inferenza tipi, la preservazione della precisione degli interi grandi e il comportamento degli autonomi senza header — Go Tools Engineering Team · May 9, 2026

Cos'è il JSON e perché convertire da CSV?

JSON (JavaScript Object Notation) è il formato universale per le risposte API, i file di configurazione e lo scambio di dati strutturati — ogni linguaggio di programmazione moderno, ogni database e ogni framework web ha un supporto JSON di prima classe. Il CSV (Comma-Separated Values), al contrario, è il formato tabellare più antico e più ampiamente supportato — ogni applicazione di fogli di calcolo, ogni export di database e ogni strumento di analisi può produrlo. Convertire tra i due è una delle attività più comuni nel data engineering: ricevi un CSV da un foglio di calcolo, un dump di database o un export di terze parti, e ti serve JSON per alimentare un'API, idratare un frontend o caricare in uno store NoSQL. Questo strumento è costruito per quel percorso di conversione e gestisce quattro scenari che la maggior parte dei convertitori online sbaglia.

Questo strumento ha quattro differenziatori importanti rispetto ai tipici convertitori CSV-to-JSON online:

**1. Parser RFC 4180 a macchina a stati.** Il CSV sembra semplice ma le regole di virgolettatura sono sottili: un campo racchiuso tra virgolette doppie può contenere virgole, newline incorporati e virgolette doppie escapate (raddoppiate, come ""). I parser ingenui split-by-comma si rompono sui dati reali — indirizzi con virgole, campi di testo multi-riga e valori quotati che contengono virgolette. Questo strumento implementa un vero parser a macchina a stati che segue l'RFC 4180 (la specifica IETF per CSV), gestendo correttamente i campi quotati, i delimitatori incorporati, i fine riga incorporati e le virgolette escapate in entrambe le direzioni. L'output è round-trippable attraverso il modulo csv di Python, PostgreSQL COPY, AWS S3 SELECT e qualsiasi parser conforme.

**2. Inferenza tipi con sicurezza per interi grandi.** Con Inferisci tipi attivo, le stringhe numeriche diventano numeri, true/false diventano booleani, le celle vuote diventano null. Ma la pipeline di inferenza ha due guardie importanti: le stringhe con zero iniziale (007, 0123) vengono mantenute come stringhe perché gli zeri iniziali indicano identificatori — convertirle in un numero li rimuoverebbe silenziosamente. E gli interi sopra 2^53 - 1 (9007199254740991) vengono anche mantenuti come stringhe per evitare la perdita di precisione IEEE 754. Gli ID snowflake di Twitter, gli ID di Discord, i campi MongoDB Long e il resourceVersion di K8s rimangono tutti esatti invece di essere arrotondati silenziosamente. Le stringhe di data ISO sono intenzionalmente mantenute come stringhe — JSON non ha un tipo data nativo.

**3. Autonomi degli header o uso della prima riga.** Con Header attivo (predefinito), la prima riga viene trattata come nomi di colonna e ogni riga successiva diventa un oggetto JSON con quelle chiavi. Con Header disattivato, il parser auto-nomina le colonne col1, col2, col3 — utile per dump di dati grezzi senza una riga di intestazione. La riga di chip Delimitatore copre i quattro separatori più comuni: virgola (predefinito RFC 4180), punto e virgola (locale Excel-EU), Tab (TSV dagli strumenti Unix e dai data warehouse) e pipe (campi ad alta densità di virgole). Scegli il chip e analizza — non serve alcuna configurazione manuale per i CSV reali tipici.

**4. Privacy 100% basata su browser.** I tuoi dati CSV — che spesso contengono PII degli utenti, export di database interni, record dei clienti ed export di produzione — non lasciano mai il tuo browser. Nessun dato viene inviato a nessun server, nessun log, nessuna analisi che catturi l'input. Puoi verificarlo nella scheda Rete del browser. Questo è l'unico modo sicuro per gestire dati sensibili in uno strumento online. Vedi la direzione inversa cliccando Inverti o usa il nostro Convertitore JSON in CSV complementare quando il tuo target è il CSV. Devi validare il JSON di output prima di consumarlo? Prova il nostro Formattatore JSON.

I punti di forza del JSON sono tipi precisi, nidificazione nativa e una specifica rigorosa che si analizza in modo identico ovunque — il formato giusto ogni volta che una macchina consuma i dati. I punti di forza del CSV sono universalità e leggibilità umana — il formato giusto ogni volta che un umano apre un foglio di calcolo. Lo strumento giusto dipende dal consumatore: umano che legge un foglio di calcolo → CSV, macchina che consuma un'API → JSON. Questo convertitore gestisce il ponte in entrambe le direzioni.

// Input CSV (comma + LF, header on, infer types on)
id,name,active,score
1,Alice,true,98.5
2,Bob,false,87
3,Carol,true,

// Output JSON
[
  { "id": 1, "name": "Alice", "active": true, "score": 98.5 },
  { "id": 2, "name": "Bob", "active": false, "score": 87 },
  { "id": 3, "name": "Carol", "active": true, "score": null }
]

// Same input with Header off (no first-row keys)
1,Alice,true,98.5
2,Bob,false,87

// Becomes
[
  { "col1": 1, "col2": "Alice", "col3": true, "col4": 98.5 },
  { "col1": 2, "col2": "Bob", "col3": false, "col4": 87 }
]

Funzionalità Principali

Parser RFC 4180 a macchina a stati

Parser rigoroso a macchina a stati che segue la specifica IETF CSV: gestione corretta dei campi quotati, dei delimitatori incorporati, dei CR/LF incorporati e delle virgolette doppie escapate (raddoppiate). L'output è round-trip pulito attraverso Python csv, PostgreSQL COPY e AWS S3 SELECT.

Inferenza tipi con sicurezza per interi grandi

Inferisci tipi attivo converte le stringhe numeriche in numeri, true/false in booleani, le celle vuote in null. Gli interi sopra 2^53 - 1 restano come stringhe per evitare la perdita di precisione IEEE 754; le stringhe con zero iniziale (007, 0123) restano come stringhe per preservare la semantica di identificatore.

Header attivo/disattivato con autonomi

Header attivo (predefinito) usa la prima riga come chiavi JSON. Header disattivato auto-nomina le colonne col1, col2, col3 in ordine — utile per dump di dati grezzi e CSV generati da macchine senza una riga di intestazione. Gli autonomi sono deterministici e adatti alle pipeline.

Delimitatori virgola, punto e virgola, Tab, pipe

Chip Delimitatore con un clic per i quattro separatori più comuni: `,` (predefinito RFC 4180), `;` (locale Excel-EU), `\t` (TSV dagli strumenti Unix, BigQuery, Snowflake) e `|` (campi di testo libero ad alta densità di virgole). Il parser passa immediatamente alla modalità — non serve convertire prima i file.

Rilevamento di interi grandi

Gli interi sopra 2^53 vengono rilevati durante l'analisi e preservati come stringhe nel JSON — gli ID snowflake di Twitter, gli ID di Discord, i campi MongoDB Long e il resourceVersion di K8s rimangono esatti invece di essere arrotondati silenziosamente dal tipo Number IEEE 754 di JavaScript.

Bidirezionale con Inverti

Un pulsante Inverti direzione ribalta la conversione sul posto: l'input diventa JSON, l'output diventa CSV, il testo corrente viene preservato. Fai il round-trip dei tuoi dati in entrambe le direzioni per verificare la conversione senza perdita prima di inviarla a una pipeline.

Esempi

Export di foglio di calcolo con header

id,name,email,role
1,Alice,alice@example.com,admin
2,Bob,bob@example.com,editor
3,Carol,carol@example.com,viewer
4,Dan,dan@example.com,viewer

CSV standard da un foglio di calcolo. Con Header attivo e Inferisci tipi attivo, ottieni un JSON pulito e tipizzato: gli interi restano interi, booleani/null vengono rilevati.

Export di log delimitato da Tab (TSV)

ts	event	user	duration
2026-05-09T10:00:00Z	signup	alice	142
2026-05-09T10:01:00Z	login	alice	87
2026-05-09T10:02:00Z	checkout	alice	312
2026-05-09T10:03:00Z	logout	alice	44

Scegli `\t` (Tab) come delimitatore. Header attivo (predefinito) usa automaticamente la prima riga come chiavi.

CSV Excel-EU (delimitatore punto e virgola, CRLF)

id;name;price
1;Alice;1234,56
2;Bob;9876,54
3;Carol;42,00

Excel nelle locale DE/FR/IT/ES emette separatori `;` perché la virgola è il segno decimale. Scegli `;` dal chip Delimitatore — il parser gestisce il resto.

Virgole incorporate e virgolette escapate

name,role,note
"Smith, Jr.",admin,"He said ""hi"""
"Doe, Jane",editor,"Two
lines"

Virgolettatura RFC 4180 standard: i campi quotati possono contenere delimitatori e virgolette escapate (raddoppiate). Il parser è una macchina a stati — non divide mai all'interno delle virgolette.

CSV con ID a interi grandi

id,event,user
9007199254740993,signup,alice
9007199254740994,login,bob
9007199254740995,checkout,carol

Gli interi grandi superano l'intervallo sicuro di JavaScript (2^53 - 1). Con Inferisci tipi attivo, il parser rileva questo e mantiene il valore come stringa per preservare la precisione — nessun troncamento.

CSV senza header

1,Alice,admin
2,Bob,editor
3,Carol,viewer
4,Dan,viewer

Disattiva Header; le colonne vengono autonominate `col1`, `col2`, `col3`. Usa questa opzione per dump di dati grezzi senza riga di intestazione.

Come Usarlo

  1. 1

    Incolla il tuo CSV

    Inserisci o incolla il tuo CSV nel campo di input qui sopra. Lo strumento accetta dati delimitati da virgola, punto e virgola, Tab e pipe. Puoi anche cliccare «Carica esempio» per provare un campione come un export di foglio di calcolo, un log TSV o un CSV Excel-EU con punti e virgola.

  2. 2

    Scegli il delimitatore (o Tab)

    Clicca `,` (predefinito), `;` (punto e virgola Excel-EU), `\t` (TSV) o `|` (Pipe) per cambiare il delimitatore in un clic. Apri il pannello Opzioni per il controllo fine: Header attivo/disattivato e Inferisci tipi attivo/disattivato. Header disattivato auto-nomina le colonne col1, col2, col3.

  3. 3

    Copia o scarica il JSON

    Clicca Copia per copiare il JSON negli appunti, o Scarica per salvarlo come file .json pronto per il tuo codice, API o pipeline. Per i round-trip, clicca Inverti direzione per riconvertire il JSON in CSV sul posto.

Insidie Comuni di Conversione

Virgola incorporata non quotata nella sorgente

Se il tuo CSV è stato costruito a mano con un join(',') ingenuo, qualsiasi campo che contiene una virgola (Smith, Jr. o 1,234.56) rompe i confini delle colonne — il parser vede colonne in più dove dovrebbe essercene una. La correzione è racchiudere il campo problematico tra virgolette doppie secondo l'RFC 4180. Questo strumento gestisce correttamente i campi quotati, ma il CSV sorgente deve usare la virgolettatura corretta.

✗ Errato
name,role
Smith, Jr.,admin
// Parser reads 3 columns: "Smith", " Jr.", "admin"
✓ Corretto
name,role
"Smith, Jr.",admin
// Parser reads 2 columns: "Smith, Jr.", "admin"

Punti e virgola Excel-EU analizzati come virgola

Le locale europee di Excel (Germania, Francia, Spagna, Italia, ecc.) emettono CSV delimitati da punto e virgola perché la virgola è riservata al separatore decimale. Se lasci il delimitatore su `,` (predefinito), ogni riga collassa in una singola colonna con punti e virgola incorporati. Scegli il chip Delimitatore `;` — il parser passa alla modalità punto e virgola e produce colonne corrette.

✗ Errato
// Wrong delimiter (default comma) on Excel-EU file
id;name;price
1;Alice;1234,56
// Each row becomes one column: { col1: "1;Alice;1234,56" }
✓ Corretto
// Correct: pick `;` Delimiter chip
id;name;price
1;Alice;1234,56
// Output: { id: 1, name: "Alice", price: "1234,56" }

Gli ID a interi grandi perdono precisione dopo JSON.parse

Gli ID snowflake di Twitter, gli ID di Discord e altri interi a 64 bit superano l'intervallo sicuro di JavaScript (2^53 - 1) e perdono precisione quando JSON.parse() li legge come numeri. Con Inferisci tipi attivo, questo strumento rileva i valori sopra il limite sicuro e li mantiene invece come stringhe, preservando le cifre esatte. Usa BigInt("9007199254740993") nel tuo codice per riconvertire in un tipo numerico.

✗ Errato
// Without big-int detection
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Corretto
// With Infer types on, big integers stay as strings
{"id": "9007199254740993"}
// Use BigInt(value) in code to preserve precision

La riga di intestazione contiene spazi

Se l'header del tuo CSV è `id, name, email` (con spazi dopo le virgole), le chiavi JSON diventano "id", " name", " email" — incluso lo spazio iniziale. Il parser preserva l'header esattamente come dato, secondo l'RFC 4180. La correzione è o pulire il CSV sorgente prima di incollarlo, o rinominare le chiavi a valle (jq 'with_entries(.key |= ltrimstr(" "))' o JavaScript Object.fromEntries(Object.entries(o).map(([k,v]) => [k.trim(), v]))).

✗ Errato
id, name, email
1, Alice, alice@example.com
// Output keys: "id", " name", " email" (with leading spaces)
✓ Corretto
id,name,email
1,Alice,alice@example.com
// Output keys: "id", "name", "email" (clean)

Lunghezza delle righe incoerente

Quando le righe nel CSV hanno conteggi di colonne diversi (alcune con virgole finali, altre senza), il parser riempie le celle mancanti con stringhe vuote (o null quando Inferisci tipi è attivo) e scarta gli extra oltre la lunghezza dell'header. Compare un avviso Note di schema così sai che le righe sono state normalizzate. Di solito va bene, ma verifica l'output se i consumatori a valle si aspettano una forma di riga rigorosa.

✗ Errato
name,role,note
Alice,admin
Bob,editor,first day
// Row 1 is short by one cell
✓ Corretto
// Output (note empty/null cell in row 1)
[
  { "name": "Alice", "role": "admin", "note": null },
  { "name": "Bob", "role": "editor", "note": "first day" }
]

Stringhe di data convertite inaspettatamente

Le stringhe di data ISO 8601 (2026-05-09T10:00:00Z) sono intenzionalmente mantenute come stringhe nel JSON di output — JSON non ha un tipo data nativo, quindi la conversione produrrebbe o un oggetto Date JavaScript che non sopravvive alla serializzazione o un epoch numerico che perde le informazioni di fuso orario. Questo è per design. Analizza le date al punto di utilizzo con new Date(value) o la tua libreria di date preferita. Non disattivare Inferisci tipi solo per preservare le date — questo manterrebbe anche i numeri come stringhe.

✗ Errato
// Expecting a Date object in the output
ts,event
2026-05-09T10:00:00Z,signup
// Output ts is the string "2026-05-09T10:00:00Z", NOT a Date
✓ Corretto
// Correct: parse at the point of use in your code
const rows = JSON.parse(output);
const when = new Date(rows[0].ts);
// when is now a Date object

Casi d'Uso Comuni

Export di foglio di calcolo a import API
Incolla un CSV esportato da Excel, Google Sheets o Numbers e ottieni un array JSON di oggetti pronto per POST a un'API REST, una mutazione GraphQL o un endpoint di import bulk. Il caso d'uso più comune — gli analisti producono dati da foglio di calcolo, gli ingegneri hanno bisogno di JSON tipizzato per alimentare il backend.
Export Excel a strumenti
Converti gli export CSV di Excel (inclusi i file Excel-EU delimitati da punto e virgola con il chip `;`) in JSON per l'elaborazione con strumenti JavaScript, script jq o qualsiasi sistema che legge JSON. Il parser gestisce correttamente la rimozione del BOM e i fine riga CRLF così gli export di Excel non si rompono sulla prima riga.
Log TSV ad analytics
I log separati da Tab dagli export di BigQuery, dagli unload di Snowflake, dalle pipeline Vector o dagli strumenti Unix (cut, awk) arrivano spesso come .tsv. Scegli il chip Delimitatore Tab e ottieni un array JSON tipizzato pronto per l'analisi ad-hoc, l'ingest in dashboard o la trasformazione in fase di pipeline.
Dump CSV di database a ETL
Converti l'output di PostgreSQL COPY TO CSV, MySQL SELECT INTO OUTFILE o qualsiasi dump CSV di database in JSON per il caricamento in uno store NoSQL, l'alimentazione di una pipeline ETL JavaScript o l'invio a BigQuery come JSON delimitato da righe. Il rilevamento di interi grandi preserva gli ID numerici che superano l'intervallo sicuro di JavaScript.
Consumo di risultati di test Postman/Newman CSV
Le esecuzioni di test Postman esportano report CSV di pass/fail per richiesta. Converti in JSON per il consumo programmatico — alimenta una dashboard di stato, una pipeline di alert o un aggregatore di risultati di test. Le righe a forma mista (i test falliti hanno una colonna error in più) vengono gestite con riempimenti vuoti/null.
Piccolo CSV a configurazione JSON rapida
Hai un piccolo CSV di costanti — codici valuta, nomi di paesi, SKU di prodotti — e ti serve un array JSON per un file di configurazione o una costante JavaScript? Incolla, copia, incolla. Con Inferisci tipi attivo, i numeri e i booleani sono tipizzati correttamente; con Header attivo, ottieni un array di oggetti con campi nominati pronto per essere inserito in un file .json.

Dettagli Tecnici

Interni del parser RFC 4180 a macchina a stati
Il parser è una vera implementazione di macchina a stati finiti che segue l'RFC 4180. Gli stati includono UnquotedField, QuotedField, AfterQuote, RowEnd e EndOfInput. Il parser gestisce correttamente i campi quotati che contengono il delimitatore, i CR/LF incorporati all'interno dei campi quotati, le virgolette doppie escapate (raddoppiate, come "") e i newline finali. Questo produce output che esegue il round-trip senza perdita attraverso il modulo csv di Python, PostgreSQL COPY, AWS S3 SELECT e qualsiasi parser conforme. La macchina a stati è consapevole del delimitatore, quindi passare da `,` a `;` o `\t` non cambia la semantica della virgolettatura — solo il separatore di campo.
Algoritmo di inferenza tipi
Con Inferisci tipi attivo, ogni cella passa attraverso una pipeline di rilevamento ordinata. Primo, una cella vuota diventa null JSON. Secondo, le stringhe letterali true e false diventano booleani JSON. Terzo, le stringhe con zero iniziale (^0[0-9]+$) vengono mantenute come stringhe per preservare la semantica di identificatore — convertirle in numeri rimuoverebbe silenziosamente gli zeri iniziali. Quarto, i letterali interi vengono testati rispetto al limite di interi sicuri (-2^53+1 a 2^53-1); i valori al di fuori di questo intervallo vengono mantenuti come stringhe per evitare la perdita di precisione IEEE 754. Quinto, le stringhe di data ISO 8601 vengono rilevate da regex e intenzionalmente mantenute come stringhe — JSON non ha un tipo data nativo. Tutto ciò che sopravvive a tutte e cinque le guardie viene convertito tramite Number() (numerico) o mantenuto come stringa (tutto il resto).
Rimozione del BOM e gestione della codifica
Tutto l'input è trattato come UTF-8. Il BOM UTF-8 opzionale (0xEF 0xBB 0xBF) viene rimosso silenziosamente dalla prima cella della prima riga quando presente — questo evita che i byte BOM vengano inclusi come carattere sparso all'inizio del primo nome di colonna (Excel su Windows emette comunemente il BOM, rompendo i parser ingenui). Altre codifiche (Windows-1252, ISO-8859-1) non vengono auto-rilevate; l'API File del browser avrebbe già decodificato i byte come UTF-8 quando il testo raggiunge questo strumento. Se hai input non-UTF-8, convertilo prima con iconv o l'opzione di export di codifica del tuo editor prima di incollare.

Buone Pratiche

Scegli il delimitatore esplicitamente per dati non-virgola
Non affidarti al rilevamento automatico. Se il tuo CSV usa punti e virgola (Excel-EU), Tab (TSV da BigQuery, Snowflake o strumenti Unix) o pipe (campi ad alta densità di virgole), clicca il chip Delimitatore corrispondente prima di incollare. Il parser è consapevole del delimitatore: cambiare il chip ri-analizza immediatamente l'input. Questo evita la modalità di fallimento più comune CSV-to-JSON in cui ogni riga collassa in una cella perché il parser ha usato il separatore sbagliato.
Mantieni Inferisci tipi attivo per JSON tipizzato
Con Inferisci tipi attivo (predefinito), ottieni JSON tipizzato: numeri come numeri, booleani come booleani, null dove appaiono celle vuote. Questo è ciò che la maggior parte dei consumatori vuole — API, frontend, codice JavaScript. Disattiva Inferisci tipi solo quando hai specificamente bisogno di ogni cella come stringa (consumatori a tipo rigoroso a valle, pipeline di validazione che confrontano i byte sorgente esatti). La pipeline di rilevamento ha guardie per le stringhe con zero iniziale, gli interi grandi e le date ISO, quindi gli identificatori e le date rimangono al sicuro anche con l'inferenza attiva.
Quota gli ID come stringhe nel CSV a monte
Se il tuo CSV è generato da un database o da una pipeline che controlli, emetti gli ID numerici grandi (snowflake di Twitter, ID di Discord, resourceVersion di K8s) come stringhe CSV quotate ("9007199254740993") così passano puliti attraverso Inferenza tipi. Il parser li manterrà come stringhe in entrambi i casi (il rilevamento di interi grandi cattura i valori sopra 2^53 - 1), ma la quotatura esplicita è il contratto a monte più robusto ed evita qualsiasi ambiguità sulla precisione.
La riga di intestazione dovrebbe essere la prima riga
Header attivo (predefinito) auto-rileva la prima riga come nomi di colonna. Se il tuo CSV ha commenti, righe vuote o metadati prima dell'header, rimuovili prima di incollare — il parser non salta le righe non-dati iniziali. Per i CSV senza header (export grezzi, dump generati da macchine), disattiva Header e le colonne verranno auto-nominate col1, col2, col3 in ordine. Non cercare di simulare un header anteponendone uno a un file senza header; o disattiva Header o sistema la sorgente.
Usa la modalità Stringify per i round-trip CSV → JSON → CSV
Se prevedi di fare round-trip dei dati attraverso entrambe le direzioni (CSV → JSON → CSV), la direzione inversa (JSON → CSV) ha bisogno della modalità Stringify perché qualsiasi array o oggetto nidificato sopravviva senza perdita. La modalità Flatten nella direzione inversa emette chiavi puntate (customer.address.city) che non possono essere ricostruite perfettamente dal parser CSV. Vedi il nostro Convertitore JSON in CSV per il riferimento completo della direzione inversa e le note sui test di round-trip.

Domande Frequenti

Cosa fa questo strumento?
Converte CSV in JSON direttamente nel browser, con supporto bidirezionale: clicca Inverti direzione per riconvertire il JSON in CSV nello stesso pannello. Incolla il CSV nell'area di input e lo strumento produce l'output JSON all'istante — nessun upload, nessuna registrazione, nulla lascia il tuo dispositivo. Il parser è conforme a RFC 4180, gestisce i chip Delimitatore per virgola, punto e virgola (Excel-EU), Tab (TSV) e pipe, e l'opzione Inferisci tipi converte le stringhe numeriche in numeri, true/false in booleani e le celle vuote in null. Lo strumento gestisce anche gli ID a interi grandi che altrimenti perderebbero precisione attraverso JSON.parse, le virgole incorporate dentro campi quotati, le virgolette doppie escapate (raddoppiate) e i dati senza header con colonne autonominate (col1, col2, col3).
I miei dati vengono caricati da qualche parte?
No. Tutta la conversione gira al 100% lato client nel browser usando JavaScript. I tuoi dati CSV non vengono mai trasmessi, mai archiviati su alcun server, mai registrati e mai analizzati. Questo rende lo strumento sicuro per gli export di fogli di calcolo contenenti PII, i dump CSV di database interni, i record dei clienti e qualsiasi dato sensibile. Puoi verificarlo nella scheda Rete del browser — incollare CSV non attiva alcuna richiesta di rete. Lo strumento non usa cookie per i dati di input e nessuna analisi di terze parti che potrebbe catturare ciò che incolli.
Come funziona l'inferenza dei tipi?
Con Inferisci tipi attivo, ogni cella analizzata passa attraverso una piccola pipeline di rilevamento prima di essere inserita nel JSON: le stringhe numeriche (1, 42, -3.14) diventano numeri, true/false diventano booleani, le stringhe vuote e il letterale null diventano null JSON, e tutto il resto rimane come stringa. Ci sono due guardie importanti. Primo, le stringhe con zero iniziale come 007 o 0123 vengono mantenute come stringhe anche se sembrano numeriche — gli zeri iniziali indicano che il valore è un identificatore (codici postali, prefissi telefonici, ID di sequenza) e convertirli in un numero rimuoverebbe silenziosamente gli zeri. Secondo, gli interi sopra 2^53 - 1 (9007199254740991) vengono anche mantenuti come stringhe per evitare la perdita di precisione IEEE 754. Le stringhe di data ISO (2026-05-09T10:00:00Z) sono intenzionalmente lasciate come stringhe — JSON non ha un tipo data nativo, quindi convertirle produrrebbe un oggetto Date JavaScript che non sopravvive alla serializzazione.
Perché gli interi grandi vengono mantenuti come stringhe?
Il tipo Number di JavaScript usa il float a doppia precisione IEEE 754 e può rappresentare esattamente solo gli interi fino a 2^53 - 1 (9007199254740991). Gli identificatori del mondo reale — gli ID snowflake di Twitter, gli ID di Discord, i campi MongoDB Long, il resourceVersion di K8s — sono interi a 64 bit che superano questo intervallo sicuro. Se il parser chiamasse Number() su questi, il risultato verrebbe arrotondato silenziosamente (9007199254740993 diventa 9007199254740992). La pipeline di Inferisci tipi rileva i valori sopra il limite di interi sicuri e li mantiene invece come stringhe, così le cifre sopravvivono intatte. Un banner di avviso compare sotto l'output che elenca i campi interessati. Per riconvertire con precisione nel codice, usa BigInt("9007199254740993") sul valore stringa JSON.
Il mio CSV usa i punti e virgola — come lo analizzo?
Le locale europee di Excel (Germania, Francia, Spagna, Italia, ecc.) emettono CSV delimitati da punto e virgola perché la virgola è riservata al separatore decimale. Clicca il chip `;` sulla riga Delimitatore (o apri il pannello Opzioni completo e scegli `;`) e il parser passa immediatamente alla modalità punto e virgola. I valori numerici con decimali a virgola (1234,56) all'interno di tali file vengono mantenuti come stringhe da Inferisci tipi perché la notazione decimale europea è specifica della locale — convertili nel codice se hai bisogno di valori numerici. Il parser applica comunque le regole di virgolettatura RFC 4180 con il nuovo delimitatore, quindi i campi quotati che contengono punti e virgola al loro interno vengono gestiti correttamente.
Gestisce TSV (delimitato da Tab)?
Sì. Clicca il chip Tab sulla riga Delimitatore e il parser divide sui caratteri tab invece che sulle virgole. TSV è il formato più pulito per la condivisione di CSV tra locale perché è improbabile che il Tab compaia all'interno dei campi di testo, eliminando la maggior parte dei casi limite di virgolettatura. È l'output predefinito degli strumenti Unix (cut, awk), dei data warehouse (BigQuery, Snowflake) ed è ben supportato da Excel in qualsiasi locale. Incolla il contenuto del tuo file .tsv o .tab direttamente — il resto del parser (autonomi degli header, inferenza dei tipi, rilevamento di interi grandi) funziona in modo identico.
Cosa succede se il mio CSV non ha la riga di intestazione?
Disattiva Header nel pannello Opzioni. Il parser tratterà la prima riga come dati invece che come nomi di colonna e auto-genererà chiavi: col1, col2, col3, … una per colonna. Il JSON di output è un array di oggetti con queste chiavi sintetiche. Questo è utile per gli export grezzi da database che omettono l'header, i file flat a formato fisso e i CSV generati da macchine. Se vuoi nomi di chiave diversi, converti prima con autonomi e poi rinomina le chiavi nella tua pipeline a valle (jq, JavaScript map, ecc.). Lo strumento non inferisce le chiavi dai dati con euristiche — Header disattivato produce sempre col1, col2, col3.
Può gestire campi quotati con virgole incorporate?
Sì. Il parser è una vera macchina a stati RFC 4180: quando vede una virgoletta doppia di apertura, passa allo stato QuotedField e tratta tutto fino alla successiva virgoletta doppia non escapata come un singolo campo, inclusi delimitatori e fine riga incorporati (CR/LF). Le virgolette doppie escapate (raddoppiate, come "") vengono correttamente collassate in una singola virgoletta. Questo significa che `"Smith, Jr."` viene analizzato come un campo che contiene `Smith, Jr.`, e `"He said ""hi"""` viene analizzato come `He said "hi"`. I parser ingenui split-by-comma si rompono su questi dati reali; questo strumento no.
Perché le mie date vengono mantenute come stringhe?
Per design. JSON non ha un tipo data nativo — solo stringhe, numeri, booleani, null, array e oggetti. Le stringhe di data ISO 8601 (2026-05-09T10:00:00Z) vengono mantenute alla lettera come stringhe nel JSON di output, che è la rappresentazione corretta e senza perdita. Se il parser le convertisse in oggetti Date JavaScript, serializzare il JSON risultante produrrebbe un output diverso (un oggetto senza una rappresentazione utile per il round-trip, o un timestamp numerico). Mantieni le date come stringhe nel JSON e analizzale al punto di utilizzo con new Date(value) o la tua libreria di date preferita. Questo corrisponde al comportamento di ogni grande pipeline JSON-da-CSV: Pandas, jq e i moduli Python csv + json.
Cosa succede se le righe hanno lunghezze diverse?
Le righe a forma mista (alcune con più o meno colonne dell'header) vengono completate per corrispondere alla lunghezza dell'header. Le celle in più oltre il conteggio dell'header vengono scartate, e le celle mancanti vengono impostate a stringa vuota (o null quando Inferisci tipi è attivo e il parser vede un valore vuoto). Compare un avviso Note di schema sotto l'output così sai che le righe sono state normalizzate. Di solito va bene per gli strumenti a valle che uniscono le chiavi, ma verifica l'output se il tuo consumatore si aspetta una rigorosa coerenza della forma delle righe. La causa più comune sono le virgole finali in alcune righe o i campi quotati con fine riga incorporati conteggiati male dagli esportatori a monte.
Quanto può essere grande il file che incollo?
Sopra i 100.000 caratteri o le 2.000 righe, la conversione live passa automaticamente alla modalità manuale: compare un pulsante Converti in un banner informativo e la conversione viene eseguita solo quando lo clicchi. Questo evita che il thread principale del browser si blocchi a ogni battitura durante un'analisi pesante. Per output sopra i 5 MB o le 50.000 righe, lo strumento tronca l'anteprima JSON a video alle prime 500 righe e mostra un banner Mostro le prime 500 di N righe — ma il pulsante Scarica produce comunque il file completo con tutte le righe incluse. Il limite massimo è 10 MB di input; oltre questo lo strumento mostra un errore e ti chiede di ridurre l'input.
Posso fare round-trip JSON → CSV → JSON?
Sì, quando il JSON è piatto (senza oggetti o array nidificati). Per dati nidificati, la direzione inversa (JSON → CSV) ha bisogno della modalità Stringify per mantenere array e oggetti come JSON in una singola cella — che poi torna senza perdita attraverso questo convertitore CSV → JSON quando Inferisci tipi è attivo. Clicca Inverti direzione in cima al pannello per passare alla modalità JSON-to-CSV e verificare il round-trip. La modalità Flatten nella direzione inversa è a senso unico: produce chiavi puntate (customer.address.city) che non possono essere ricostruite perfettamente dal CSV. Vedi il nostro Convertitore JSON in CSV per la direzione inversa con pieno supporto Stringify.

Strumenti correlati

Vedi tutti gli strumenti →