Vai allo strumento
ViewCSV
Nessun caricamento del file

Convertire un CSV in JSON

orders.csv· DATI DI ESEMPIO15 righe · 8 colonne
Tipi di valore
Il riconoscimento avviene colonna per colonna e solo se tutti i valori sono compatibili: i codici con zeri iniziali e gli interi oltre 9.007.199.254.740.991 restano testo.
Le colonne user.name e user.email diventano un unico oggetto «user» con le chiavi «name» ed «email».
[
  {
    "order_id": "001041",
    "customer": "Ginevra Marino",
    "city": "Bologna",
    "product": "Chair, ergonomic",
    "quantity": "6",
    "unit_price": "199.84",
    "order_date": "2026-01-21",
    "status": "pending"
  },
  {
    "order_id": "001042",
    "customer": "Leonardo Bianchi",
    "city": "Milano",
    "product": "Coffee beans 1kg",
    "quantity": "9",
    "unit_price": "162.74",
    "order_date": "2026-02-03",
    "status": "refunded"
  },
  {
    "order_id": "001043",
    "customer": "Leonardo Esposito",
    "city": "Milano",
    "product": "Desk lamp",
    "quantity": "2",
    "unit_price": "85.91",
    "order_date": "2026-03-19",
    "status": "shipped"
  },
  {
    "order_id": "001044",
    "customer": "Aurora Bianchi",
    "city": "Genova",
    "product": "USB-C cable",
    "quantity": "6",
    "unit_price": "24.82",
    "order_date": "2026-04-17",
    "status": "shipped"
  },
  {
    "order_id": "001045",
    "customer": "Andrea Greco",
    "city": "Torino",
    "product": "Desk lamp",
    "quantity": "1",
    "unit_price": "",
    "order_date": "2026-05-05",
    "status": "shipped"
  },
  {
    "order_id": "001046",
    "customer": "Ginevra Bianchi",
    "city": "Torino",
    "product": "Monitor 27\"",
    "quantity": "8",
    "unit_price": "166.92",
    "order_date": "2026-06-21",
    "status": "paid"
  },
  {
    "order_id": "001047",
    "customer": " Ginevra Esposito ",
    "city": "Torino",
    "product": "Desk lamp",
    "quantity": "6",
    "unit_price": "35.24",
    "order_date": "2026-07-17",
    "status": "shipped"
  },
  {
    "order_id": "001048",
    "customer": "Giulia Ferrari",
    "city": "Milano",
    "product": "USB-C cable",
    "quantity": "1",
    "unit_price": "141.91",
    "order_date": "2026-08-12",
    "status": "paid"
  },
  {
    "order_id": "001049",
    "customer": "Aurora Ricci",
    "city": "Firenze",
    "product": "Notebook A5",
    "quantity": "2",
    "unit_price": "108.07",
    "order_date": "2026-09-02",
    "status": "paid"
  },
  {
    "order_id": "001050",
    "customer": "Francesco Gallo",
    "city": "Roma",
    "product": "USB-C cable",
    "quantity": "6",
    "unit_price": "215.56",
    "order_date": "2026-01-15",
    "status": "shipped"
  },
  {
    "order_id": "001051",
    "customer": "Alice Rossi",
    "city": "Genova",
    "product": "Notebook A5",
    "quantity": "5",
    "unit_price": "126.30",
    "order_date": "2026-02-19",
    "status": "shipped"
  },
  {
    "order_id": "001052",
    "customer": "Aurora Romano",
    "city": "Torino",
    "product": "Coffee beans 1kg",
    "quantity": "8",
    "unit_price": "149.92",
    "order_date": "2026-03-18",
    "status": "shipped"
  },
  {
    "order_id": "001053",
    "customer": "Francesco Gallo",
    "city": "Torino",
    "product": "Coffee beans 1kg",
    "quantity": "1",
    "unit_price": "164.32",
    "order_date": "2026-04-10",
    "status": "paid"
  },
  {
    "order_id": "001054",
    "customer": "Giulia Ferrari",
    "city": "Napoli",
    "product": "Chair, ergonomic",
    "quantity": "8",
    "unit_price": "30.59",
    "order_date": "2026-05-14",
    "status": "paid"
  },
  {
    "order_id": "001043",
    "customer": "Leonardo Esposito",
    "city": "Milano",
    "product": "Desk lamp",
    "quantity": "2",
    "unit_price": "85.91",
    "order_date": "2026-03-19",
    "status": "shipped"
  }
]

15 righe · 1 file

Apri o incolla un file CSV: il JSON compare accanto alle opzioni e si aggiorna mentre le modifichi. Per impostazione predefinita ogni riga diventa un oggetto con i nomi delle colonne come chiavi; scegli un array di array, un oggetto con un array per colonna o JSON Lines se il codice che riceve i dati si aspetta quella struttura. Ogni valore resta una stringa, salvo diversa scelta, quindi 00731 e gli ID di 20 cifre escono esattamente come erano; attiva il riconoscimento dei numeri solo quando una colonna deve diventare numeri JSON e true/false. Per i file di configurazione, Da CSV a YAML scrive le stesse righe in YAML. Il file viene convertito nel browser e non viene mai caricato.

Come convertire un CSV in JSON

  1. Apri un file .csv, .tsv o .txt, trascinalo sullo strumento oppure incolla le righe. Il delimitatore e un eventuale BOM UTF-8 o UTF-16 vengono rilevati; in Impostazioni di importazione puoi scegliere un altro delimitatore o una codifica legacy come Windows-1252 o Shift_JIS.
  2. Scegli la Struttura JSON. L’anteprima mostra le prime 200 righe esattamente come saranno nel file scaricato.
  3. Imposta Tipi di valore, Celle vuote, annidamento e rientro, poi scegli «Scarica JSON» o Copia.

Per convertire molti file con le stesse impostazioni, attiva la conversione multipla e selezionali tutti insieme: i file vengono convertiti uno dopo l’altro e i risultati si scaricano in un unico ZIP.

Struttura del JSON: oggetti, array o JSON Lines

Array di oggettiUn oggetto per riga, con le chiavi prese dall’intestazione: [{"sku": "00731", …}]. È la struttura che si aspettano la maggior parte delle API e del codice JavaScript.
Array di arrayPrima la riga di intestazione, poi ogni riga come elenco. È il risultato più compatto e conserva in modo esplicito l’ordine delle colonne.
Oggetto con un array per colonna{"sku": ["00731", "00732"], …}: comodo per le librerie di grafici e gli strumenti basati su data frame.
JSON LinesUn oggetto JSON per riga (JSON Lines), senza un array che li racchiuda. Adatto a pipeline di log, caricamenti in BigQuery ed elaborazione riga per riga.
Tratta tutti i valori come testoOgni cella diventa una stringa JSON, esattamente come è scritta nel file. È l’impostazione predefinita.
Riconosci numeri e true/falseUna colonna diventa numeri JSON solo se tutti i valori non vuoti sono numeri semplici che superano la conversione senza perdite: niente zeri iniziali, al massimo 15 cifre significative, niente virgola decimale. Le colonne true/false diventano booleani. Le date restano stringhe.
Celle vuoteScrivi "" o null, oppure ometti la chiave in quell’oggetto.
Annida i nomi di colonna con il puntouser.name e user.email diventano {"user": {"name": …, "email": …}}. Se un nome è al tempo stesso un valore e un genitore (user e user.name), quelle colonne restano piatte e lo strumento te lo segnala.

Intestazioni, valori tra virgolette e ID nel JSON

  • Virgole, virgolette ("") e a capo racchiusi tra virgolette all’interno di un valore vengono letti secondo la RFC 4180 e scritti con le normali sequenze di escape delle stringhe JSON (\n, \").
  • I nomi delle intestazioni vengono usati esattamente come sono scritti, spazi e alfabeti non latini compresi. Un’intestazione vuota diventa Column 3, una ripetuta diventa name (2), così nessun valore viene sovrascritto.
  • Intestazioni come __proto__ o constructor vengono scritte come normali chiavi.
  • Una riga con più valori dell’intestazione riceve chiavi aggiuntive chiamate Column 4, Column 5…; una riga più corta riceve valori vuoti. Non si perde nulla.
  • Con i tipi attivi, 0012 non diventa mai 12 e un numero d’ordine di 19 cifre non diventa un decimale arrotondato: una colonna del genere resta testo.

Problemi frequenti nella conversione da CSV a JSON

  • È tutto in una sola chiave. Il delimitatore è stato riconosciuto male: in Impostazioni di importazione scegli Virgola, Punto e virgola, Tabulazione o Barra verticale e riapri il file. I CSV salvati da Excel in italiano usano spesso il punto e virgola.
  • Le lettere accentate appaiono come é. Il file non è in UTF-8. Scegli la sua codifica in Impostazioni di importazione (per i vecchi export di Excel spesso è Windows-1252).
  • Una colonna di numeri è rimasta testo. Almeno un valore non è un numero semplice, per esempio 1,5, 12 kg o un valore con uno zero iniziale. Cercalo nella colonna con il visualizzatore CSV.
  • L’errore sulle virgolette indica un record. In quel record si apre una virgoletta che non viene mai chiusa. Correggila nell’editor CSV oppure controlla l’export del sistema di origine.

Limiti e privacy

I file fino a 25 MB, 100.000 righe o 2 milioni di celle si aprono con l’anteprima in tempo reale. I file più grandi vengono convertiti in streaming: il file viene letto due volte a blocchi (una per individuare colonne e tipi, una per scrivere), l’anteprima lascia il posto a un avviso e il file scaricato comprende tutte le righe. Un singolo file in uscita può arrivare al massimo a 4 GB.

La conversione gira in un worker in background in questa scheda del browser, quindi la pagina resta reattiva e Annulla la interrompe. Il CSV non viene mai inviato a un server.

Esempio: un elenco prodotti come oggetti JSON

Un elenco di prodotti con uno SKU a zeri iniziali e una virgola tra virgolette, convertito con le impostazioni predefinite (tutto testo, array di oggetti, rientro di 2 spazi). Con Riconosci numeri e true/false, price diventa 34.9 e in_stock diventa true, mentre sku resta "00731".

CSV
sku,name,price,in_stock
00731,"Desk lamp, brass",34.90,true
00732,Cable tidy,4.50,false
JSON
[
  {
    "sku": "00731",
    "name": "Desk lamp, brass",
    "price": "34.90",
    "in_stock": "true"
  },
  {
    "sku": "00732",
    "name": "Cable tidy",
    "price": "4.50",
    "in_stock": "false"
  }
]

Domande frequenti

Perché per impostazione predefinita i numeri sono tra virgolette?

Perché il CSV non ha tipi: 00731, 1.50 e 2024-03-01 sono semplicemente testo. Tenerli come stringhe garantisce che il JSON dica esattamente ciò che diceva il file. Attiva il riconoscimento dei numeri quando sai che una colonna contiene quantità.

Posso riconvertire un JSON in CSV qui?

Non ancora. Questa pagina converte solo da CSV e TSV a JSON.

JSON Lines e NDJSON sono la stessa cosa?

In pratica sì: entrambi indicano un valore JSON completo per riga, con le righe separate da caratteri di a capo.

Standard e riferimenti