JSON naar CSV omzetten

Hier zet je JSON naar CSV om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.

  • Waar het draait In je browser. Het bestand wordt nooit geüpload.
  • Opnieuw opgebouwd CSV werkt anders dan JSON. Het is dus niet het geleidelijke kwaliteitsverlies van een lossy codec: wat CSV kan uitdrukken wordt getrouw weergegeven, en wat daar geen equivalent heeft blijft helemaal weg.
  • Maximale grootte Tot 100 MB per bestand, gratis en zonder account.
  • Goed om te weten Geneste objecten worden platgeslagen tot kolommen. Diep geneste gegevens verliezen hun vorm.

Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.

Een boomstructuur platgeslagen tot een raster

Dit is het ene ding om te begrijpen voor je iets omzet. JSON beschrijft een boom: een object kan een ander object bevatten, dat weer een reeks objecten kan bevatten, tot elke diepte. Een CSV beschrijft een raster: rijen en kolommen, en niets binnen een cel.

De omzetting is dus geen vertaling tussen twee schrijfwijzen van hetzelfde, maar een projectie, en er moet iets wijken. Voor data die echt een lijst platte records is — de meeste exports — gaat niets verloren. Voor diep gestructureerde data is de CSV een leesbare benadering en blijft de JSON het echte bestand.

Hoe nesting kolommen wordt

Een genest object wordt platgeslagen door de sleutelnamen samen te voegen, dus een record met een klant met een woonplaats erin levert een kolom op die beide namen combineert. Eén niveau nesting geeft een tabel die iedereen kan lezen. Twee is meestal nog prima.

Daarboven verslechtert het snel: kolomnamen worden lang, de tabel wordt erg breed, en de meeste cellen in de meeste rijen zijn leeg omdat verschillende records anders genest zijn. Levert een omzetting zestig kolommen op uit wat een simpele export leek, dan is dat de vorm van de data die doorschemert.

Arrays zijn het echt lastige geval

Een record met drie tags, vier orderregels of een lijst vorige adressen heeft geen correcte weergave in een tabel. Er zijn drie gangbare antwoorden en elk is ergens fout: één kolom per positie, wat breekt als een record er vijf heeft; één kolom met waarden aan elkaar geplakt met een scheidingsteken, wat onleesbaar is als de waarden dat teken bevatten; of één rij per array-element, wat het ouderrecord dupliceert.

Dragen arrays de betekenis — een bestelling met orderregels, een bericht met reacties — dan is het eerlijke antwoord niet om te converteren. Bewaar de JSON, of maak twee tabellen zoals een database dat zou doen: één voor bestellingen en één voor orderregels, gekoppeld via een id.

Waar de kolommen vandaan komen

Records in een JSON-export hoeven niet dezelfde sleutels te hebben. Een API retourneert velden die bestaan en laat velden weg die dat niet doen, dus honderd records kunnen tachtig verschillende vormen tonen.

De omzetting lost dat op door over alle records te kijken en de volledige set kolommen te bouwen, met een lege cel waar een record geen waarde heeft. Dat is meestal wat je wilt, en het verklaart een veelvoorkomende verrassing: een steekproef van tien records omzetten levert minder kolommen op dan het hele bestand.

Excel gokt nog steeds naar het resultaat

Een correcte CSV produceren beschermt niet tegen wat daarna gebeurt. Excel opent een bestand door per kolom een type te raden, wat voorloopnullen uit codes strijpt, alles wat op een datum lijkt omzet, en id’s boven vijftien cijfers afkapt.

De remedie is als altijd: importeren in plaats van openen — Gegevens, dan Uit tekst/CSV — en id-kolommen op Tekst zetten voor het laden. Is de ontvanger een mens in plaats van een programma, dan neemt omzetten naar XLSX het raden helemaal weg.

Wanneer wel en wanneer niet omzetten

Zet om als de data platte records zijn en de bestemming een spreadsheet, databaseimport of collega is. Dat dekt de meeste exports uit analyseplatforms, CRM’s en rapportage-API’s, en de CSV is voor al die gevallen makkelijker dan de JSON.

Zet niet om als de structuur de inhoud is — een configuratiebestand, een geneste API-respons waar je programmatisch mee wilt werken. Bewaar de JSON hoe dan ook: het is het bestand dat nog alles bevat, en een CSV eruit opnieuw genereren kost seconden.

De ChatGPT-export, en waarom die slecht platslaat

Data-exports van AI-diensten zijn tegenwoordig een van de meest voorkomende redenen om een JSON-bestand te openen, en het ChatGPT-archief is het gangbare geval. Het bestand conversations.json is geen lijst rijen: het is een verzameling berichtenbomen, elke node wijzend naar zijn ouder, wat vertakte en bewerkte gesprekken weergeeft. Er zit geen eerlijk raster in.

Omzetten naar CSV levert iets technisch geldigs en praktisch onbruikbaars op — één rij per node, met de gespreksstructuur verdwenen. Wil je je gesprekken lezen, open dan het HTML-bestand in hetzelfde archief. CSV is het juiste doel voor de plattere exports ernaast, zoals gebruiks- en factuurgegevens.

Zeer grote exports

Een JSON-array moet compleet zijn voor hij ontleed kan worden, want het sluithaakje maakt hem pas geldig. Een zeer groot bestand moet dus in zijn geheel gelezen worden, een eigenschap van het formaat, niet van een specifiek hulpmiddel.

Bepaal je zelf hoe de data geproduceerd wordt, vraag dan om NDJSON — één compleet JSON-object per regel — in plaats van één grote array. Elke regel wordt apart ontleed: een beschadigde of afgekapte regel faalt met zijn eigen regelnummer in plaats van het hele document ongeldig te maken.

De export verlaat je machine niet

De omzetting draait in je browser op je eigen processor. Het bestand wordt nergens naartoe gestuurd, er is geen account en geen daglimiet, en bestanden tot 100 MB worden in het tabblad verwerkt.

Dat weegt hier zwaarder dan bij de meeste omzettingen. Een JSON-export is bijna altijd de ruwe uitvoer van een API — klantgegevens, bestelgeschiedenis, formulierinzendingen — en bevat vaak velden waar niemand bij stilstond. Niets versturen is het eenvoudige antwoord.

Zo zet je JSON naar CSV om

  1. Sleep je JSON-bestand op deze pagina, of klik om er een te kiezen.
  2. Kies CSV als doel. De omzetting gebeurt in je browser en het bestand wordt niet geüpload.
  3. Download het klare CSV-bestand.

JSON of CSV: wat er verandert

JSON vergeleken met CSV
JSONCSV
Volledige naamJavaScript Object NotationComma-Separated Values
Bestandsextensie.json.csv
Mediatypeapplication/jsontext/csv
Voor het eerst gepubliceerd20011972
SpecificatieRFC 8259RFC 4180
LicentieOpen standaardOpen standaard
Stand van zakenActueelActueel
Opent in een browserElke browserGeen browser
In plaats daarvan overwogenXML, YAML, NDJSONXLSX, Parquet

Het resultaat openen

Geen enkele browser leest CSV. Daarmee is het het minst draagbare van de twee. Ga liever na of de ontvanger het aanneemt voor je het verstuurt.

De gebruikelijke programma's overlappen niet: JSON open je in Visual Studio Code, jq en Postman, CSV in Microsoft Excel, LibreOffice Calc en pandas — wie het resultaat krijgt, heeft dus iets uit de tweede rij nodig.

Waarvoor elk formaat bedoeld is

JSON verscheen in 2001. Het is vastgelegd in RFC 8259, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.

CSV stamt uit 1972, vastgelegd in RFC 4180. Microsoft Excel, LibreOffice Calc en pandas lezen het formaat.

CSV verscheen in 1972 en JSON in 2001. Het oudste is doorgaans het veiligste bestand om te overhandigen; het nieuwste doet hetzelfde werk met minder bytes.

Van JSON naar CSV: veelgestelde vragen

Wordt mijn JSON-bestand ergens heen geüpload?

Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.

Is JSON naar CSV omzetten gratis?

Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.

Gaat er kwaliteit verloren bij het omzetten van JSON naar CSV?

JSON en CSV beschrijven de inhoud op fundamenteel andere manieren. De omzetting is daarom een reconstructie en geen kopie: getrouw, maar niet byte voor byte identiek. Geneste objecten worden platgeslagen tot kolommen. Diep geneste gegevens verliezen hun vorm.

Opent een CSV-bestand in de browser?

Geen enkele browser leest CSV. Daarmee is het het minst draagbare van de twee. Ga liever na of de ontvanger het aanneemt voor je het verstuurt.

Meer over deze formaten