← Alle tools

CSV naar JSON-converter

Converteer CSV naar JSON en JSON naar CSV direct in je browser. Wijs rijen en koppen netjes toe, verwerk geciteerde velden en scheidingstekens en houd data lokaal.

CSV en JSON: twee manieren om dezelfde data te dragen

De meeste tabelgegevens eindigen in een van twee formaten. CSV is de moedertaal van spreadsheets: een plat tekstbestand waarbij elke regel een rij is en komma's de kolommen scheiden. JSON is de taal van API's en apps: een gestructureerd tekstformaat opgebouwd uit objecten (sleutel-waardeparen) en arrays (geordende lijsten). Ze beschrijven dezelfde informatie in heel verschillende vormen, en dat is precies waarom het omzetten ertussen zo vaak voorkomt. Deze pagina doet die conversie in beide richtingen, volledig in je browser.

CSV schittert overal waar een raster er natuurlijk uitziet. Exporteer een rapport vanuit een database, download een lijst met bestellingen of sla een blad op vanuit Excel of Google Sheets, en je krijgt bijna altijd CSV. Het is compact, leesbaar voor mensen en elk analyseplatform ter wereld kan het openen. JSON schittert overal waar software met software praat. REST API's sturen en ontvangen het, configuratiebestanden gebruiken het en JavaScript leest het zonder enige parserbibliotheek. Wanneer je een spreadsheetexport in een API wilt invoeren of een API-antwoord in een spreadsheet wilt ophalen, vertaal je eigenlijk tussen deze twee werelden.

Gloeiende tabel met CSV-rijen die transformeert naar geneste JSON-objecten op een donkerindigo achtergrond
Een platte CSV-tabel die vouwt tot geneste JSON-objecten en -arrays.

Hoe rijen en koppen objecten worden

De mapping is eenvoudiger dan hij eruitziet. De eerste regel van een CSV-bestand is doorgaans de kopregel, en die kopteksten worden de sleutels in JSON. Elke volgende rij wordt één object, waarbij elke cel wordt gekoppeld aan de bijbehorende kop. Het hele bestand wordt een array van die objecten. Een CSV met kolommen naam,e-mail,leeftijd wordt dus een lijst zoals [{"naam": "Ada", "e-mail": "ada@example.com", "leeftijd": "36"}, ...]. De andere kant op, van JSON naar CSV, leest de sleutels van het eerste object om de kopregel op te bouwen en schrijft dan één rij per object. Het is een nette, voorspelbare heen-en-terugreis zolang je data echt tabelmatig is.

De valkuilen die het weten waard zijn

CSV ziet er triviaal uit maar verbergt een paar scherpe kanten. De grootste is komma's in een veld. Als een adres "Amsterdam, Nederland" bevat, zou een naïeve splitsing op komma's die ene waarde in twee kolommen scheuren. De CSV-standaard verwerkt dit door zulke velden tussen dubbele aanhalingstekens te plaatsen, en aanhalingstekens in een aangehaald veld worden verdubbeld (""). Een goede converter respecteert die regels zodat je data niet stilletjes van kolom verschuift. Let ook op het scheidingsteken: veel Europese exports gebruiken een puntkomma in plaats van een komma, omdat de komma daar al een decimaalscheidingsteken is. Tabs en verticale strepen komen ook voor.

Het diepere verschil zit in gegevenstypen. CSV heeft geen enkel concept van gegevenstypen. Alles is tekst, dus het getal 42, de booleaanse waarde true en een lege cel zien er allemaal uit als gewone tekenreeksen. JSON daarentegen maakt onderscheid tussen getallen, tekenreeksen, booleans, null en geneste structuren. Wanneer je CSV naar JSON omzet, komen waarden aan als tekenreeksen tenzij de tool opdracht krijgt getallen en booleans te interpreteren, omdat het bronbestand geen manier biedt om een getal van een woord te onderscheiden. JSON naar CSV omzetten heeft het tegenovergestelde probleem: geneste objecten en arrays passen niet netjes in een plat raster, dus worden ze doorgaans afgevlakt of als een enkele tekenreekswaarde in één cel geschreven. Dit van tevoren weten bespaart je het puzzelen over waarom een kolom er later "verkeerd uitziet".

Spreadsheetraster dat transformeert naar een gloeiende boom van JSON-haakjes in cyaan en goud
Een spreadsheetraster dat transformeert naar een vertakkende boom van JSON-haakjes.

Een echte heen-en-terugreis

Hier is een scenario dat constant voorkomt. Een collega stuurt je een spreadsheet met nieuwe gebruikers en vraagt je ze via een interne API te laden. De API accepteert alleen JSON. Je exporteert het blad naar CSV, plakt het hier en krijgt een nette array van objecten terug die klaar is om in je verzoekpayload te plaatsen. Later geeft de API een JSON-lijst terug van de records die hij heeft aangemaakt, en je moet die aan dezelfde collega teruggeven ter beoordeling. Je plakt de JSON, zet hem om naar CSV en die opent direct in hun spreadsheet. Geen scripts, geen installaties, gewoon twee snelle vertalingen midden in een normale workflow.

Alleen lokaal, by design

Dit alles draait in je browser. Je CSV en JSON worden door JavaScript op je eigen machine geparseerd en omgezet, en er wordt niets naar een server geüpload. Dat maakt het uit, omdat exports vaak echte namen, e-mailadressen, bestelgegevens of interne identifiers bevatten die je niet zomaar in een willekeurige externe service wilt plakken. Hier verlaat de data de pagina nooit. Als je het resultaat daarna wilt opruimen, zal onze JSON-formatter het netjes afdrukken en valideren, en je kunt de rest van onze dataconverters verkennen voor gerelateerde formaten.

Veelgestelde vragen

Wordt mijn data ergens geüpload?

Nee. De conversie verloopt volledig in je browser met JavaScript, zodat je CSV en JSON op je eigen apparaat blijven en nooit naar een server worden gestuurd.

Verwerkt de converter komma's in velden?

Ja. Velden die komma's bevatten, moeten in de CSV tussen dubbele aanhalingstekens staan, en de parser respecteert die aanhalingstekens zodat de waarde in één kolom blijft.

Waarom verschijnen mijn getallen als tekst in JSON?

CSV heeft geen gegevenstypen, dus elke cel is gewone tekst. Waarden worden JSON-tekenreeksen tenzij getal- en booleanparsering wordt toegepast, omdat het bronbestand geen manier biedt om een getal van een woord te onderscheiden.

Wat gebeurt er met geneste JSON als ik naar CSV omzet?

Een plat raster kan geen geneste structuren bevatten, dus geneste objecten en arrays worden doorgaans afgevlakt of als een enkele tekenreekswaarde in één cel geschreven.

Kan ik een puntkomma of tab gebruiken in plaats van een komma?

Ja. Veel exports, vooral Europese, gebruiken puntkomma's of tabs als scheidingsteken, en het hulpmiddel kan die lezen in plaats van de standaard komma.

Werkt het in beide richtingen?

Ja. Je kunt CSV omzetten naar JSON en JSON terug naar CSV, waardoor heen-en-terugreizen tussen spreadsheets en API's eenvoudig zijn.