Skip to content

JSON naar CSV omzetter

Zet JSON om naar CSV in je browser. RFC 4180-, Excel-EU-, TSV- en Pipe-presets. Geneste data afvlakken of als string. 100% privé, geen upload.

Geen tracking Draait in je browser Gratis
Preset
Opties · , · auto · LF · header · no BOM · flatten
Scheidingsteken
Headerregel toevoegen
Aanhalingsteken
Regeleinde
UTF-8 BOM
Genest
0 tekens 0 regels
CSV-uitvoer
0 rijen · 0 kolommen
Gecontroleerd op RFC 4180-naleving, afhandeling van Excel-EU-locales, automatische NDJSON-detectie en behoud van precisie bij grote gehele getallen — Go Tools Engineering Team · May 8, 2026

Wat is CSV en waarom omzetten vanuit JSON?

CSV (Comma-Separated Values) is het oudste en breedst ondersteunde tabulaire dataformaat in de informatica — elke spreadsheet-app, elke database, elke analysetool en de meeste programmeertalen bieden eersteklas CSV-ondersteuning. JSON is daarentegen het universele formaat voor API-responses, configuratie en gestructureerde data-uitwisseling. Tussen beide omzetten is een van de meest voorkomende klusjes in data-engineering: je ontvangt JSON van een API of een NoSQL-database en je hebt een CSV nodig om in Excel te laden voor analyse, in een Postgres-tabel via COPY, of in een BigQuery- / Snowflake-warehouse. Deze tool is gebouwd voor dat conversiepad en verwerkt vier scenario's die de meeste online omzetters verprutsen.

Deze tool heeft vier belangrijke onderscheidende kenmerken ten opzichte van typische online omzetters:

**1. RFC 4180-state-machine-parser.** CSV oogt eenvoudig, maar de regels rond aanhalingstekens zijn subtiel: een veld tussen dubbele aanhalingstekens kan komma's, ingebedde regelovergangen en geëscapete dubbele aanhalingstekens (verdubbeld, zoals "") bevatten. Naïeve split-by-comma-parsers struikelen over realistische data — adressen met komma's, meerregelige tekstvelden en aangehaalde waarden die zelf aanhalingstekens bevatten. Deze tool implementeert een echte state-machine-parser volgens RFC 4180 (de IETF-spec voor CSV) en verwerkt aangehaalde velden, ingebedde scheidingstekens, ingebedde regeleinden en geëscapete aanhalingstekens correct in elke richting. De uitvoer is heen-en-weer-veilig via de csv-module van Python, PostgreSQL COPY, AWS S3 SELECT en elke conforme parser.

**2. Afvlakken eenrichting / Stringify omkeerbaar.** Geneste JSON is fundamenteel onverenigbaar met de platte tabulaire vorm van CSV, en de meeste omzetters corrumperen data stilzwijgend wanneer ze een genest object of array tegenkomen. Deze tool geeft je een expliciete keuze: de Afvlakken-modus produceert sleutels met punten (customer.address.city) en geïndexeerde sleutels (items.0.sku) voor de schoonste spreadsheet-opmaak — leesbaar in Excel maar verlieslatend voor heen-en-weer. De Stringify-modus bewaart arrays en objecten als JSON in één cel — lelijker, maar volledig heen-en-weer-veilig: CSV → JSON → CSV produceert identieke data wanneer je in de omgekeerde richting Types afleiden inschakelt. Kies op basis van je doel: analyse in Excel (Afvlakken) of pipeline-rondes (Stringify).

**3. Detectie van grote gehele getallen.** Het Number-type van JavaScript gebruikt IEEE 754 dubbele precisie en rondt gehele getallen boven 2^53 - 1 (9007199254740991) stilzwijgend af. Dit bijt in realistische JSON: Twitter-snowflake-ID's, Discord-ID's, MongoDB Long-velden en de Kubernetes resourceVersion zijn allemaal 64-bit gehele getallen die het veilige bereik overschrijden. De meeste browsergebaseerde JSON-tools produceren stilzwijgend verkeerde getallen zonder waarschuwing. Deze tool detecteert grote geheelgetalwaarden tijdens het verwerken, toont een waarschuwingsbanner met de getroffen velden en bewaart de oorspronkelijke cijfers als strings in de CSV-uitvoer, zodat Excel en Google Sheets ze niet inkorten tot wetenschappelijke notatie.

**4. 100% browsergebaseerde privacy.** Je JSON-data — die vaak persoonsgegevens, interne database-exports, API-sleutels in payloads en productiegeheimen bevat — verlaat je browser nooit. Er worden geen gegevens naar een server verzonden, geen logging, geen analyses die de invoer vastleggen. Je kunt dit verifiëren in het tabblad Netwerk van je browser. Dit is de enige veilige manier om gevoelige data in een online tool te verwerken. Bekijk de omgekeerde richting door op Richting omdraaien te klikken, of gebruik onze begeleidende JSON naar YAML omzetter wanneer YAML je doel is. JSON valideren vóór het omzetten? Probeer onze JSON-formatter.

De sterke punten van CSV zijn universaliteit en eenvoud: elke tool leest het, parsers zijn miniem, en het bestandsformaat is in elke teksteditor leesbaar voor mensen. De zwakke punten zijn het ontbreken van type-informatie (alles is een string totdat je de parser anders vertelt), geen native ondersteuning voor geneste structuren, en locale-specifieke eigenaardigheden (Excel-EU-puntkomma's, Windows CRLF versus Unix LF). De sterke punten van JSON zijn precies het tegenovergestelde: precieze types, native geneste structuren en een strikte spec die overal identiek wordt verwerkt. De juiste tool hangt af van de afnemer: een mens die een spreadsheet leest → CSV, een machine die een API verwerkt → JSON. Deze omzetter slaat de brug in beide richtingen.

// Input JSON
[
  { "id": 1, "name": "Alice", "role": "admin" },
  { "id": 2, "name": "Bob", "role": "editor" }
]

// Output CSV (RFC 4180 preset: comma + CRLF + no BOM)
id,name,role
1,Alice,admin
2,Bob,editor

// Same input with Stringify mode + nested data
[
  { "id": 1, "tags": ["a", "b"] }
]

// Becomes
id,tags
1,"[""a"",""b""]"

Kernfuncties

RFC 4180-conform

Strikte state-machine-parser volgens de IETF-CSV-specificatie: correcte verwerking van aangehaalde velden, ingebedde scheidingstekens, ingebedde CR/LF en geëscapete dubbele aanhalingstekens (verdubbeld). Uitvoer keert schoon heen-en-weer via Python csv, PostgreSQL COPY en AWS S3 SELECT.

Excel-, TSV- en Pipe-presets

Eenkliks-presets voor de vier meest voorkomende doelen: RFC 4180 (komma + CRLF), Excel (puntkomma + CRLF + UTF-8 BOM voor EU-locales), TSV (Tab + LF) en Pipe (| + LF). Schakel tussen formaten zonder vijf afzonderlijke opties handmatig aan te passen.

Geneste data afvlakken of als string

Expliciete geneste verwerking: Afvlakken produceert sleutels met punten (customer.address.city) voor schone spreadsheet-analyse, Stringify bewaart arrays en objecten als JSON in één cel voor verliesvrije heen-en-weer-conversie. Kies op basis van of je analyse in Excel of een pipeline-ronde nodig hebt.

Detectie van grote gehele getallen

Gehele getallen boven 2^53 worden tijdens het verwerken gedetecteerd en als strings in de CSV bewaard — Twitter-ID's, Discord-snowflakes, MongoDB Long-velden en de K8s resourceVersion blijven exact in plaats van stilzwijgend afgerond te worden door het IEEE 754-getaltype van JavaScript.

Automatische NDJSON-detectie

Regelgescheiden JSON (.ndjson, .jsonl) wordt automatisch gedetecteerd — plak streaminglogs, API-gebeurtenisexports of data lake-uitvoer rechtstreeks zonder ze handmatig in een array te wikkelen. Elke regel wordt een rij in de CSV.

Bidirectioneel met Omdraaien

Eén knop Richting omdraaien keert de conversie ter plekke om: de invoer wordt CSV, de uitvoer wordt JSON, en de huidige tekst blijft bewaard. Stuur je data in beide richtingen heen-en-weer om verliesvrije conversie te verifiëren voordat je hem naar een pipeline stuurt.

Voorbeelden

REST API-respons

[{"id":1,"name":"Alice Chen","email":"alice@example.com","role":"admin"},{"id":2,"name":"Bob Garcia","email":"bob@example.com","role":"editor"},{"id":3,"name":"Carol Singh","email":"carol@example.com","role":"viewer"},{"id":4,"name":"Dan Müller","email":"dan@example.com","role":"viewer"}]

Veelvoorkomende API-uitvoer. Met Header aan krijg je een schone tabulaire CSV die klaar is voor Excel.

GitHub Issues API

[{"id":1001,"title":"Bug: login redirects to 404","state":"open","labels":["bug","priority:high"],"user":{"login":"alice"}},{"id":1002,"title":"Feature: dark mode toggle","state":"open","labels":["enhancement"],"user":{"login":"bob"}},{"id":1003,"title":"Docs: update README","state":"closed","labels":["docs","good-first-issue"],"user":{"login":"carol"}}]

Opgehaald uit /repos/{owner}/{repo}/issues. Afvlakken aan, header aan — toont user.login als afgevlakte kolom.

MongoDB mongoexport

[{"_id":{"$oid":"6634a1b2c3d4e5f600000001"},"email":"alice@example.com","metadata":{"signupDate":"2026-01-15T10:30:00Z","preferences":{"newsletter":true,"theme":"dark"}}},{"_id":{"$oid":"6634a1b2c3d4e5f600000002"},"email":"bob@example.com","metadata":{"signupDate":"2026-02-20T14:15:00Z","preferences":{"newsletter":false,"theme":"light"}}}]

Mongo-exportvorm. Kies de Stringify-modus als je van plan bent CSV→JSON heen-en-weer te converteren.

NDJSON-gebeurtenislogboek

{"event":"signup","user":"alice","ts":1715000000}
{"event":"login","user":"alice","ts":1715000060}
{"event":"checkout","user":"alice","ts":1715000300}

Regelgescheiden JSON (.ndjson/.jsonl) wordt automatisch gedetecteerd — plak de bestandsinhoud rechtstreeks.

Geneste e-commercebestellingen

[{"id":"ord-001","customer":{"name":"Alice Chen","email":"alice@example.com","address":{"city":"Seattle","country":"US"}},"items":[{"sku":"SKU-100","qty":2},{"sku":"SKU-205","qty":1}]},{"id":"ord-002","customer":{"name":"Bob Garcia","email":"bob@example.com","address":{"city":"Madrid","country":"ES"}},"items":[{"sku":"SKU-100","qty":1}]}]

De Afvlakken-modus produceert sleutels met punten (customer.address.city, items.0.sku). Schakel over naar Stringify om arrays/objecten als JSON in één cel te bewaren.

Postman-testresultaten

[{"name":"GET /users returns 200","status":"pass","duration":142},{"name":"POST /users creates record","status":"pass","duration":287},{"name":"GET /users/999 returns 404","status":"fail","duration":98,"error":"Expected 404, got 500"},{"name":"DELETE /users/1 returns 204","status":"pass","duration":156}]

Postman/Newman-testexport. Rijen met gemengde vorm (sommige met error) worden gevuld met lege cellen — je ziet een schemanotitie-waarschuwing.

Zo gebruik je het

  1. 1

    Plak je JSON

    Voer je JSON in of plak deze in het invoerveld hierboven. De tool accepteert arrays van objecten, enkele objecten en NDJSON (regelgescheiden JSON) — automatisch gedetecteerd. Je kunt ook op 'Voorbeeld laden' klikken om een sample te proberen, zoals een REST API-respons, MongoDB-export of NDJSON-gebeurtenislogboek.

  2. 2

    Kies een preset (of pas Opties aan)

    Klik op RFC 4180 (standaard), Excel (EU puntkomma + BOM), TSV (Tab) of Pipe om in één klik een doelformaat in te stellen. Open het Opties-paneel voor fijnmazige controle: Scheidingsteken, Header, Aanhalingsteken (Auto/Altijd), Regeleinde (LF/CRLF), BOM en Genest (Afvlakken/Stringify).

  3. 3

    Kopieer of download de CSV

    Klik op Kopiëren om de CSV naar je klembord te halen, of op Downloaden om hem op te slaan als een .csv-bestand (.tsv met de TSV-preset) dat klaar is voor Excel, Google Sheets, PostgreSQL COPY of een willekeurige datapipeline. Voor heen-en-weer-conversie klik je op Richting omdraaien om CSV ter plekke terug te zetten naar JSON.

Veelgemaakte valkuilen bij conversie

Topwaarde is een primitieve waarde

CSV is fundamenteel tabulair — rijen met velden. Een enkel getal, een string of een boolean heeft geen rij/kolom-structuur om op te projecteren. De top-niveau JSON-waarde moet een object (tabel met één rij) of een array (tabel met meerdere rijen) zijn. Wikkel een primitieve waarde eerst in een object of array.

✗ Fout
42
✓ Correct
[{"value": 42}]

Array met gemengde vorm (rijen met verschillende sleutels)

Wanneer rijen in een JSON-array verschillende sleutels hebben (sommige hebben een error-veld, andere niet), voegt de tool alle sleutels van alle rijen samen en vult ontbrekende cellen met lege waarden. Er verschijnt een schemanotitie-waarschuwing, zodat je weet dat de kolommen zijn samengevoegd. Dit is meestal prima, maar verifieer de uitvoer wanneer downstreamtools een strikt schema verwachten.

✗ Fout
[
  {"name": "GET /users", "status": "pass"},
  {"name": "GET /users/999", "status": "fail", "error": "500"}
]
✓ Correct
// Output CSV (note empty cell in row 1)
name,status,error
GET /users,pass,
GET /users/999,fail,500

Groot geheel getal door Excel afgekapt

Twitter-snowflake-ID's, Discord-ID's en andere 64-bit gehele getallen overschrijden het veilige bereik van JavaScript (2^53 - 1) en verliezen precisie wanneer JSON.parse() ze leest. Zelfs als de CSV de cijfers bewaart, toont Excel ze standaard in wetenschappelijke notatie. De oplossing is tweeledig: sla ID's als strings op in je JSON vóór de conversie, en schakel BOM in (of gebruik de Excel-preset) zodat Excel de cel als tekst behoudt.

✗ Fout
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Correct
{"id": "9007199254740993"}
// CSV preserves the string; Excel displays exactly

Ingebedde komma niet aangehaald

Als je CSV met de hand bouwt via een naïeve join(','), breekt elk veld dat een komma bevat (Smith, Jr. of 1,234.56) de kolomgrenzen — de parser ziet extra kolommen waar er één zou moeten zijn. De Auto-aanhalingstekenmodus van deze tool volgt RFC 4180 en plaatst automatisch dubbele aanhalingstekens rond elk veld dat het scheidingsteken, een dubbel aanhalingsteken, CR of LF bevat.

✗ Fout
name,role
Smith, Jr.,admin
// Parser reads 3 columns: "Smith", " Jr.", "admin"
✓ Correct
name,role
"Smith, Jr.",admin
// Parser reads 2 columns: "Smith, Jr.", "admin"

Excel-EU-bestand onleesbaar als komma-CSV

Europese Excel-locales (Duitsland, Frankrijk, Spanje, Italië, enz.) reserveren de komma voor het decimale scheidingsteken en gebruiken puntkomma's als veldscheidingsteken. Een standaard komma-CSV opent met elke rij ingestort in kolom A. De oplossing is de Excel-preset: hij schakelt naar ; + CRLF + UTF-8 BOM, zodat Excel het bestand in elke locale correct verwerkt.

✗ Fout
id,name,price
1,Alice,1,234.56
// Excel-EU mis-parses 1,234.56 as two columns
✓ Correct
// Excel preset output: ; + CRLF + BOM
id;name;price
1;Alice;1234,56
// Excel-EU reads cleanly with comma decimal

NDJSON niet gedetecteerd (invoervorm)

Automatische NDJSON-detectie vereist één geldige JSON-waarde per regel, zonder leidende of afsluitende array-haakjes. Als je een JSON-array van arrays plakt, of als je bestand een leidend [ en afsluitend ] heeft, behandelt de tool het als één enkele JSON-waarde, niet als NDJSON. Verwijder de omsluitende haakjes en zorg dat elke regel een op zichzelf staand JSON-object is.

✗ Fout
[
  {"event": "signup"},
  {"event": "login"}
]
// Detected as a regular JSON array (works, but not NDJSON path)
✓ Correct
{"event": "signup"}
{"event": "login"}
// Each line is one JSON value — auto-detected as NDJSON

Veelvoorkomende gebruiksscenario's

API-respons naar spreadsheet
Plak een REST API-respons (array van gebruikers/bestellingen/gebeurtenisobjecten) en krijg een schone tabulaire CSV die klaar is voor Excel, Google Sheets of Numbers. Het meest voorkomende gebruiksscenario — analisten en PM's hebben spreadsheet-gevormde data nodig, engineers leveren JSON vanaf de backend.
MongoDB-export naar datawarehouse
Zet mongoexport JSON-uitvoer (met $oid-wrappers en geneste metadata-documenten) om naar CSV om te laden in BigQuery, Snowflake of Redshift. De Stringify-modus bewaart de geneste vorm verliesvrij wanneer downstreamtools JSON-in-cel ondersteunen.
GitHub Issues-triage
Haal issues op uit /repos/{owner}/{repo}/issues, plak de JSON en krijg een platte CSV met id, title, state, labels en user.login als kolommen. Zet in Sheets om te filteren, sorteren en toewijzen tijdens sprintplanning.
Review van NDJSON-gebeurtenislogboek
Streaminglogs van Cloud Logging, Datadog, Vector of je eigen pipeline komen vaak binnen als NDJSON (.ndjson, .jsonl). Plak de bestandsinhoud rechtstreeks — automatisch gedetecteerd — en krijg een CSV voor ad-hocanalyse zonder een echte ETL-pipeline op te tuigen.
Extractie van e-commercebestellingen
Zet geneste bestellings-JSON (customer.address.city, items-array) om naar een platte CSV voor finance, fulfillment of fraude-review. De Afvlakken-modus produceert één kolom per bladveld, klaar om in Excel te laden voor ad-hocrapportage.
Postman/Newman-testrapport
Postman-testexports bevatten rijen met gemengde vorm (sommige met optionele error-velden). Plak de JSON en krijg een CSV met alle sleutels samengevoegd en ontbrekende cellen ingevuld — perfect voor het delen van mislukte testrapporten met niet-engineers in Sheets.

Technische details

RFC 4180-state-machine-parser
Beide richtingen gebruiken een echte finite-state-machine-parser volgens RFC 4180. Toestanden zijn onder andere UnquotedField, QuotedField, AfterQuote, RowEnd en EndOfInput. De parser verwerkt aangehaalde velden met het scheidingsteken, ingebedde CR/LF binnen aangehaalde velden, geëscapete dubbele aanhalingstekens (verdubbeld, zoals "") en afsluitende regelovergangen correct. Dit produceert uitvoer die verliesvrij heen-en-weer keert via de csv-module van Python, PostgreSQL COPY, AWS S3 SELECT en elke conforme parser.
Algoritme voor detectie van grote gehele getallen
Voordat de JSON door JSON.parse() wordt gehaald (wat grote gehele getallen stilzwijgend zou afronden via IEEE 754), voert de tool een regex-scan uit over de ruwe JSON-tekst om geheelgetalliteralen buiten het veilige bereik (-2^53+1 tot 2^53-1) op te sporen. Wanneer deze worden gedetecteerd, worden de getroffen veldpaden vastgelegd en verschijnt er onder de uitvoer een waarschuwingsbanner over grote gehele getallen. De CSV-writer bewaart deze waarden vervolgens als strings, zodat ze met exacte precisie door Excel, Google Sheets en elke tekstgebaseerde downstream-afnemer komen.
BOM en UTF-8-codering voor Excel
Alle invoer en uitvoer is UTF-8. De optionele UTF-8 BOM (0xEF 0xBB 0xBF) wordt aan de uitvoer voorafgegaan wanneer de BOM-schakelaar aan staat of wanneer de Excel-preset is geselecteerd. Excel op Windows gebruikt de BOM om UTF-8-codering te detecteren — zonder BOM valt Excel terug op de systeemlocale (Windows-1252 in de VS, Windows-1251 in Rusland, enz.) en verminkt het niet-ASCII-tekens. Moderne parsers (Python csv, Pandas, jq, PostgreSQL) hebben de BOM doorgaans niet nodig en kunnen hem opnemen als een verdwaald teken aan het begin van de eerste cel; laat BOM dus uit voor niet-Excel-pipelines.

Aanbevolen aanpak

Kies een preset voordat je opties aanpast
De RFC 4180-, Excel-, TSV- en Pipe-presets stellen vijf opties tegelijk in (scheidingsteken, regeleinde, aanhalingstekenmodus, BOM, header). Kies eerst de dichtstbijzijnde preset en pas alleen indien nodig individuele opties aan — zo voorkom je de veelgemaakte fout om één optie om te zetten en een andere te vergeten (bijvoorbeeld: overschakelen naar puntkomma maar LF laten staan, wat Excel-EU op Windows nog steeds verkeerd verwerkt).
Afvlakken voor analyse, Stringify voor heen-en-weer
Gebruik Afvlakken wanneer de bestemming Excel, Sheets of een eenmalige analyse is — sleutels met punten produceren de schoonste spreadsheet-opmaak. Gebruik Stringify wanneer je een CSV → JSON → CSV-ronde zonder gegevensverlies nodig hebt — arrays en objecten overleven als JSON in één cel. Tussendoor wisselen en opnieuw uitvoeren is goedkoop; kies op basis van de afnemer.
Gebruik BOM alleen voor Excel
De UTF-8 BOM is vereist om Excel op Windows de codering correct te laten detecteren. Elke andere parser (Python csv, Pandas, jq, PostgreSQL COPY, BigQuery) negeert de BOM of neemt hem mee als een verdwaald teken aan het begin van de eerste cel, waardoor kolomnamen breken. Laat BOM uit voor pipelines en schakel hem alleen aan (of gebruik de Excel-preset) wanneer de bestemming Excel is.
Bewaar grote ID's als strings in JSON
Twitter-snowflake-ID's, Discord-ID's, MongoDB Long-velden en de K8s resourceVersion zijn 64-bit gehele getallen die het veilige bereik van JavaScript (2^53 - 1) overschrijden. Sla ze op als JSON-strings ("id": "9007199254740993") vóór de conversie — de CSV bewaart de cijfers exact, terwijl een numerieke literaal stilzwijgend zou worden afgerond door JSON.parse().
Valideer rijvorm vóór het laden
Rijen met gemengde vorm (sommige objecten met sleutels die andere missen) worden in de uitvoer samengevoegd met lege cellen, en de tool toont een schemanotitie-waarschuwing. Voor afnemers met een strikt schema (BigQuery, Redshift COPY) controleer je vóór het exporteren of alle rijen dezelfde sleutels delen — of verwerk je de ontbrekende waarden expliciet in je pipeline. Gebruik onze JSON-formatter om eerst de invoervorm te inspecteren.

Veelgestelde vragen

Wat doet deze tool?
Hij zet JSON direct in je browser om naar CSV, met bidirectionele ondersteuning: klik op Richting omdraaien om CSV terug te zetten naar JSON in hetzelfde paneel. Plak JSON in het invoerveld en de tool produceert direct CSV-uitvoer — geen upload, geen aanmelding, niets verlaat je apparaat. De uitvoer respecteert de gekozen preset (RFC 4180, Excel, TSV of Pipe), zodat je rechtstreeks kunt plakken in Excel, Google Sheets, een database COPY-commando of een willekeurige datapipeline. De tool verwerkt platte arrays van objecten, geneste structuren (via de Afvlakken- of Stringify-modus), regelgescheiden NDJSON-invoer en grote geheelgetalwaarden die anders precisie zouden verliezen in spreadsheet-apps.
Wordt mijn data ergens geüpload?
Nee. Alle conversie draait 100% lokaal in je browser via JavaScript. Je JSON-data wordt nooit verzonden, nooit op een server opgeslagen, nooit gelogd en nooit geanalyseerd. Dit maakt de tool veilig voor API-responses met persoonsgegevens, interne database-exports, MongoDB-dumps en alle gevoelige data. Je kunt dit verifiëren in het tabblad Netwerk van je browser — bij het plakken van JSON worden er nul netwerkverzoeken gedaan. De tool gebruikt geen cookies voor invoerdata en geen externe analyses die zouden vastleggen wat je plakt.
Wat is het verschil tussen de Afvlakken- en Stringify-modus?
De Afvlakken-modus produceert sleutels met punten voor geneste objecten en geïndexeerde sleutels voor geneste arrays (customer.address.city, items.0.sku), zodat elke bladwaarde in een eigen kolom staat. Dit is de meest leesbare opmaak voor analyse in Excel of BigQuery, maar verlieslatend voor heen-en-weer-conversie omdat de structuur met puntsleutels niet perfect kan worden gereconstrueerd. De Stringify-modus bewaart arrays en objecten als JSON in één cel ({"name":"Alice","city":"Seattle"}) — lelijker in een spreadsheet, maar volledig heen-en-weer-veilig: CSV → JSON → CSV produceert identieke data. Kies Afvlakken voor analyse, Stringify voor heen-en-weer-veiligheid. Maak de keuze vóór het omzetten; tussendoor wisselen voert de conversie opnieuw uit op de huidige invoer.
Hoe gaat het om met grote gehele getallen zoals Twitter-ID's of Snowflake-sleutels?
Grote gehele getallen (boven 2^53 - 1, oftewel 9007199254740991) worden tijdens het verwerken van JSON gedetecteerd en er verschijnt een waarschuwingsbanner onder de uitvoer. De tool bewaart de oorspronkelijke cijfers als strings in de CSV, zodat Excel en Google Sheets ze niet inkorten tot wetenschappelijke notatie. Dit is van belang omdat het IEEE 754 dubbele precisie float van JavaScript gehele getallen boven 2^53 stilzwijgend afrondt — bijvoorbeeld: 9007199254740993 wordt 9007199254740992. Om de precisie bij het genereren van de JSON aan de bron te behouden, sla je deze ID's op als strings ("id": "9007199254740993"). De tool houdt ze als strings in de CSV zonder enig precisieverlies.
Waarom toont Excel mijn CSV in één kolom?
Europese Excel-locales (Duitsland, Frankrijk, Spanje, Italië, enz.) verwachten een puntkommascheidingsteken omdat de komma is gereserveerd voor decimale scheidingstekens. Wanneer je een door komma's gescheiden CSV opent in Excel-EU, valt elke rij samen in kolom A. Gebruik de Excel-preset van deze tool — die zet het scheidingsteken op ;, het regeleinde op CRLF en voegt een UTF-8 BOM toe, zodat Excel de codering en kolomgrenzen correct herkent. Als je CSV's tussen regio's deelt, is TSV (Tab als scheidingsteken) de veiligere optie omdat Excel die in elke locale consistent verwerkt.
Ondersteunt deze tool NDJSON of JSON Lines?
Ja. NDJSON (.ndjson) en JSONL (.jsonl) zijn regelgescheiden formaten waarbij elke regel één geldige JSON-waarde is. Plak de bestandsinhoud rechtstreeks in het invoerveld — de tool detecteert het formaat automatisch door te zoeken naar meerdere JSON-waarden op het hoogste niveau, gescheiden door regelovergangen, en behandelt elke regel als een rij in de CSV-uitvoer. Dit is de natuurlijke vorm voor streaminglogs, API-gebeurtenisexports en veel data lake-pipelines. NDJSON vereist geen omsluitende array, dus je hoeft regels niet handmatig samen te voegen tot één JSON-document.
Wat is RFC 4180?
RFC 4180 is de IETF-specificatie die in 2005 het de facto CSV-formaat heeft vastgelegd. Hij definieert de regels voor scheidingstekens (meestal komma), regeleinden (CRLF), de optionele headerregel en vooral de regels voor aanhalingstekens: velden met het scheidingsteken, een dubbel aanhalingsteken, CR of LF moeten tussen dubbele aanhalingstekens worden geplaatst, en ingebedde dubbele aanhalingstekens worden geëscaped door ze te verdubbelen (""). De RFC 4180-preset van deze tool produceert uitvoer die strikt voldoet aan de spec: kommascheidingsteken, CRLF-regeleinden, geen BOM, automatische escape van dubbele aanhalingstekens. Dit is de veiligste keuze voor interoperabiliteit met parsers in Python (csv-module), PostgreSQL COPY, AWS S3 SELECT en de meeste datapipelines.
Waarom staan sommige cellen tussen aanhalingstekens en andere niet?
De standaard Aanhalingstekenmodus is Auto, die RFC 4180 volgt: een cel wordt alleen tussen dubbele aanhalingstekens geplaatst wanneer hij het scheidingsteken, een dubbel aanhalingsteken, een carriage return of een nieuwe regel bevat. Dit produceert de meest schone, voor mensen leesbare CSV — waarden zoals Alice of 42 blijven zonder aanhalingstekens, terwijl waarden zoals Smith, Jr. of Regel 1\nRegel 2 worden aangehaald. Schakel naar de Altijd-aanhalingstekenmodus om elke cel te omsluiten, zelfs eenvoudige — handig wanneer downstreamtools buggy CSV-parsers hebben die niet-aangehaalde waarden verkeerd interpreteren, of wanneer de pipeline van je team verlangt dat elk veld voor de consistentie tussen aanhalingstekens staat.
Kan ik CSV → JSON → CSV heen-en-weer converteren zonder gegevensverlies?
Ja, wanneer de invoer plat is (geen geneste objecten of arrays). Voor geneste data moet je de Stringify-modus gebruiken — die bewaart arrays en objecten als JSON in één cel, wat verliesvrij heen-en-weer terugkeert naar de oorspronkelijke structuur wanneer je omdraait met Richting omdraaien en Types afleiden. De Afvlakken-modus is eenrichtingsverkeer: hij produceert sleutels met punten (customer.address.city) die niet perfect kunnen worden gereconstrueerd omdat de parser geen onderscheid kan maken tussen een puntsleutel en een genest pad. De tool detecteert geneste structuren en toont een schemanotitie-waarschuwing wanneer de heen-en-weer-veiligheid in het geding is, zodat je vóór het exporteren van modus kunt wisselen.
Hoe krijg ik een TSV-bestand?
Klik op de TSV-presetchip. Hiermee schakel je het scheidingsteken naar Tab, het regeleinde naar LF en zet je de BOM uit — het standaardformaat voor tab-gescheiden waarden, gebruikt door Unix-tools (cut, awk), datawarehouses (BigQuery, Snowflake) en de meeste Excel-locales zonder dubbelzinnigheid. TSV is over het algemeen veiliger dan komma-CSV voor delen tussen locales omdat een tab onwaarschijnlijk binnen tekstvelden voorkomt, waardoor de meeste randgevallen rond aanhalingstekens verdwijnen. Sla de uitvoer op met een .tsv- of .tab-extensie en de meeste tools herkennen het automatisch.
Wat gebeurt er bij zeer grote invoer?
Boven 100.000 tekens of 2.000 rijen schakelt live conversie automatisch over naar handmatige modus: er verschijnt een Omzetten-knop in een infobanner en de conversie wordt alleen uitgevoerd wanneer je erop klikt. Dit voorkomt dat de hoofdthread van de browser bij elke toetsaanslag blokkeert tijdens zware serialisatie. Voor uitvoer boven 5 MB of 50.000 rijen kapt de tool de voorvertoning op het scherm af tot de eerste 500 rijen en toont een banner met De eerste 500 van N rijen worden weergegeven — maar de Downloaden-knop produceert nog altijd het volledige bestand met elke rij erin. De harde bovengrens is 10 MB invoer; daarboven toont de tool een fout en vraagt hij om de invoer te beperken.
Welke coderingen worden ondersteund?
Invoer en uitvoer zijn beide UTF-8. UTF-8 dekt elke moderne tekenset, inclusief emoji, CJK-ideogrammen, Arabisch, Hebreeuws en combinerende tekens. De enige nuance is de optionele UTF-8 BOM (Byte Order Mark): Excel op Windows had van oudsher de BOM nodig om UTF-8 correct te detecteren, anders valt het terug op de systeemlocale en verminkt het niet-ASCII-tekens. Schakel BOM aan (of gebruik de Excel-preset, die BOM standaard inschakelt) wanneer je van plan bent de CSV in Excel te openen. Laat BOM uit voor al het overige — de meeste moderne parsers (PostgreSQL, Pandas, jq, Python csv) zullen falen of de BOM opnemen als een verdwaald teken aan het begin van de eerste cel.

Gerelateerde tools

Alle tools bekijken →