Was es tut
Schreibt ein JSON-Dokument in seine kleinste gültige Form um: jedes Leerzeichen, jeder Zeilenumbruch und jedes Einrückungszeichen zwischen Tokens wird entfernt. Die Eingabe wird zuerst geparst, deshalb ist die Ausgabe garantiert gültiges JSON mit identischen Daten. Ungültige Eingabe erzeugt eine rote Fehlerbox, nie eine kaputte Ausgabe. Ein Spar-Badge in der Kopfzeile der Ausgabe meldet die Größe vorher und nachher in Bytes und die gesparten Prozent, auf eine Dezimalstelle berechnet - grün, wenn Bytes entfernt wurden, neutral, wenn die Eingabe schon kompakt war. Alles läuft lokal in deinem Browser.
So verwendest du es
- Füge JSON in JSON input (links) ein oder tippe auf einen Chip unter Try: - Pretty config, Whitespace-heavy oder Already minified - um jeden Fall minifizieren zu sehen. Sample lädt ein Demo-Dokument; Clear leert das Feld.
- Das minifizierte Dokument erscheint live in Minified (rechts), mit dem Spar-Badge darüber:
N bytes → M bytes · saved X%. - Copy übernimmt die Ausgabe; Download speichert sie als
minified.json(nur angeboten, wenn die Eingabe gültiges JSON ist). - Copy share link kodiert deine Eingabe in die URL. Wer den Link öffnet, findet die Eingabe direkt im Tool wieder.
Beispiele
Tippe auf Sample:
78 bytes → 64 bytes · saved 17.9% — {"name":"CosmoDev","tools":["json-minify","base64"],"open":true}
Der Chip Whitespace-heavy zeigt beide Regeln gleichzeitig - Padding zwischen Tokens verschwindet, Leerzeichen innerhalb eines Strings überleben:
{ "greeting" : "hello world" } → {"greeting":"hello world"} (67 bytes → 41 bytes · saved 38.8% für das vollständige Chip-Dokument)
Ein bereits minifiziertes Dokument bleibt, wie es ist:
{"a":1,"b":[1,2]} (17 bytes) → {"a":1,"b":[1,2]} (17 bytes) · saved 0%
Minifizieren kann ein Dokument auch verlängern, weil die JSON-Zahlenformatierung beim Re-Serialisieren normalisiert wird:
{"a":1E3} (9 bytes) → {"a":1000} (10 bytes) · saved -11.1%
Die negative Zahl ist kein Bug; sie ist der ehrliche Größenunterschied.
Wie JSON-Minifizierung funktioniert
Minifizierung entfernt nur Whitespace. Sie kürzt keine Keys, verwirft keine Daten und sortiert nichts um: parse die Eingabe und serialisiere sie mit null Trennzeichen zurück. Die Operation ist exakt umkehrbar - das minifizierte Dokument zu formatieren stellt eine lesbare Form mit demselben Inhalt wieder her.
Weil Kommas, Doppelpunkte und Klammern die Tokens bereits trennen, ist jedes Whitespace-Zeichen dazwischen optional:
| Pretty | Minified | Entfernt |
|---|---|---|
{\n "a": 1\n} |
{"a":1} |
Zeilenumbruch, Einrückung, Leerzeichen nach : |
Die eine Ausnahme ist Whitespace innerhalb eines Strings in Anführungszeichen: Er zählt als Daten und bleibt unangetastet. Ein Satz innerhalb eines Werts behält seine Leerzeichen nach der Minifizierung.
Minifizierte Payloads zählen überall dort, wo Bytes wiederholt gezählt werden: Config-Dateien, die Browser laden, API-Antworten im großen Maßstab, JSON in einer URL oder einem einzeiligen Script-Tag und Kommandozeilen-One-Liner, in denen Zeilenumbrüche das Shell-Quoting brechen.
Gut zu wissen
- Privat: Parsen und Serialisieren laufen lokal; nichts wird irgendwohin geschickt.
- Entspricht
JSON.stringify(JSON.parse(input)). - Achte auf das Vorzeichen: 0 oder negative Ersparnis bedeutet, dass die Eingabe schon kompakt war. Die Ausgabe ist trotzdem die kanonische Form.
- Share-Links tragen die komplette Eingabe in der URL - sehr große Dokumente ergeben sehr lange Links.
- Verwandte Tools: JSON Formatter, JSON Validator, JSON ↔ CSV Converter.