Convertitore CSV in JSON
Converti CSV in JSON nel browser. RFC 4180, inferenza tipi, riga header, sicuro per big-int. 100% privato, nessun upload.
Opzioni · , · auto · LF · header · no BOM · flatten
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
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
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
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.
name,role Smith, Jr.,admin // Parser reads 3 columns: "Smith", " Jr.", "admin"
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.
// 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" } // 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.
// Without big-int detection
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost) // 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]))).
id, name, email 1, Alice, alice@example.com // Output keys: "id", " name", " email" (with leading spaces)
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.
name,role,note Alice,admin Bob,editor,first day // Row 1 is short by one cell
// 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.
// 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
// 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?
I miei dati vengono caricati da qualche parte?
Come funziona l'inferenza dei tipi?
Perché gli interi grandi vengono mantenuti come stringhe?
Il mio CSV usa i punti e virgola — come lo analizzo?
Gestisce TSV (delimitato da Tab)?
Cosa succede se il mio CSV non ha la riga di intestazione?
Può gestire campi quotati con virgole incorporate?
Perché le mie date vengono mantenute come stringhe?
Cosa succede se le righe hanno lunghezze diverse?
Quanto può essere grande il file che incollo?
Posso fare round-trip JSON → CSV → JSON?
Strumenti correlati
Vedi tutti gli strumenti →Decodificatore e codificatore Base64
Codifica e formattazione
Decodifica e codifica Base64 online gratis. Conversione in tempo reale con pieno supporto UTF-8 ed emoji. 100% privato — gira nel tuo browser. Nessuna registrazione.
JSON Diff (Confronta)
Codifica e formattazione
Confronta due file JSON istantaneamente nel browser. Evidenziazione affiancata, output JSON Patch RFC 6902, ignora campi rumorosi come timestamp e ID. 100% privato, nessun upload.
Formattatore e Validatore JSON
Codifica e formattazione
Formatta, valida e abbellisci JSON direttamente nel browser. Strumento online gratuito con controllo sintassi, rilevamento errori, minifica e copia in un clic. 100% privato.
Validatore JSON Schema
Codifica e formattazione
Valida JSON contro qualsiasi JSON Schema istantaneamente nel browser. Supporta Draft 2020-12, 2019-09 e Draft-07 con messaggi di errore con percorso preciso. 100% privato — nessun upload, nessun account, gratis.
Convertitore JSON in CSV
Codifica e formattazione
Converti JSON in CSV nel browser. Preset RFC 4180, Excel-EU, TSV, Pipe. Appiattisci o stringifica i dati nidificati. 100% privato, nessun upload.
Convertitore JSON in YAML
Codifica e formattazione
Incolla JSON e ottieni YAML istantaneamente nel browser. Conversione live, K8s e Compose, rientro 2/4 spazi, virgolette Norway-safe. 100% privato.