Skip to content

CSV naar JSON omzetter

Zet CSV om naar JSON in uw browser. RFC 4180, type-afleiding, headerregel, big-int veilig. 100% privé, geen upload.

Geen tracking Draait in je browser Gratis
Preset
Opties · , · auto · LF · header · no BOM · flatten
Scheidingsteken
Eerste rij is header
Types afleiden (getal, boolean, null)
0 tekens 0 regels
JSON-uitvoer
0 rijen · 0 kolommen
Gecontroleerd op RFC 4180-naleving, correctheid van Type-afleiding, behoud van precisie bij grote gehele getallen en gedrag van autonames bij headerloze CSV's — Go Tools Engineering Team · May 9, 2026

Wat is JSON en waarom omzetten vanuit CSV?

JSON (JavaScript Object Notation) is het universele formaat voor API-responses, configuratiebestanden en gestructureerde data-uitwisseling — elke moderne programmeertaal, elke database en elk webframework biedt eersteklas JSON-ondersteuning. CSV (Comma-Separated Values) is daarentegen het oudste en breedst ondersteunde tabulaire formaat — elke spreadsheet-app, elke database-export en elke analysetool kan het produceren. Tussen beide omzetten is een van de meest voorkomende klusjes in data-engineering: u ontvangt een CSV uit een spreadsheet, een database-dump of een externe export, en u hebt JSON nodig om een API te voeden, een frontend te hydrateren of in een NoSQL-store te laden. 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 CSV-naar-JSON-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. Type-afleiding met big-integer-veiligheid.** Met Types afleiden aan worden numerieke strings getallen, true/false worden booleans, lege cellen worden null. Maar de afleidingspipeline heeft twee belangrijke beveiligingen: strings met voorloopnullen (007, 0123) blijven strings omdat voorloopnullen identifiers aanduiden — omzetten naar een getal zou ze stilzwijgend wegstrippen. En gehele getallen boven 2^53 - 1 (9007199254740991) blijven ook strings om IEEE 754-precisieverlies te vermijden. Twitter-snowflake-ID's, Discord-ID's, MongoDB Long-velden en de K8s resourceVersion blijven exact in plaats van stilzwijgend afgerond te worden. ISO-datumstrings worden met opzet als strings bewaard — JSON heeft geen native datumtype.

**3. Header-autonames of eerste rij gebruiken.** Met Header aan (de standaard) wordt de eerste rij behandeld als kolomnamen en wordt elke volgende rij een JSON-object met die namen als sleutel. Met Header uit benoemt de parser kolommen automatisch col1, col2, col3 — handig voor ruwe data-dumps zonder een headerregel. De Scheidingsteken-chiprij dekt de vier meest voorkomende scheidingstekens: komma (RFC 4180-standaard), puntkomma (Excel-EU-locales), tab (TSV van Unix-tools en datawarehouses) en pipe (velden met veel komma's). Kies de chip en parseer — geen handmatige configuratie nodig voor typische realistische CSV's.

**4. 100% browsergebaseerde privacy.** Uw CSV-data — die vaak persoonsgegevens, interne database-exports, klantgegevens en productie-exports bevat — verlaat uw browser nooit. Er worden geen gegevens naar een server verzonden, geen logging, geen analyses die de invoer vastleggen. U kunt dit verifiëren in het tabblad Netwerk van uw 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 CSV omzetter wanneer CSV uw doel is. JSON-uitvoer valideren vóór het verbruiken? Probeer onze JSON-formatter.

De sterke punten van JSON zijn precieze types, native geneste structuren en een strikte spec die overal identiek wordt verwerkt — het juiste formaat wanneer een machine de data verwerkt. De sterke punten van CSV zijn universaliteit en menselijke leesbaarheid — het juiste formaat wanneer een mens een spreadsheet opent. 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 CSV (comma + LF, header on, infer types on)
id,name,active,score
1,Alice,true,98.5
2,Bob,false,87
3,Carol,true,

// Output JSON
[
  { "id": 1, "name": "Alice", "active": true, "score": 98.5 },
  { "id": 2, "name": "Bob", "active": false, "score": 87 },
  { "id": 3, "name": "Carol", "active": true, "score": null }
]

// Same input with Header off (no first-row keys)
1,Alice,true,98.5
2,Bob,false,87

// Becomes
[
  { "col1": 1, "col2": "Alice", "col3": true, "col4": 98.5 },
  { "col1": 2, "col2": "Bob", "col3": false, "col4": 87 }
]

Kernfuncties

RFC 4180-state-machine-parser

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.

Type-afleiding met big-integer-veiligheid

Types afleiden aan zet numerieke strings om naar getallen, true/false naar booleans, lege cellen naar null. Gehele getallen boven 2^53 - 1 blijven strings om IEEE 754-precisieverlies te vermijden; strings met voorloopnullen (007, 0123) blijven strings om de identifier-semantiek te behouden.

Header aan/uit met autonames

Header aan (standaard) gebruikt de eerste rij als JSON-sleutels. Header uit benoemt kolommen automatisch col1, col2, col3 op volgorde — handig voor ruwe data-dumps en machinegegenereerde CSV's zonder headerregel. De autonames zijn deterministisch en pipeline-vriendelijk.

Komma-, puntkomma-, tab- en pipe-scheidingstekens

Eenkliks-Scheidingsteken-chips voor de vier meest voorkomende scheidingstekens: `,` (RFC 4180-standaard), `;` (Excel-EU-locales), `\t` (TSV van Unix-tools, BigQuery, Snowflake) en `|` (vrije-tekstvelden met veel komma's). De parser schakelt direct van modus — geen noodzaak om bestanden eerst om te zetten.

Detectie van grote gehele getallen

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

Bidirectioneel met Omdraaien

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

Voorbeelden

Spreadsheet-export met header

id,name,email,role
1,Alice,alice@example.com,admin
2,Bob,bob@example.com,editor
3,Carol,carol@example.com,viewer
4,Dan,dan@example.com,viewer

Standaard CSV uit een spreadsheet. Met Header aan en Types afleiden aan krijgt u schone, getypeerde JSON: gehele getallen blijven gehele getallen, booleans en null worden gedetecteerd.

Tab-gescheiden logexport (TSV)

ts	event	user	duration
2026-05-09T10:00:00Z	signup	alice	142
2026-05-09T10:01:00Z	login	alice	87
2026-05-09T10:02:00Z	checkout	alice	312
2026-05-09T10:03:00Z	logout	alice	44

Kies `\t` (Tab) als scheidingsteken. Header staat standaard aan en gebruikt automatisch de eerste rij als sleutels.

Excel-EU CSV (puntkommascheidingsteken, CRLF)

id;name;price
1;Alice;1234,56
2;Bob;9876,54
3;Carol;42,00

Excel in DE/FR/IT/ES-locales geeft `;` als scheidingsteken omdat de komma het decimale scheidingsteken is. Kies `;` op de Scheidingsteken-chip — de parser doet de rest.

Ingebedde komma's en geëscapete aanhalingstekens

name,role,note
"Smith, Jr.",admin,"He said ""hi"""
"Doe, Jane",editor,"Two
lines"

Standaard RFC 4180-aanhalingstekens: aangehaalde velden mogen scheidingstekens en geëscapete aanhalingstekens (verdubbeld) bevatten. De parser is een state-machine — hij splitst nooit binnen aanhalingstekens.

CSV met grote geheelgetal-ID's

id,event,user
9007199254740993,signup,alice
9007199254740994,login,bob
9007199254740995,checkout,carol

Grote gehele getallen overschrijden het veilige bereik van JavaScript (2^53 - 1). Met Types afleiden aan detecteert de parser dit en bewaart de waarde als string om de precisie te behouden — geen afkapping.

CSV zonder header

1,Alice,admin
2,Bob,editor
3,Carol,viewer
4,Dan,viewer

Schakel Header uit; kolommen krijgen automatisch de namen `col1`, `col2`, `col3`. Gebruik dit voor ruwe data-dumps zonder een headerregel.

Zo gebruikt u het

  1. 1

    Plak uw CSV

    Voer uw CSV in of plak deze in het invoerveld hierboven. De tool accepteert komma-, puntkomma-, tab- en pipe-gescheiden data. U kunt ook op 'Voorbeeld laden' klikken om een sample te proberen, zoals een spreadsheet-export, TSV-log of Excel-EU-CSV met puntkomma's.

  2. 2

    Kies het scheidingsteken (of Tab)

    Klik op `,` (standaard), `;` (Excel-EU puntkomma), `\t` (TSV) of `|` (Pipe) om in één klik het scheidingsteken te wisselen. Open het Opties-paneel voor fijnmazige controle: Header aan/uit en Types afleiden aan/uit. Header uit geeft kolommen automatisch de namen col1, col2, col3.

  3. 3

    Kopieer of download de JSON

    Klik op Kopiëren om de JSON naar uw klembord te halen, of op Downloaden om hem op te slaan als een .json-bestand dat klaar is voor uw code, API of pipeline. Voor heen-en-weer-conversie klikt u op Richting omdraaien om JSON ter plekke terug te zetten naar CSV.

Veelgemaakte valkuilen bij conversie

Ingebedde komma niet aangehaald in bron

Als uw CSV met de hand is gebouwd 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 oplossing is het overtredende veld tussen dubbele aanhalingstekens te plaatsen volgens RFC 4180. Deze tool verwerkt aangehaalde velden correct, maar de bron-CSV moet de juiste aanhalingstekens gebruiken.

✗ 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-puntkomma's geparseerd als komma

Europese Excel-locales (Duitsland, Frankrijk, Spanje, Italië, enz.) geven puntkommagescheiden CSV omdat de komma is gereserveerd voor het decimale scheidingsteken. Als u het scheidingsteken op `,` (standaard) laat staan, valt elke rij samen in één kolom met ingebedde puntkomma's. Kies de `;`-Scheidingsteken-chip — de parser schakelt over naar puntkomma-modus en produceert correcte kolommen.

✗ Fout
// Wrong delimiter (default comma) on Excel-EU file
id;name;price
1;Alice;1234,56
// Each row becomes one column: { col1: "1;Alice;1234,56" }
✓ Correct
// Correct: pick `;` Delimiter chip
id;name;price
1;Alice;1234,56
// Output: { id: 1, name: "Alice", price: "1234,56" }

Grote geheelgetal-ID's verliezen precisie na JSON.parse

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 als getallen leest. Met Types afleiden aan detecteert deze tool waarden boven de veilige grens en bewaart ze in plaats daarvan als strings, waarbij de exacte cijfers behouden blijven. Gebruik BigInt("9007199254740993") in uw code om terug te converteren naar een numeriek type.

✗ Fout
// Without big-int detection
{"id": 9007199254740993}
// JavaScript reads as 9007199254740992 (precision lost)
✓ Correct
// With Infer types on, big integers stay as strings
{"id": "9007199254740993"}
// Use BigInt(value) in code to preserve precision

Headerregel bevat spaties

Als uw CSV-header `id, name, email` is (met spaties na komma's), worden de JSON-sleutels "id", " name", " email" — inclusief de leidende spatie. De parser bewaart de header precies zoals gegeven, volgens RFC 4180. De oplossing is om ofwel de bron-CSV op te schonen vóór het plakken, ofwel de sleutels downstream te hernoemen (jq 'with_entries(.key |= ltrimstr(" "))' of JavaScript Object.fromEntries(Object.entries(o).map(([k,v]) => [k.trim(), v]))).

✗ Fout
id, name, email
1, Alice, alice@example.com
// Output keys: "id", " name", " email" (with leading spaces)
✓ Correct
id,name,email
1,Alice,alice@example.com
// Output keys: "id", "name", "email" (clean)

Inconsistente rijlengte

Wanneer rijen in de CSV verschillende kolomaantallen hebben (sommige met afsluitende komma's, andere niet), vult de parser ontbrekende cellen met lege strings (of null wanneer Types afleiden aan staat) en laat extra's voorbij de headerlengte vallen. Er verschijnt een schemanotitie-waarschuwing zodat u weet dat de rijen zijn genormaliseerd. Dit gaat meestal goed, maar verifieer de uitvoer als downstream-afnemers een strikte rijvorm verwachten.

✗ Fout
name,role,note
Alice,admin
Bob,editor,first day
// Row 1 is short by one cell
✓ Correct
// Output (note empty/null cell in row 1)
[
  { "name": "Alice", "role": "admin", "note": null },
  { "name": "Bob", "role": "editor", "note": "first day" }
]

Datumstrings onverwacht omgezet

ISO 8601-datumstrings (2026-05-09T10:00:00Z) blijven met opzet als strings in de JSON-uitvoer — JSON heeft geen native datumtype, dus omzetten zou ofwel een JavaScript Date-object opleveren dat serialisatie niet overleeft, ofwel een numerieke epoch die tijdzone-informatie verliest. Dit is by design. Parseer datums op het punt van gebruik met new Date(value) of uw favoriete datumbibliotheek. Schakel Types afleiden niet uit alleen om datums te bewaren — dat zou ook getallen als strings laten staan.

✗ Fout
// Expecting a Date object in the output
ts,event
2026-05-09T10:00:00Z,signup
// Output ts is the string "2026-05-09T10:00:00Z", NOT a Date
✓ Correct
// Correct: parse at the point of use in your code
const rows = JSON.parse(output);
const when = new Date(rows[0].ts);
// when is now a Date object

Veelvoorkomende gebruiksscenario's

Spreadsheet-export naar API-import
Plak een CSV geëxporteerd uit Excel, Google Sheets of Numbers en krijg een JSON-array van objecten klaar voor een POST naar een REST API, een GraphQL-mutatie of een bulkimport-endpoint. Het meest voorkomende gebruiksscenario — analisten produceren spreadsheet-data, engineers hebben getypeerde JSON nodig om de backend te voeden.
Excel-export naar tooling
Zet Excel-CSV-exports (inclusief Excel-EU-puntkommagescheiden bestanden via de `;`-chip) om naar JSON voor verwerking met JavaScript-tooling, jq-scripts of een willekeurig systeem dat JSON leest. De parser verwerkt BOM-stripping en CRLF-regeleinden correct, zodat Excel-exports niet stuklopen op de eerste rij.
TSV-log naar analytics
Tab-gescheiden logs van BigQuery-exports, Snowflake-unloads, Vector-pipelines of Unix-tools (cut, awk) komen vaak binnen als .tsv. Kies de Tab-Scheidingsteken-chip en krijg een getypeerde JSON-array klaar voor ad-hocanalyse, dashboard-ingest of pipeline-stage-transformatie.
Database-CSV-dump naar ETL
Zet PostgreSQL COPY TO CSV-uitvoer, MySQL SELECT INTO OUTFILE of een willekeurige database-CSV-dump om naar JSON om te laden in een NoSQL-store, te voeden in een JavaScript-ETL-pipeline of te verzenden naar BigQuery als regelgescheiden JSON. Detectie van grote gehele getallen behoudt numerieke ID's die het veilige bereik van JavaScript overschrijden.
Postman/Newman-CSV-testresultaten verbruiken
Postman-testruns exporteren CSV-rapporten met pass/fail per request. Zet om naar JSON voor programmatisch verbruik — voed een statusdashboard, een alertpipeline of een testresultaat-aggregator. Rijen met gemengde vorm (mislukte tests hebben een extra error-kolom) worden verwerkt met lege/null-vullingen.
Kleine CSV naar snelle JSON-config
Hebt u een kleine CSV met constanten — valutacodes, landnamen, product-SKU's — en hebt u een JSON-array nodig voor een configbestand of een JavaScript-constante? Plak, kopieer, plak. Met Types afleiden aan zijn getallen en booleans correct getypeerd; met Header aan krijgt u een array van objecten met benoemde velden, klaar om in een .json-bestand te zetten.

Technische details

RFC 4180-state-machine-parser intern
De parser is een echte finite-state-machine-implementatie 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. De state-machine is scheidingsteken-bewust, dus overschakelen van `,` naar `;` of `\t` verandert de aanhalingsteken-semantiek niet — alleen het veldscheidingsteken.
Algoritme voor type-afleiding
Met Types afleiden aan loopt elke cel door een geordende detectiepipeline. Eerst wordt een lege cel JSON null. Ten tweede worden de letterlijke strings true en false JSON-booleans. Ten derde blijven strings met voorloopnullen (^0[0-9]+$) strings om de identifier-semantiek te behouden — omzetten naar getallen zou de voorloopnullen stilzwijgend wegstrippen. Ten vierde worden geheelgetal-literalen getoetst aan de veilige geheelgetalgrens (-2^53+1 tot 2^53-1); waarden buiten dit bereik blijven strings om IEEE 754-precisieverlies te vermijden. Ten vijfde worden ISO 8601-datumstrings via regex gedetecteerd en met opzet als strings bewaard — JSON heeft geen native datumtype. Alles wat alle vijf de beveiligingen overleeft, wordt geconverteerd via Number() (numeriek) of als string bewaard (al het overige).
BOM-stripping en codering-afhandeling
Alle invoer wordt behandeld als UTF-8. De optionele UTF-8 BOM (0xEF 0xBB 0xBF) wordt stilzwijgend gestript uit de eerste cel van de eerste rij wanneer aanwezig — dit voorkomt dat BOM-bytes worden meegenomen als een verdwaald teken aan het begin van de eerste kolomnaam (Excel op Windows geeft vaak de BOM mee, wat naïeve parsers breekt). Andere coderingen (Windows-1252, ISO-8859-1) worden niet automatisch gedetecteerd; de browser-File-API zou de bytes al hebben gedecodeerd als UTF-8 tegen de tijd dat de tekst deze tool bereikt. Als u niet-UTF-8-invoer hebt, converteer die dan eerst met iconv of de codering-export-optie van uw editor vóór het plakken.

Aanbevolen aanpak

Kies het scheidingsteken expliciet voor niet-komma-data
Vertrouw niet op automatische detectie. Als uw CSV puntkomma's (Excel-EU), tabs (TSV uit BigQuery, Snowflake of Unix-tools) of pipes (velden met veel komma's) gebruikt, klik dan vóór het plakken op de bijpassende Scheidingsteken-chip. De parser is scheidingsteken-bewust: het wisselen van de chip parseert de invoer direct opnieuw. Zo voorkomt u de meest voorkomende CSV-naar-JSON-faalwijze waarbij elke rij in één cel valt omdat de parser het verkeerde scheidingsteken gebruikte.
Houd Types afleiden aan voor getypeerde JSON
Met Types afleiden aan (de standaard) krijgt u getypeerde JSON: getallen als getallen, booleans als booleans, null waar lege cellen verschijnen. Dit is wat de meeste afnemers willen — API's, frontends, JavaScript-code. Schakel Types afleiden alleen uit wanneer u specifiek elke cel als string nodig hebt (downstream type-strikte afnemers, validatiepipelines die exacte bronbytes vergelijken). De detectiepipeline heeft beveiligingen voor strings met voorloopnullen, grote gehele getallen en ISO-datums, dus identifiers en datums blijven veilig, zelfs met afleiding aan.
Quote ID's als strings in upstream CSV
Als uw CSV wordt gegenereerd door een database of pipeline die u beheert, geef grote numerieke ID's (Twitter-snowflakes, Discord-ID's, K8s resourceVersion) dan af als aangehaalde CSV-strings ("9007199254740993"), zodat ze schoon door Types afleiden gaan. De parser bewaart ze hoe dan ook als strings (detectie van grote gehele getallen vangt waarden boven 2^53 - 1), maar expliciete aanhalingstekens vormen het robuustste upstream-contract en vermijden elke dubbelzinnigheid over precisie.
Headerregel moet de eerste regel zijn
Header aan (de standaard) detecteert automatisch de eerste rij als kolomnamen. Als uw CSV commentaar, lege regels of metadata vóór de header heeft, strip die dan vóór het plakken — de parser slaat geen niet-data-regels aan het begin over. Voor headerloze CSV's (ruwe exports, machinegegenereerde dumps) schakelt u Header uit en krijgen de kolommen automatisch de namen col1, col2, col3 op volgorde. Probeer geen header te faken door er een aan een headerloos bestand vooraf te laten gaan; schakel ofwel Header uit, ofwel herstel de bron.
Gebruik de Stringify-modus voor CSV → JSON → CSV-rondes
Als u van plan bent data heen-en-weer in beide richtingen te sturen (CSV → JSON → CSV), heeft de omgekeerde richting (JSON → CSV) de Stringify-modus nodig zodat geneste arrays of objecten verliesvrij overleven. De Afvlakken-modus in de omgekeerde richting geeft sleutels met punten af (customer.address.city) die niet perfect door de CSV-parser kunnen worden gereconstrueerd. Zie onze JSON naar CSV omzetter voor de volledige referentie van de omgekeerde richting en notities over heen-en-weer-tests.

Veelgestelde vragen

Wat doet deze tool?
Hij zet CSV direct in uw browser om naar JSON, met bidirectionele ondersteuning: klik op Richting omdraaien om JSON terug te zetten naar CSV in hetzelfde paneel. Plak CSV in het invoerveld en de tool produceert direct JSON-uitvoer — geen upload, geen aanmelding, niets verlaat uw apparaat. De parser voldoet aan RFC 4180, biedt Scheidingsteken-chips voor komma, puntkomma (Excel-EU), Tab (TSV) en pipe, en de optie Types afleiden zet numerieke strings om naar getallen, true/false naar booleans en lege cellen naar null. De tool verwerkt ook grote geheelgetal-ID's die anders precisie zouden verliezen via JSON.parse, ingebedde komma's binnen aangehaalde velden, geëscapete dubbele aanhalingstekens (verdubbeld) en data zonder header met automatisch genaamde kolommen (col1, col2, col3).
Wordt mijn data ergens geüpload?
Nee. Alle conversie draait 100% lokaal in uw browser via JavaScript. Uw CSV-data wordt nooit verzonden, nooit op een server opgeslagen, nooit gelogd en nooit geanalyseerd. Dit maakt de tool veilig voor spreadsheet-exports met persoonsgegevens, interne database-CSV-dumps, klantgegevens en alle gevoelige data. U kunt dit verifiëren in het tabblad Netwerk van uw browser — bij het plakken van CSV worden er nul netwerkverzoeken gedaan. De tool gebruikt geen cookies voor invoerdata en geen externe analyses die zouden vastleggen wat u plakt.
Hoe werkt Types afleiden?
Met Types afleiden aan loopt elke geparseerde cel door een kleine detectiepipeline voordat hij in de JSON wordt geplaatst: numerieke strings (1, 42, -3.14) worden getallen, true/false worden booleans, lege strings en de letterlijke null worden JSON null, en al het overige blijft een string. Er zijn twee belangrijke beveiligingen. Ten eerste: strings met voorloopnullen zoals 007 of 0123 blijven strings, ook al lijken ze numeriek — voorloopnullen geven aan dat de waarde een identifier is (postcodes, telefooncodes, sequentie-ID's) en omzetten naar een getal zou de nullen stilzwijgend wegstrippen. Ten tweede: gehele getallen boven 2^53 - 1 (9007199254740991) worden ook als strings bewaard om IEEE 754-precisieverlies te vermijden. ISO-datumstrings (2026-05-09T10:00:00Z) blijven met opzet strings — JSON heeft geen native datumtype, dus omzetten zou een JavaScript Date-object opleveren dat serialisatie niet overleeft.
Waarom worden grote gehele getallen als strings bewaard?
Het Number-type van JavaScript gebruikt IEEE 754 dubbele precisie en kan gehele getallen alleen exact tot 2^53 - 1 (9007199254740991) weergeven. Realistische identifiers — Twitter-snowflake-ID's, Discord-ID's, MongoDB Long-velden, K8s resourceVersion — zijn 64-bit gehele getallen die dit veilige bereik overschrijden. Als de parser Number() op deze waarden zou aanroepen, zou het resultaat stilzwijgend worden afgerond (9007199254740993 wordt 9007199254740992). De pipeline van Types afleiden detecteert waarden boven de veilige geheelgetalgrens en bewaart ze in plaats daarvan als strings, zodat de cijfers intact blijven. Onder de uitvoer verschijnt een waarschuwingsbanner met de getroffen velden. Om in code precies terug te converteren, gebruikt u BigInt("9007199254740993") op de JSON-stringwaarde.
Mijn CSV gebruikt puntkomma's — hoe parseer ik die?
Europese Excel-locales (Duitsland, Frankrijk, Spanje, Italië, enz.) geven puntkommagescheiden CSV's omdat de komma is gereserveerd voor het decimale scheidingsteken. Klik op de `;`-chip op de Scheidingsteken-rij (of open het volledige Opties-paneel en kies `;`) en de parser schakelt direct over naar puntkomma-modus. Numerieke waarden met komma-decimalen (1234,56) binnen zulke bestanden blijven door Types afleiden strings omdat de Europese decimaalnotatie locale-specifiek is — converteer ze in code als u numerieke waarden nodig hebt. De parser past nog steeds RFC 4180-aanhalingstekenregels toe met het nieuwe scheidingsteken, dus aangehaalde velden met puntkomma's erin worden correct verwerkt.
Ondersteunt het TSV (tab-gescheiden)?
Ja. Klik op de Tab-chip op de Scheidingsteken-rij en de parser splitst op tabtekens in plaats van komma's. TSV is het schoonste formaat voor CSV-uitwisseling tussen locales omdat een tab onwaarschijnlijk binnen tekstvelden voorkomt, waardoor de meeste randgevallen rond aanhalingstekens verdwijnen. Het is de standaarduitvoer van Unix-tools (cut, awk), datawarehouses (BigQuery, Snowflake) en wordt goed ondersteund door Excel in elke locale. Plak de inhoud van uw .tsv- of .tab-bestand rechtstreeks — de rest van de parser (header-autonames, type-afleiding, detectie van grote gehele getallen) werkt identiek.
Wat als mijn CSV geen headerregel heeft?
Schakel Header uit in het Opties-paneel. De parser behandelt de eerste regel dan als data in plaats van als kolomnamen en genereert automatisch sleutels: col1, col2, col3, … één per kolom. De JSON-uitvoer is een array van objecten met deze synthetische sleutels. Dit is handig voor ruwe exports uit databases die de header weglaten, vaste-formaat platte bestanden en machinegegenereerde CSV's. Als u andere sleutelnamen wilt, converteert u eerst met autonames en hernoemt u de sleutels in uw downstream-pipeline (jq, JavaScript map, enz.). De tool leidt geen sleutels af uit data-heuristieken — Header uit produceert altijd col1, col2, col3.
Kan het aangehaalde velden met ingebedde komma's verwerken?
Ja. De parser is een echte RFC 4180-state-machine: wanneer hij een openend dubbel aanhalingsteken ziet, schakelt hij over naar de QuotedField-toestand en behandelt alles tot het volgende niet-geëscapete dubbele aanhalingsteken als één veld, inclusief scheidingstekens en ingebedde regeleinden (CR/LF). Geëscapete dubbele aanhalingstekens (verdubbeld, zoals "") worden correct samengevouwen tot één aanhalingsteken. Dit betekent dat `"Smith, Jr."` als één veld parseert dat `Smith, Jr.` bevat, en `"He said ""hi"""` parseert als `He said "hi"`. Naïeve split-by-comma-parsers struikelen over deze realistische data; deze tool niet.
Waarom blijven mijn datums als strings staan?
Met opzet. JSON heeft geen native datumtype — alleen strings, getallen, booleans, null, arrays en objecten. ISO 8601-datumstrings (2026-05-09T10:00:00Z) blijven letterlijk als strings in de JSON-uitvoer, wat de juiste, verliesvrije weergave is. Als de parser ze zou omzetten naar JavaScript Date-objecten, zou het serialiseren van de resulterende JSON andere uitvoer opleveren (een object zonder bruikbare heen-en-weer-weergave, of een numeriek tijdstempel). Houd datums als strings in JSON en parseer ze op het punt van gebruik met new Date(value) of uw favoriete datumbibliotheek. Dit komt overeen met het gedrag van elke grote JSON-uit-CSV-pipeline: Pandas, jq, en de Python csv- + json-modules.
Wat gebeurt er als rijen verschillende lengtes hebben?
Rijen met gemengde vorm (sommige met meer of minder kolommen dan de header) worden aangevuld zodat ze overeenkomen met de headerlengte. Extra cellen voorbij het aantal van de header worden weggelaten, en ontbrekende cellen worden ingesteld op een lege string (of null wanneer Types afleiden aan staat en de parser een lege waarde ziet). Onder de uitvoer verschijnt een schemanotitie-waarschuwing zodat u weet dat de rijen zijn genormaliseerd. Dit gaat meestal goed voor downstreamtools die sleutels samenvoegen, maar verifieer de uitvoer als uw afnemer een strikte rijvormconsistentie verwacht. De meest voorkomende oorzaak zijn afsluitende komma's in sommige rijen of aangehaalde velden met ingebedde regeleinden die door upstream-exporteurs verkeerd worden geteld.
Hoe groot mag een bestand zijn dat ik plak?
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 u erop klikt. Dit voorkomt dat de hoofdthread van de browser bij elke toetsaanslag blokkeert tijdens zware verwerking. Voor uitvoer boven 5 MB of 50.000 rijen kapt de tool de JSON-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.
Kan ik JSON → CSV → JSON heen-en-weer converteren?
Ja, wanneer de JSON plat is (geen geneste objecten of arrays). Voor geneste data heeft de omgekeerde richting (JSON → CSV) de Stringify-modus nodig om arrays en objecten als JSON in één cel te bewaren — die vervolgens verliesvrij heen-en-weer keert via deze CSV → JSON-omzetter wanneer Types afleiden aan staat. Klik bovenaan het paneel op Richting omdraaien om over te gaan naar de JSON-naar-CSV-modus en de heen-en-weer-conversie te verifiëren. De Afvlakken-modus in de omgekeerde richting is eenrichtingsverkeer: hij produceert sleutels met punten (customer.address.city) die niet perfect uit CSV kunnen worden gereconstrueerd. Zie onze JSON naar CSV omzetter voor de omgekeerde richting met volledige Stringify-ondersteuning.

Gerelateerde tools

Alle tools bekijken →