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.
Opties · , · auto · LF · header · no BOM · flatten
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
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
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
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.
42
[{"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.
[
{"name": "GET /users", "status": "pass"},
{"name": "GET /users/999", "status": "fail", "error": "500"}
] // 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.
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost) {"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.
name,role Smith, Jr.,admin // Parser reads 3 columns: "Smith", " Jr.", "admin"
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.
id,name,price 1,Alice,1,234.56 // Excel-EU mis-parses 1,234.56 as two columns
// 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.
[
{"event": "signup"},
{"event": "login"}
]
// Detected as a regular JSON array (works, but not NDJSON path) {"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?
Wordt mijn data ergens geüpload?
Wat is het verschil tussen de Afvlakken- en Stringify-modus?
Hoe gaat het om met grote gehele getallen zoals Twitter-ID's of Snowflake-sleutels?
Waarom toont Excel mijn CSV in één kolom?
Ondersteunt deze tool NDJSON of JSON Lines?
Wat is RFC 4180?
Waarom staan sommige cellen tussen aanhalingstekens en andere niet?
Kan ik CSV → JSON → CSV heen-en-weer converteren zonder gegevensverlies?
Hoe krijg ik een TSV-bestand?
Wat gebeurt er bij zeer grote invoer?
Welke coderingen worden ondersteund?
Gerelateerde tools
Alle tools bekijken →Base64 decoderen en encoderen online
Encodering en formattering
Base64 decoderen en encoderen direct in je browser. Realtime conversie met volledige UTF-8- en emoji-ondersteuning. 100% privé — geen account nodig.
CSV naar JSON omzetter
Encodering en formattering
Zet CSV om naar JSON in uw browser. RFC 4180, type-afleiding, headerregel, big-int veilig. 100% privé, geen upload.
JSON Diff (Vergelijken)
Encodering en formattering
Vergelijk twee JSON-bestanden direct in je browser. Zij-aan-zij markering, RFC 6902 JSON Patch-uitvoer, negeer storende velden zoals tijdstempels en ID's. 100% privé, geen upload.
Online JSON-formatter & validator
Encodering en formattering
Formatteer en valideer JSON direct in je browser. Gratis online tool met syntaxvalidatie, foutdetectie, minificeren en kopiëren met één klik. 100% privé.
JSON Schema-validator
Encodering en formattering
Valideer JSON tegen elk JSON Schema direct in je browser. Ondersteunt Draft 2020-12, 2019-09 en Draft-07 met padnauwkeurige foutmeldingen. 100% privé — geen upload, geen account, gratis.
JSON naar YAML omzetter
Encodering en formattering
Plak JSON en krijg direct YAML. Live conversie in je browser. K8s/Compose-klaar, 2/4 spaties inspringing, slimme aanhalingstekens. 100% privé, geen upload.