JSON Minify

Verwijder whitespace uit JSON en zie precies hoeveel bytes je bespaard hebt

JSON

Geminified

JSON Minify

Verwijder whitespace uit JSON en zie precies hoeveel bytes je bespaard hebt

Functies

  • Eenstaps-minify via JSON.parse + JSON.stringify — gaat door een echte parser, dus syntactisch ongeldige invoer faalt snel met de exacte JavaScript-engine-foutmelding
  • Byte-nauwkeurige groottestatistieken: TextEncoder.encode().length meet UTF-8-bytes (geen karakteraantal), dus multi-byte-tekens en emoji worden correct gewogen
  • Besparing-regel toont absoluut byte-verschil en percentage van invoergrootte — komt overeen met wat een minify-dan-gzip-payload over de lijn wordt
  • Kopiëren-knop schakelt 1,5 s naar Gekopieerd! na klik, bevestigt duidelijk dat schrijven naar klembord lukte — geen stille fouten
  • Downloaden-knop geeft een `minified.json` Blob met application/json-MIME, klaar om in een HTTP-request-body of fixtures-map te plaatsen
  • Parsefouten verschijnen met het volledige engine-bericht (regel/kolom als de parser het levert), zodat je het fout-karakter direct kunt aanwijzen in plaats van te gokken
  • Puur client-side: invoer verlaat de browser niet, geen telemetrie, geen upload. De minify-aanroep is synchroon en direct voor typische configs (sub-megabyte JSON)
  • Uitvoer behoudt sleutelvolgorde en exacte numerieke representatie — JSON.stringify hercodeert integers niet als floats en wijzigt geen Unicode-escapes, dus de geminifyde uitvoer is byte-equivalent aan wat een strikte consument zou herparseren

Hoe te gebruiken

  1. Plak je JSON in het linker invoerpaneel.
  2. Klik Minifyen. De tool draait JSON.parse om te valideren, daarna JSON.stringify zonder indent-argument om alle niet-significante whitespace te verwijderen.
  3. Lees de stats-regel: invoer-bytes, uitvoer-bytes en bespaarde bytes/percentage — handig om te besluiten of de minify de leesbaarheid-trade-off waard is.
  4. Klik Kopiëren om de geminifyde string op je klembord te zetten, of Downloaden om hem als `minified.json` op te slaan.
  5. Als de invoer ongeldig was, toont een rode foutregel het parse-bericht van de JS-engine — fix de JSON en klik weer Minifyen.

Tips en best practices

  • Als je vooral minifyt om een bundle-budget te halen, schakel ook gzip in je CI-static-asset-pipeline in — gzipped pretty JSON is vaak kleiner dan ongecomprimeerd geminifyd.
  • Houd het originele pretty-printed JSON in versiebeheer; minify in een buildstap in plaats van de geminifyde versie te committen.
  • Voor zeer grote JSON (10 MB+) is de TextEncoder-doorloop nog steeds snel, maar het JSON.parse + JSON.stringify-paar piekt kort geheugen — prima in een browsertabblad, problematisch in een hot-path service worker.
  • Bevat je JSON nummers nabij de safe-integer-limiet van JS (2^53), wees je ervan bewust dat JSON.parse ze naar doubles converteert — minify verandert dat niet, maar handig te weten voor je een precisiemismatch debugt.
  • Gebruik Downloaden om het geminifyde bestand in een fixtures-directory te zetten; combineer later met JSON Diff als je moet bevestigen dat de rondreis alles bewaard heeft.

Veelgestelde vragen

Hoeveel kleiner wordt mijn JSON?

Hangt volledig af van hoeveel whitespace er om te beginnen was. Een zwaar pretty-printed config (2-spaties-inspringing, sleutel-uitlijning, slot-newlines) krimpt vaak 30–50 %. Een JSON die al op één regel staat krimpt 0 %. De stats-regel meldt het exacte aantal — probeer op je data voordat je je vastlegt op de geminifyde versie.

Moet ik JSON in productie minifyen?

Meestal nee, omdat gzip/brotli-compressie herhaalde whitespace al naar enkele bytes plet. Minify helpt wanneer (1) je compressie niet kunt inschakelen op het transport (sommige embedded targets), (2) je het JSON in een JS-bundle insluit waar elke byte tegen het bundle-budget telt, of (3) je IndexedDB/localStorage optimaliseert waar er geen transport-compressie is.

Verandert dit mijn data op enige manier?

Nee. JSON.parse + JSON.stringify is een rondreis door de JavaScript-JSON-spec, een strikte subset van ECMAScript. Nummers, strings, booleans, null, arrays en objecten komen allemaal byte-equivalent terug naar een geldige herparse. Het enige verschil is whitespace en sleutelvolgorde (JSON.stringify behoudt de oorspronkelijke invoegvolgorde van een object-literal).

Hoe worden bytes geteld?

Via TextEncoder().encode().length, wat de UTF-8-bytelengte geeft. Pure ASCII is één byte per teken; é is twee bytes; de meeste CJK-tekens drie; de meeste emoji vier. JavaScript-string-lengte (code-units) tellen zou ASCII overrapporteren en supplementary-plane-tekens onderrapporteren; TextEncoder geeft het getal dat overeenkomt met wat over de lijn gaat.

Waarom faalt Minify op mijn invoer?

JSON.parse is strikt: geen trailing comma's, geen commentaar, geen enkele aanhalingstekens om strings, geen ongetypte sleutels. Werk je met losse JSON (JSON5, JSONC), dan gooit de parser — preprocesseer eerst met een losse parser of gebruik de JSONC-modus van JSON Formatter om op te ruimen. De foutregel toont het engine-bericht, vaak inclusief de falende regel/kolom.

Wordt er iets naar een server gestuurd?

Nee. Beide panelen blijven in je browser; minify draait synchroon in dezelfde JavaScript-context die de pagina renderde. DevTools-netwerk toont geen verzoeken bij klik op Minifyen. De pagina werkt offline na eerste laden.

Blijft geminifyde JSON diff-vriendelijk?

Minder. Een pretty-printed JSON-bestand diff-t regel voor regel en reviewers zien precies welke sleutel veranderde. Een geminifyd JSON-bestand is één gigantische regel — een enkele teken-bewerking verschijnt als volledige regelvervanging in `git diff`. Houd bronbestanden pretty-printed; minify alleen voor transport of opslag.

Wat is het verschil met JSON Formatter?

JSON Formatter heeft een Minify-knop naast Pretty-Print plus boomweergave, JSONPath, JSONC, schema-validatie en diff. Deze tool is de single-purpose lichtgewicht versie: plakken, minifyen, kopiëren, downloaden — geen panelen, geen modi, alleen bespaarde bytes.