Cookies voor statistiek en advertenties
We gebruiken cookies voor statistiek en voor advertenties, allebei naar Google. Weigeren verandert niets aan wat je te zien krijgt.Lees de privacypagina
Hier zet je JSON naar NDJSON om, gratis en zonder account: sleep het bestand hierboven erin en binnen een paar seconden staat het resultaat klaar om te downloaden. De omzetting gebeurt binnen je eigen browser, dus het bestand wordt nooit geüpload. Het werkt hetzelfde op Windows, macOS en Linux als op iPhone en Android, en het blijft werken als je de verbinding verbreekt.
Tot 100 bestanden tegelijk. Verschillende formaten door elkaar is prima.
Ze worden een voor een omgezet en samen in één ZIP gedownload.
JSON naar NDJSON
Deze pagina is voor iemand die records in iets laadt dat een stream leest: een logstore, een bulk-loader, een jq-pijplijn, een laadtaak voor BigQuery of Snowflake. Elke regel moet een op zichzelf staand JSON-document zijn.
Wat hier het meest telt, is niet het formaat zelf maar de vorm van het bronbestand — en dat is precies het onderdeel dat het vaakst tot verrassingen leidt.
Is het hoogste niveau van het JSON-bestand een array, dan wordt elk element een eigen regel — dat is het geval waarvoor deze omzetting het vaakst wordt gebruikt.
Is het hoogste niveau iets anders dan een array — inclusief een object met één sleutel die een array bevat, zoals `{"data": [...]}` — dan wordt het hele document één enkele regel. Dit pad pakt zo’n envelop niet automatisch uit, in tegenstelling tot de tabulaire omzettingen op deze site.
Een CSV- of TSV-omzetting moet wel uitpakken, omdat een tabel geen plek heeft voor een envelop rond de eigenlijke rijen — die omzettingen halen `{"data": [...]}` automatisch uit elkaar tot losse rijen. NDJSON kent die beperking niet: elke regel kan zelf al een willekeurig genest document zijn.
Daardoor is er hier geen reden om automatisch uit te pakken, en gebeurt dat dus ook niet. Wil je toch dat de array binnen `data` wordt uitgepakt tot losse regels, verwijder dan zelf eerst de buitenste envelop vóór het omzetten.
Elke regel wordt geschreven als de volledige, ongewijzigde JSON-representatie van dat element — geneste objecten en arrays blijven intact, precies zoals ze in de bron stonden.
Wat wél verandert, is de opmaak: de inspringing van het bronbestand gaat verloren, omdat elke regel als één compacte JSON-string wordt geschreven zonder witruimte ertussen.
Moeten de gegevens uiteindelijk in kolommen terechtkomen — een spreadsheet, een SQL-tabel — dan is een omzetting naar CSV, TSV of XLSX het betere doel, omdat die de envelop wél uitpakt en velden naar dotted kolomnamen plat maakt.
Deze omzetting is specifiek voor bestemmingen die regel voor regel een JSON-document lezen, niet voor bestemmingen die met rijen en kolommen werken.
De omzetting draait volledig in de browser; het bestand wordt niet naar een server gestuurd. De limiet op het gratis plan is 100 MB per bestand.
Voor een groot exportbestand met veel records is dat ruim voldoende, en er is geen limiet op het aantal keer per dag.
Tot honderd JSON-bestanden tegelijk kunnen in één sessie worden omgezet, elk met een eigen voortgangsindicator — bruikbaar wanneer een systeem elke dag een nieuw exportbestand aflevert dat naar dezelfde bulk-loader moet.
Het resultaat komt terug als losse bestanden of als ZIP, met dezelfde bestandsnamen als het origineel maar de `.ndjson`-extensie.
De inhoud en volgorde van de gegevens blijven exact zoals in het bronbestand — er wordt niets herschikt, gefilterd of samengevoegd. Rijvolgorde in het resultaat komt overeen met elementvolgorde in de brondata.
Voor wie een audit-trail nodig heeft tussen bron en resultaat, betekent dat: elk element in de array staat terug te vinden als precies één regel, in dezelfde volgorde.
| JSON | NDJSON | |
|---|---|---|
| Volledige naam | JavaScript Object Notation | Newline-Delimited JSON |
| Bestandsextensie | .json | .ndjson, .jsonl |
| Mediatype | application/json | application/x-ndjson |
| Voor het eerst gepubliceerd | 2001 | 2013 |
| Specificatie | RFC 8259 | — |
| Licentie | Open standaard | Open standaard |
| Stand van zaken | Actueel | Actueel |
| Opent in een browser | Elke browser | Geen browser |
| In plaats daarvan overwogen | XML, YAML | CSV |
Er gaat niets verloren. JSON en NDJSON bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.
Geen enkele browser leest NDJSON. Daarmee is het het minst draagbare van de twee. Ga liever na of de ontvanger het aanneemt voor je het verstuurt.
jq leest zowel JSON als NDJSON, dus je kunt het resultaat naast het origineel leggen zonder een tweede programma.
JSON verscheen in 2001. Het is vastgelegd in RFC 8259, en dat is de moeite waard als het bestand het gereedschap moet overleven dat het schreef.
NDJSON stamt uit 2013. jq en pandas lezen het formaat.
Nee. Deze omzetting gebeurt volledig in je browser, dus het bestand verlaat je apparaat niet. Je kunt het zelf nagaan: open het netwerktabblad van de ontwikkelaarshulpmiddelen en zet iets om. Je ziet de pagina zelf en de verzoeken voor statistiek en advertenties waarmee deze dienst betaald wordt, en geen enkel verzoek dat je bestand meeneemt.
Ja. Geen account, geen watermerk en geen dagtegoed dat opraakt: het draait op je eigen machine, dus je mag zo vaak terugkomen als je wilt. De browser verwerkt bestanden tot 100 MB, 100 tegelijk.
Nee. NDJSON bewaart dezelfde inhoud zonder iets weg te gooien: het resultaat is in kwaliteit identiek aan het origineel.
Geen enkele browser leest NDJSON. Daarmee is het het minst draagbare van de twee. Ga liever na of de ontvanger het aanneemt voor je het verstuurt.
Er gaat niets verloren. JSON en NDJSON bewaren hun inhoud verliesvrij: de omzetting wisselt de verpakking, niet de kwaliteit, en je kunt haar herhalen zonder dat schade zich opstapelt.