Open of plak een CSV-bestand en de JSON verschijnt naast de opties, terwijl je ze aanpast. Standaard wordt elke rij een object met de kolomnamen als sleutels; kies een array van arrays, een object met een array per kolom of JSON Lines als de ontvangende code die vorm verwacht. Elke waarde blijft standaard een string, dus 00731 en nummers van 20 cijfers komen er precies zo uit als ze erin gingen. Zet het herkennen van getallen alleen aan als een kolom JSON-getallen en true/false moet worden. Voor configuratiebestanden schrijft CSV naar YAML dezelfde rijen als YAML. Het bestand wordt in je browser omgezet en nooit geüpload.
Zo zet je CSV om naar JSON
- Open een
.csv-,.tsv- of.txt-bestand, sleep het naar de tool of plak rijen. Het scheidingsteken en een UTF-8- of UTF-16-byte order mark worden herkend. Een ander scheidingsteken of een oudere codering zoals Windows-1252 of Shift_JIS kies je onder Importinstellingen. - Kies de JSON-structuur. Het voorbeeld toont de eerste 200 rijen van precies de uitvoer die in de download komt.
- Stel Waardetypen, Lege cellen, nesten en inspringing in, en kies daarna ‘JSON downloaden’ of Kopiëren.
Wil je veel bestanden met dezelfde instellingen omzetten? Kies Batch: meerdere bestanden omzetten en selecteer ze samen. Elk bestand wordt om de beurt omgezet, en de resultaten worden als één ZIP-bestand gedownload.
JSON-uitvoer: objecten, arrays of JSON Lines
| Array van objecten | Eén object per rij, met de kolomnamen als sleutels: [{"sku": "00731", …}]. De vorm die de meeste API’s en JavaScript-code verwachten. |
|---|---|
| Array van arrays | Eerst de kopregel, daarna elke rij als lijst. De kleinste uitvoer; de volgorde van de kolommen ligt expliciet vast. |
| Object met kolomarrays | {"sku": ["00731", "00732"], …} – handig voor grafiekbibliotheken en dataframetools. |
| JSON Lines | Eén JSON-object per regel (JSON Lines), zonder array eromheen. Geschikt voor logpijplijnen, laden in BigQuery en verwerking regel voor regel. |
| Alle waarden als tekst bewaren | Elke cel wordt een JSON-string, precies zoals in het bestand. Dit is de standaard. |
| Getallen en true/false herkennen | Een kolom wordt alleen JSON-getallen als elke niet-lege waarde een gewoon getal is dat de omzetting heel doorstaat: geen voorloopnullen, maximaal 15 significante cijfers, geen decimale komma. Kolommen met true/false worden booleans. Datums blijven strings. |
| Lege cellen | Schrijf "" of null, of laat de sleutel weg uit dat object. |
| Kolomnamen met punten nesten | user.name en user.email worden {"user": {"name": …, "email": …}}. Is een naam zowel een waarde als een bovenliggend object (user en user.name), dan blijven die kolommen plat en meldt de tool dat. |
Kolomnamen, waarden tussen aanhalingstekens en ID’s in de JSON
- Komma’s, aanhalingstekens (
"") en regeleinden binnen een waarde tussen aanhalingstekens worden gelezen volgens RFC 4180 en als gewone JSON-escapes geschreven (\n,\"). - Kolomnamen worden precies zo gebruikt als ze er staan, inclusief spaties en niet-Latijnse schriften. Een lege kolomnaam wordt
Column 3en een dubbelename (2), zodat er geen waarde wordt overschreven. - Kolomnamen zoals
__proto__ofconstructorworden als gewone sleutels geschreven. - Heeft een rij meer waarden dan de kopregel, dan komen er extra sleutels bij met de namen
Column 4,Column 5… Een kortere rij krijgt lege waarden. Er gaat niets verloren. - Uitvoer met typen maakt van
0012nooit12, en van een ordernummer van 19 cijfers nooit een afgerond drijvendekommagetal: zo’n kolom blijft tekst.
Veelvoorkomende problemen bij CSV naar JSON
- Alles staat in één sleutel. Het scheidingsteken is verkeerd geraden. Kies onder Importinstellingen komma, puntkomma, tab of verticale streep, en open het bestand opnieuw.
- Letters met accenten zien eruit als é. Het bestand is geen UTF-8. Kies de codering onder Importinstellingen (bij oudere Excel-exports vaak Windows-1252).
- Een kolom met getallen is tekst gebleven. Minstens één waarde is geen gewoon getal, bijvoorbeeld
1,5,12 kgof een waarde met een voorloopnul. Zoek in de kolom met de CSV-viewer om hem te vinden. - De foutmelding over aanhalingstekens noemt een record. In dat record wordt een aanhalingsteken geopend en nooit gesloten. Herstel het in de CSV-editor of controleer de export van het bronsysteem.
Grenzen en privacy
Bestanden tot 25 MB, 100.000 rijen of 2 miljoen cellen openen met een live voorbeeld. Grotere bestanden worden in delen omgezet: het bestand wordt twee keer in stukken gelezen (eerst om de kolommen en typen te leren, dan om te schrijven), het voorbeeld wordt vervangen door een melding, en de download bevat alle rijen. Eén uitvoerbestand is maximaal 4 GB.
Het omzetten gebeurt in een achtergrondproces in dit tabblad, zodat de pagina blijft reageren; met Annuleren stop je het. Het CSV-bestand wordt nooit naar een server gestuurd.
Voorbeeld: een productlijst als JSON-objecten
Een productlijst met een SKU met voorloopnullen en een komma tussen aanhalingstekens, omgezet met de standaardinstellingen (alles tekst, array van objecten, inspringing van 2 spaties). Met Getallen en true/false herkennen wordt price 34.9 en in_stock true, terwijl sku "00731" blijft.
sku,name,price,in_stock 00731,"Desk lamp, brass",34.90,true 00732,Cable tidy,4.50,false
[
{
"sku": "00731",
"name": "Desk lamp, brass",
"price": "34.90",
"in_stock": "true"
},
{
"sku": "00732",
"name": "Cable tidy",
"price": "4.50",
"in_stock": "false"
}
]Vragen en antwoorden
Waarom staan getallen standaard tussen aanhalingstekens?
Omdat CSV geen typen kent: 00731, 1.50 en 2024-03-01 zijn allemaal gewoon tekst. Door ze als strings te bewaren, staat in de JSON gegarandeerd precies wat in het bestand stond. Kies het herkennen van getallen als je weet dat een kolom hoeveelheden bevat.
Kan ik hier JSON terugzetten naar CSV?
Nog niet. Deze pagina zet alleen CSV en TSV om naar JSON.
Is JSON Lines hetzelfde als NDJSON?
In de praktijk wel: beide betekenen één volledige JSON-waarde per regel, gescheiden door regeleinden.