JSON formatter, validator en viewer

Zet geminificeerde JSON om in leesbare, opgemaakte tekst en valideer meteen of hij klopt. Plakken, formatteren, bekijken als inklapbare boomstructuur — alles draait in je browser en er wordt niets geüpload.

Gecontroleerd door het Berekening.be rekenteam
Bijgewerkt september 2026
Alles hieronder draait in je browser. Je JSON wordt nooit geüpload, opgeslagen of gelogd — dit tabblad sluiten is genoeg om ervan af te zijn.
Ctrl + Enter

Wat dit hulpmiddel doet

Dit is een JSON-formatter, -viewer en -validator in één pagina. Plak JSON van welke vorm dan ook — een API-respons, de body van een webhook, een configuratiebestand, één regel uit een logbestand — druk op Formatteren, en het document wordt geparst, gecontroleerd en weergegeven als een ingesprongen, inklapbare boomstructuur. Sleutels, strings, getallen, booleans en null-waarden krijgen elk een eigen kleur, objecten en arrays laten zien hoeveel items ze bevatten, en elke tak kan worden ingeklapt zodat een grote payload stap voor stap te lezen is.

Deze drie taken lopen in de praktijk in elkaar over, want het is eigenlijk één taak. Om een document te beautifyen moet je het eerst parsen, en parsen is precies wat een validator doet. Een formatter die zijn invoer niet kan lezen, moet dat melden, en die weigering is meteen het validatieresultaat. Daarom doet één knop beide: hij zet een geminificeerde blob om in leesbare uitvoer als de syntaxis klopt, en wijst de positie aan waar het misging als dat niet zo is.

Elke keer dat je iets formatteert, verschijnt het resultaat boven het vorige, zodat je twee payloads kunt vergelijken zonder de eerste kwijt te raken. Resultaten kun je één voor één verwijderen of allemaal tegelijk wissen, en niets overleeft een herlaad van de pagina.

Formatter, beautifier, validator, viewer

Voor tools als deze worden vier woorden door elkaar gebruikt, en ze beschrijven vier verschillende dingen die mensen er eigenlijk van willen.

Een formatter schrijft het document opnieuw met consistente witruimte: één waarde per regel, een vaste inspringing per nestingsniveau, een voorspelbare plek voor elk accolade- en komma-teken. Beautifyen is de oudere naam voor dezelfde bewerking, overgewaaid uit de wereld van JavaScript-tooling — een beautifier en een formatter zijn hetzelfde gereedschap met twee etiketten. Geen van beide raakt je data aan; beide bepalen alleen waar de regeleindes vallen.

Een validator beantwoordt één ja-of-nee-vraag: is deze tekst geldige JSON. Dat is een strengere vraag dan hij klinkt, want het dialect dat de meeste mensen met de hand schrijven is JavaScript en geen JSON, en een validator wijst elk stukje van dat verschil af — komma's na het laatste element, commentaar, strings met enkele aanhalingstekens, sleutels zonder aanhalingstekens.

Een viewer gaat een stap verder dan een formatter. In plaats van tekst af te drukken, verandert hij het geparste document in iets waarmee je kunt werken: een array dichtklappen, zien hoeveel items een object bevat, één geneste tak volgen zonder haakjes met het oog te tellen. Geformatteerde tekst is beter dan geminificeerde tekst; een boomstructuur is beter dan geformatteerde tekst zodra het document niet meer op één scherm past.

Deze pagina is alle vier tegelijk. De invoer wordt gevalideerd, geformatteerd, beautified en weergegeven als een leesbare boomstructuur, en de knop Kopiëren levert de ingesprongen tekst terug voor het geval je toch gewoon platte tekst nodig had.

Je JSON verlaat nooit je browser

Niets van wat je hier plakt wordt een netwerkverzoek. De tekst die je plakt, wordt door je eigen browser geparst met de ingebouwde JSON-parser, weergegeven op de pagina en alleen in het geheugen bewaard — er wordt niets naar een server gestuurd, in een cookie geschreven of in local storage opgeslagen. Verversen wist elk resultaat, en het sluiten van het tabblad is voldoende om van de data af te zijn.

Dat is belangrijk, want de JSON die mensen moeten lezen is zelden onschuldig. Productie-responses bevatten klantnamen, toegangstokens, bestelgeschiedenissen, interne identifiers, soms een compleet adresboek. Een formatter die zijn invoer uploadt, verandert een debugstap stilletjes in een gegevensoverdracht, en in een gereguleerde omgeving is zo'n overdracht iets wat vastgelegd en verantwoord moet worden.

De enige versie van die belofte die iets waard is, is een belofte die de pagina nakomt ongeacht of je het gelooft. Open het netwerktabblad van je browser, plak een payload en druk op Formatteren: afgezien van het analytics-baken dat deze site bij elke paginalading verstuurt — een URL en een paginatitel — verschijnt er geen enkel verzoek, wat je ook hebt geplakt. Koppel de netwerkverbinding volledig los en het hulpmiddel blijft werken, want er was nooit iets aan de andere kant om mee te praten.

Geminificeerde JSON omzetten in iets leesbaars

Vrijwel alle JSON die je in het wild tegenkomt, is geminificeerd. Serialisers hebben geen reden om witruimte toe te voegen, gateways strippen wat er nog van over is, en logregels worden bewust op één rij geperst zodat één gebeurtenis gelijkstaat aan één regel. Het resultaat is een muur van tekst waarin de structuur volledig door leestekens wordt gedragen — precies de informatie die een lezer nodig heeft, en het enige dat één lange regel niet laat zien.

Beautifyen brengt die muur weer in vorm. Nesting wordt diepte op de pagina, zodat de omtrek van het document leesbaar is nog voordat er ook maar één waarde is gelezen: dit is een object met vijf sleutels, waarvan er één een lijst met bestellingen is, elke bestelling met een klant en een reeks regels. Die omtrek is negen van de tien keer precies waar je naar op zoek was. De waarden doen er pas toe zodra je weet waar ze staan.

Inklappen helpt om de tegenovergestelde reden. Een response met tweehonderd records bestaat grotendeels uit herhaling, en de array dichtklappen tot het eerste item beantwoordt de vraag "hoe ziet zo'n item eruit" zonder langs de andere honderdnegenennegentig te scrollen. Klap alles dicht met Alles inklappen en open daarna alleen de tak die je onderzoekt — bij een groot document gaat dat veel sneller dan van boven naar beneden lezen, en de omringende context blijft in beeld.

De pagina gebruiken als validator

Als de tekst geen geldige JSON is, wordt er niets weergegeven; in plaats daarvan verschijnt de foutmelding van de parser precies zoals hij is, meestal met de tekenpositie waarop hij is vastgelopen. Behandel die positie als het punt waarop het parsen mislukte, niet als de plek van de fout zelf. Bij een verdwaald teken vallen die twee samen, maar een ontbrekende sluithaak wordt pas aan het eind van het document ontdekt, lang na het object dat openbleef.

De gebruikelijke boosdoeners zijn goed te herkennen. Enkele aanhalingstekens waar JSON dubbele eist. Een komma na het laatste element van een array of object. Sleutels zonder aanhalingstekens. Commentaar — alle vier zijn volkomen geldige JavaScript en geen van alle is geldige JSON. Sommige tools produceren dat losser dialect bewust, meestal onder de naam JSON5 of JSONC, en dat moet naar strikte JSON worden omgezet voordat een standaardparser ernaar wil kijken.

Payloads die uit een terminal zijn gekopieerd, brengen hun eigen problemen mee: ge-escapete aanhalingstekens die nooit zijn teruggezet, een afkapteken middenin, een shellprompt die aan het begin is blijven plakken, of slimme aanhalingstekens die een chatclient onderweg heeft geïntroduceerd. Verwijder die eerst. En als een document hier wel geldig blijkt maar verderop in je eigen stack wordt afgewezen, gaat het meestal helemaal niet om syntaxis maar om een schema — een veld dat aanwezig en geldig is, maar niet het type dat de ontvangende code verwachtte.

Een uitgewerkt voorbeeld

Neem een typische bestel-payload: een object met een bestelnummer, een geneste klant, een array met twee regelitems en een null-veld. Geminificeerd is dat één regel van ongeveer honderdtachtig tekens, en de vraag "hoeveel items zaten er in deze bestelling" beantwoorden betekent haakjes tellen.

Geformatteerd opent hetzelfde document met Object, 4 sleutels, en de tak met items meldt 2 items nog voordat je iets hebt gelezen. Klap de klant dicht en de bestelstructuur past in vijf regels. De null wordt grijs weergegeven, wat een onderscheid maakt tussen een veld dat bestaat en leeg is, en een veld dat gewoon ontbreekt — een verschil dat bepaalt of een bug bij de verzender of de ontvanger zit, en dat in platte tekst makkelijk over het hoofd wordt gezien. Klik op "Voorbeeld laden" om precies dat document weergegeven te zien.

Nee. Niets van wat je plakt wordt verstuurd: parsen en weergeven gebeuren in je browser, en het resultaat bestaat alleen op de pagina die voor je staat. Er is geen cookie, geen local storage en geen logging van wat je plakt, en dat is meteen ook waarom een herlaad de resultaten leegmaakt.

Ja. Beide betekenen dat het document opnieuw wordt afgedrukt met inspringing en regeleindes zodat een mens het kan lezen; beautifyen is gewoon het oudere woord. Geen van beide verandert de volgorde van sleutels of de waarden. Wat deze pagina daar bovenop toevoegt, is de viewer: een inklapbare boomstructuur in plaats van een blok ingesprongen tekst, plus een knop Kopiëren die de beautified tekst teruggeeft met een inspringing van twee spaties, voor het geval dat is wat je zocht.

Op een normale machine ruim een paar megabyte. Het plafond wordt bepaald door het geheugen van je browser en de tijd die het kost om de boomstructuur op te bouwen, niet door een serverquotum, want er is geen server bij betrokken. Zeer grote documenten lezen prettiger ingeklapt, dus gebruik "Alles inklappen" en open alleen de tak die je interesseert in plaats van alles in één keer weer te geven.

Alleen de presentatie. Het document wordt geparst en opnieuw weergegeven, wat de witruimte normaliseert en waarden in JSON-notatie afdrukt, maar er wordt geen sleutel van volgorde veranderd en geen waarde aangepast. Getallen zijn het enige waar je overal in JSON op moet letten: waarden buiten het bereik dat JavaScript exact kan weergeven, verliezen precisie bij het parsen, en dat is waarom identifiers het best als string worden verstuurd.

Omdat commentaar geen onderdeel is van JSON. Dat geldt ook voor komma's na het laatste element, strings met enkele aanhalingstekens en sleutels zonder aanhalingstekens, ook al is dat allemaal prima geldig in JavaScript. Tools die dat lossere dialect produceren, noemen het JSON5 of JSONC, en het moet naar strikte JSON worden omgezet voordat een standaardvalidator het accepteert.

Nee — deze pagina zet JSON om in een leesbare boomstructuur en terug in beautified JSON-tekst, en verder niets. Omzetten naar een tabelvorm betekent beslissen hoe nesting wordt platgeslagen naar kolommen, en die beslissing hoort bij jouw data, niet bij een generiek hulpmiddel.

Zodra de pagina is geladen, ja. Formatteren en valideren gebruiken de parser die in je browser is ingebouwd, dus je kunt de verbinding verbreken en gewoon doorwerken. Dat is het praktische bewijs van de privacybelofte: een hulpmiddel dat blijft werken zonder netwerk, kan onmogelijk iets ergens naartoe sturen.

Was deze rekenmachine nuttig?

Tik op een ster om te beoordelen. Uw feedback helpt ons de tools te verbeteren waar mensen het meest op vertrouwen.