JSON Minify

Entfernen Sie Whitespace aus JSON und sehen Sie genau, wie viele Bytes Sie gespart haben

JSON

Minimiert

JSON Minify

Entfernen Sie Whitespace aus JSON und sehen Sie genau, wie viele Bytes Sie gespart haben

Funktionen

  • Ein-Aufruf-Minimierung über JSON.parse + JSON.stringify — geht durch einen echten Parser, sodass syntaktisch ungültige Eingabe schnell mit der exakten JavaScript-Engine-Fehlermeldung scheitert
  • Byte-genaue Größenstatistiken: TextEncoder.encode().length misst UTF-8-Bytes (nicht Zeichenzahl), sodass Mehrbyte-Zeichen und Emoji korrekt gewichtet werden
  • Einsparungszeile zeigt absolutes Byte-Delta und Prozent der Eingabegröße — entspricht dem, was eine gzip-vorminimierte Nutzlast über die Leitung aussehen wird
  • Kopier-Schaltfläche wechselt nach Klick 1,5 s zu Kopiert! und bestätigt klar, dass der Clipboard-Write erfolgreich war — keine stillen Fehler
  • Download-Schaltfläche gibt einen `minified.json` Blob mit application/json-MIME aus, bereit für HTTP-Request-Body oder Commit in einen Fixtures-Ordner
  • Parsefehler erscheinen mit der vollständigen Engine-Meldung (Zeile/Spalte, wenn der Parser sie bereitstellt), sodass Sie das Problem-Zeichen direkt eingrenzen statt zu raten
  • Rein clientseitig: Eingabe verlässt den Browser nie, keine Telemetrie, kein Upload. Der Minimier-Aufruf ist synchron und sofortig für typische Konfigurationen (Sub-Megabyte-JSON)
  • Ausgabe bewahrt Schlüsselreihenfolge und exakte numerische Darstellung — JSON.stringify codiert Ganzzahlen nicht als Gleitkommazahlen um und ändert keine Unicode-Escapes, sodass die minimierte Ausgabe byte-äquivalent zu dem ist, was ein strikter Konsument neu parsen würde

Anleitung

  1. Fügen Sie Ihr JSON in das linke Eingabefenster ein.
  2. Klicken Sie Minimieren. Das Tool führt JSON.parse zur Validierung aus, dann JSON.stringify ohne Einrückungsargument, um alle nicht-signifikanten Leerzeichen zu entfernen.
  3. Lesen Sie die Statistikzeile: Eingabe-Bytes, Ausgabe-Bytes und gesparte Bytes/Prozent — nützlich, um zu entscheiden, ob die Minimierung den Lesbarkeitskompromiss wert ist.
  4. Klicken Sie Kopieren, um den minimierten String in die Zwischenablage zu legen, oder Herunterladen, um ihn als `minified.json` zu speichern.
  5. War die Eingabe ungültig, zeigt eine rote Fehlerzeile die Parse-Meldung der JS-Engine — JSON korrigieren und erneut Minimieren klicken.

Tipps & Best Practices

  • Wenn Sie hauptsächlich minimieren, um ein Bundle-Budget einzuhalten, aktivieren Sie auch gzip in Ihrer CI-Static-Asset-Pipeline — gzip-pretty-JSON ist oft kleiner als unkomprimiertes-aber-minimiertes.
  • Originales pretty-printed JSON in Versionskontrolle halten; in einem Build-Schritt minimieren statt die minimierte Version zu committen.
  • Für sehr großes JSON (10 MB+) ist der TextEncoder-Durchlauf immer noch schnell, aber das JSON.parse + JSON.stringify-Paar spitzt den Speicher kurz an — okay in einem Browser-Tab, problematisch in einem Hot-Path-Service-Worker.
  • Wenn Ihr JSON Zahlen nahe der JS Safe-Integer-Grenze (2^53) enthält, beachten Sie, dass JSON.parse sie zu Doubles konvertiert — Minify ändert das nicht, aber es lohnt sich zu wissen, bevor Sie eine Präzisions-Mismatch debuggen.
  • Nutzen Sie Herunterladen, um die minimierte Datei in ein Fixtures-Verzeichnis abzulegen; mit JSON Diff später paaren, um zu bestätigen, dass die Rundreise alles bewahrt hat.

FAQ

Wie viel kleiner wird mein JSON?

Hängt ganz davon ab, wie viel Whitespace zu Beginn da war. Eine stark pretty-printed Konfiguration (2-Spaces-Einrückung, Schlüssel-Ausrichtung, abschließende Zeilenumbrüche) schrumpft oft 30–50 %. Ein JSON, das bereits in einer Zeile steht, schrumpft 0 %. Die Statistikzeile meldet die exakte Zahl — probieren Sie es an Ihren Daten, bevor Sie sich auf die minimierte Version festlegen.

Soll ich JSON in Produktion minimieren?

Meistens nein, weil gzip/brotli-Kompression wiederholten Whitespace bereits auf wenige Bytes zusammenstaucht. Minimierung hilft, wenn (1) Sie Kompression im Transport nicht aktivieren können (manche Embedded-Ziele), (2) Sie das JSON in ein JS-Bundle einbetten, wo jedes Byte gegen das Bundle-Budget zählt, oder (3) Sie IndexedDB/localStorage optimieren, wo es keine Transport-Kompression gibt.

Verändert das meine Daten in irgendeiner Weise?

Nein. JSON.parse + JSON.stringify ist eine Rundreise durch die JavaScript-JSON-Spezifikation, die eine strikte Teilmenge von ECMAScript ist. Zahlen, Strings, Booleans, null, Arrays und Objekte kommen alle byte-äquivalent zu einem gültigen Reparse heraus. Der einzige Unterschied ist Whitespace und Schlüsselreihenfolge (JSON.stringify behält die ursprüngliche Einfügungsreihenfolge eines Objekt-Literals bei).

Wie werden Bytes gezählt?

Über TextEncoder().encode().length, was die UTF-8-Byte-Länge gibt. Reines ASCII ist ein Byte pro Zeichen; é sind zwei Bytes; die meisten CJK-Zeichen drei; die meisten Emoji vier. JavaScript-String-Länge (Code-Einheiten) zu zählen würde ASCII über- und Supplementary-Plane-Zeichen unter-melden; TextEncoder gibt Ihnen die Zahl, die mit dem übereinstimmt, was über die Leitung geht.

Warum schlägt Minify bei meiner Eingabe fehl?

JSON.parse ist strikt: keine abschließenden Kommas, keine Kommentare, keine einfachen Anführungszeichen um Strings, keine ungetypten Schlüssel. Arbeiten Sie mit entspanntem JSON (JSON5, JSONC), wirft der Parser einen Fehler — vorverarbeiten mit einem entspannten Parser oder den JSONC-Modus des JSON Formatters nutzen. Die Fehlerzeile zeigt die Engine-Meldung, oft inklusive der Zeile/Spalte, die fehlgeschlagen ist.

Wird etwas an einen Server gesendet?

Nein. Beide Fenster bleiben in Ihrem Browser; Minimierung läuft synchron im selben JavaScript-Kontext, der die Seite gerendert hat. DevTools Network zeigt keine Anfragen, wenn Sie Minimieren klicken. Die Seite funktioniert offline nach dem ersten Laden.

Bleibt minimiertes JSON diff-freundlich?

Weniger. Eine pretty-printed JSON-Datei diff-t zeilenweise und Reviewer sehen genau, welcher Schlüssel sich änderte. Eine minimierte JSON-Datei ist eine riesige Zeile — eine einzelne Zeichen-Bearbeitung erscheint als ganzzeilige Ersetzung in `git diff`. Quelldateien pretty-printed lassen; minimieren nur für Transport oder Speicherung.

Wie unterscheidet sich das von JSON Formatter?

JSON Formatter hat eine Minify-Schaltfläche neben Pretty-Print plus Baumansicht, JSONPath, JSONC, Schema-Validierung und Diff. Dieses Tool ist die Single-Purpose-Leichtversion: einfügen, minimieren, kopieren, herunterladen — keine Panels, keine Modi, nur gesparte Bytes.