JSON naar CSV Converter

Converteer JSON online naar CSV — gratis, direct en privé. Je bestand wordt in je browser verwerkt en nooit geüpload.

CSV-scheidingsteken
Resultaat

Geconverteerde bestanden en een voorvertoning verschijnen hier.

Gereed. Kies een tabelbestand om te converteren.

Hoe de conversie werkt

  • Een array van objecten wordt omgezet in rijen en kolommen; geneste objecten worden platgeslagen tot kolommen met een punt-notatie, zoals adres.stad.
  • Kies het scheidingsteken dat bij je gegevens past — komma, puntkomma of tab.

Je tabelbestand wordt in je browser geconverteerd. Er wordt niets naar BroBroGo geüpload.

Veelgestelde vragen

Hoe converteer ik JSON naar CSV?

Sleep je JSON-bestand hiernaartoe en klik op converteren — het CSV-bestand is binnen enkele seconden klaar om te downloaden, inclusief een voorbeeld van het resultaat. Alles wordt lokaal op je apparaat uitgevoerd.

Hoe groot mag het bestand zijn dat ik wil converteren?

Tot 8 MB, 10.000 rijen en 200 kolommen per bestand. Grotere datasets kunnen het beste eerst in kleinere bestanden worden opgesplitst.

JSON naar CSV: Converteren van geneste datastructuren naar platte tabellen

Het omzetten van een JSON-bestand naar een CSV-bestand lijkt eenvoudig, maar brengt fundamentele transformaties met zich mee. JSON is een hiërarchisch, getypeerd formaat; CSV is plat en ongetypeerd. Dit artikel legt uit hoe de converter op deze pagina werkt, welke keuzes u moet maken en waar de valkuilen liggen. Alle verwerking gebeurt uitsluitend in uw browser – er wordt niets naar een server geüpload.

Waarom deze richting anders is dan andere conversies

Waar CSV-naar-Excel of Excel-naar-JSON vaak structuur toevoegt of type-informatie bewaart, doet JSON-naar-CSV het tegenovergestelde: het vlakt een geneste, getypeerde datastructuur af tot een platte, ongetypeerde tabel. JSON ondersteunt objecten, arrays, getallen, booleans en null in geneste structuren. CSV kent geen types, geen nesting, geen meerdere werkbladen en geen opmaak. De conversie verwijdert alle type-informatie, geneste structuur en opmaak.

Om geneste JSON-objecten toch in een platte CSV weer te geven, gebruikt de tool dot‑path-notatie. Bij een object { "adres": { "stad": "Amsterdam", "postcode": "1012AB" } } worden de kolommen adres.stad en adres.postcode. Arrays van objecten worden rijen in de tabel; arrays van arrays worden eveneens als rijen behandeld – maar zonder object-sleutels.

Hoe de tool werkt: invoer, opties en uitvoer

U uploadt een JSON-bestand (of sleept het naar het venster) en de tool zet het om naar CSV. U kiest het scheidingsteken voor de uitvoer: komma, puntkomma of tab. Vervolgens toont de tool een voorvertoning van de tabel en kunt u het CSV-bestand downloaden. De tool geeft ook het aantal rijen, het aantal kolommen en de bestandsgrootte van de uitvoer weer.

Ondersteunde invoerformaten

Deze pagina converteert uitsluitend JSON naar CSV.

Uitvoeropties

Scheidingsteken Wanneer gebruiken?
Komma (,) Standaard in de meeste Engelstalige programma’s; wordt vaak door Excel herkend.
Puntkomma (;) Noodzakelijk in landen waar de komma als decimaalteken wordt gebruikt (bv. Nederland, Duitsland). Excel in die regio’s verwacht puntkomma als scheidingsteken.
Tab (\t) Handig voor data met veel komma's in de waarden, of voor import in systemen die tabs prefereren (bv. MySQL LOAD DATA INFILE).

De structuurvereiste: JSON moet tabelvormig zijn

De tool accepteert alleen JSON die tabelvormig is – dat wil zeggen een array van objecten of een array van arrays. Anders wordt de foutmelding getoond: “This JSON is invalid or not table-shaped.”

  • Array van objecten: elk object wordt een rij, de sleutels van de objecten worden kolommen. Geneste objecten worden afgevlakt met dot-paths.
  • Array van arrays: elke binnenste array wordt een rij, de elementen worden kolommen. Object-sleutels ontbreken dan volledig.

Een voorbeeld van niet-tabelvormige JSON: een enkel object met willekeurige sleutels, of een array van gemengde typen. Ook een diep geneste structuur met wisselende schema's wordt afgewezen.

Wat er verloren gaat: types en nesting

De grootste verandering bij JSON-naar-CSV is het verlies van type-informatie. Alle waarden worden strings in CSV. Een getal zoals 42 wordt "42". Een boolean true wordt "true". null wordt een lege cel.

Daarnaast gaan alle geneste structuren verloren. Een object { "persoon": { "naam": "Jan", "leeftijd": 30 } } wordt niet weergegeven als twee kolommen met een prefix; het wordt letterlijk persoon.naam en persoon.leeftijd. U kunt de oorspronkelijke structuur niet terugwinnen uit de CSV.

Voorbeeld van flattening

Invoer JSON:

[
  {
    "id": 1,
    "naam": "Jan",
    "adres": {
      "straat": "Hoofdstraat",
      "huisnr": 10,
      "stad": "Amsterdam"
    },
    "cursussen": ["Wiskunde", "Natuurkunde"]
  }
]

Uitvoer CSV (met komma als scheidingsteken):

id,naam,adres.straat,adres.huisnr,adres.stad,cursussen
1,Jan,Hoofdstraat,10,Amsterdam,"[""Wiskunde"",""Natuurkunde""]"

Merk op: de array cursussen wordt als JSON-string weergegeven, omdat CSV geen arrays ondersteunt. De tool moet hier zelf de waarde quoten om komma's en aanhalingstekens te escapen. Dit is een typische valkuil: de oorspronkelijke array- of objectstructuur verdwijnt in een string.

Edge cases en foutmeldingen

De tool kent een aantal grenzen en specifieke foutmeldingen. Alle foutmeldingen worden in het Nederlands getoond.

Foutmelding Oorzaak
“This file is too large. Use a file under ‹max›.” Bestandsgrootte overschrijdt de client-side limiet van 8 MB.
“This file has no table rows.” Het bestand bevat geen rijen.
“This file has no table rows.” Het aantal rijen overschrijdt de ingestelde limiet van 10.000.
“This file has no table rows.” Het aantal kolommen overschrijdt de limiet van 200.
“Choose a CSV, JSON or XLSX file.” Geen bestand geselecteerd of bestandstype wordt niet ondersteund.
“Choose a different output format.” De geselecteerde uitvoer komt overeen met de invoer (bv. JSON → JSON).
“Could not convert this file.” Algemene fout – onjuist formaat of corrupt bestand.
“Conversion cancelled.” Gebruiker heeft de conversie onderbroken.
“This conversion is taking too long. Try a smaller file.” Performance-limiet – client-side JavaScript heeft een time-out na ongeveer 12 seconden.

Belangrijke CSV-quoting-regels

De tool past automatisch de standaard CSV-quoting toe:

  • Waarden die het scheidingsteken bevatten, worden tussen dubbele aanhalingstekens gezet.
  • Dubbele aanhalingstekens in de waarde worden verdubbeld (bv. "Hij zei: ""Hallo""").
  • Regeleinden in een waarde worden geëscaped door de hele waarde te quoten.

Dit is essentieel omdat JSON regeleinden in strings toestaat, maar CSV dat niet tolereert zonder quoting. Een tekenreeks uit JSON met een nieuwe regel ( ) wordt in CSV omgezet naar een letterlijke nieuwe regel tussen aanhalingstekens. Sommige spreadsheetprogramma's interpreteren dit niet altijd correct – een bekende valkuil.

Verlies van voorloopnullen

Omdat CSV alle waarden als strings behandelt, maar getallen zoals 00123 uit JSON (als string) worden in CSV vaak omgezet naar 123 als ze als numeriek worden geïnterpreteerd. De tool hier verwijdert voorloopnullen bij getallen, tenzij de waarde als string is genoteerd in JSON (bv. "00123"). In dat geval blijft de string 00123 behouden, maar veel spreadsheetprogramma's zullen alsnog de nullen weghalen bij openen. Dit is een randgeval dat u moet controleren na conversie.

Wie heeft deze tool nodig?

  • API-ontwikkelaars die een JSON-antwoord van een REST-endpoint moeten omzetten naar CSV voor rapportage of analyse in Excel/Google Sheets.
  • Data-analisten die gestructureerde JSON-data krijgen uit een NoSQL-database (bv. MongoDB) en deze willen inlezen in statistische software die CSV vereist.
  • Privacy‑bewuste gebruikers die geen data naar een server willen sturen; alles blijft lokaal.
  • Nederlandse gebruikers die een puntkomma als scheidingsteken nodig hebben vanwege de decimale komma.
  • Iedereen die snel een prototype van een data-pijplijn maakt – upload JSON, bekijk de tabel, download en ga verder.

Veelgestelde vragen (FAQ)

1. Waarom wordt mijn geneste JSON niet geconverteerd? Waarschijnlijk is de JSON niet tabelvormig. Controleer of het een array van objecten of array van arrays is. Een enkel object zonder array wordt wel geaccepteerd en wordt een tabel met één rij. Ook wisselende objectstructuren (bv. het ene object heeft veld leeftijd, het andere niet) kunnen problemen geven – dan ontstaan er lege cellen.

2. Kan ik de dot-path-notatie uitschakelen? Nee, de tool gebruikt standaard dot-paths. U kunt na conversie in Excel of een teksteditor de kolomkoppen aanpassen. Als u liever een andere notatie wilt, moet u de JSON voorbewerken.

3. Wat gebeurt er met lege arrays of null-waarden? null wordt omgezet naar een lege cel. Een lege array `` wordt "" (een string). Lege objecten {} worden "{}". Dit is niet ideaal, maar CSV kent geen concept van null-values of lege structuren.

4. Blijft de volgorde van de kolommen behouden? Ja, de tool behoudt de volgorde van de eerste object-sleutels (of arrays). Als latere objecten andere sleutels hebben, worden extra kolommen toegevoegd. De volgorde is niet gegarandeerd in alle JSON-parsers, maar JavaScript Object.keys() houdt de oorspronkelijke volgorde aan.

5. Kan ik het CSV-bestand direct in Excel openen? Meestal wel, maar let op de decimale instellingen. Als uw regio een komma als decimaalteken gebruikt, kies dan voor puntkomma als scheidingsteken. Anders herkent Excel de kolommen niet correct. Ook voorloopnullen kunnen verdwijnen – controleer altijd.

6. Is er een limiet aan de bestandsgrootte? Ja, de tool heeft een client-side limiet van 8 MB. Te grote bestanden geven de melding “This file is too large. Use a file under ‹max›.” Te veel rijen (meer dan 10.000) of kolommen (meer dan 200) geven aparte meldingen.