JSON-Formatierer
JSON formatieren, prüfen und minifizieren, mit genauer Fehlerstelle.
Entwicklung
Kommentare und Leerraum aus CSS, JS und HTML entfernen.
Es entfernt Leerraum und Kommentare. Es benennt keine Variablen um, entfernt keinen toten Code und schreibt keine Ausdrücke um.
Das ist eine Sicherheitsentscheidung. Umbenennen und Umschreiben sind die Schritte, bei denen ein Minifier Code kaputt machen kann — insbesondere bei dynamischen Zugriffen über Zeichenketten, bei denen der Zusammenhang nicht erkennbar ist. Wer diese Optimierungen will, nimmt einen Bundler mit Terser oder esbuild, der den ganzen Modulgraphen kennt.
Für ein einzelnes Stylesheet, ein Skript oder eine E-Mail-Vorlage ist das konservative Vorgehen genau richtig: spürbar kleiner, ohne Risiko.
Weniger, als die Rohzahlen vermuten lassen, weil im Web ohnehin komprimiert übertragen wird.
| Art | Roh gespart | Nach gzip gespart |
|---|---|---|
| CSS mit vielen Kommentaren | 25–40 % | 5–12 % |
| JavaScript, normal formatiert | 20–35 % | 3–8 % |
| HTML mit Einrückung | 10–20 % | 2–5 % |
Der Grund: gzip und Brotli komprimieren Wiederholungen sehr effizient, und Einrückung ist die regelmäßigste Wiederholung im ganzen Dokument. Nach der Kompression ist der Unterschied deshalb klein. Entscheidend bleibt die Kompression selbst — ein nicht komprimiert ausgeliefertes Stylesheet ist ein viel größeres Problem als ein nicht minifiziertes.
Bei diesem konservativen Vorgehen selten, aber es gibt Fälle.
In HTML ist Leerraum zwischen Inline-Elementen bedeutungstragend: Zwischen zwei <span> verschwindet sonst der Wortabstand. In <pre> und <textarea> ist jeder Leerraum sichtbar. Beides bleibt hier unangetastet.
In JavaScript ist die automatische Semikolon-Ergänzung die Gefahr: Wer Semikolons weglässt, kann durch entfernte Zeilenumbrüche andere Ausdrücke bekommen. Dieses Werkzeug entfernt keine Umbrüche, die die Bedeutung ändern würden.
Und in CSS gilt der Hinweis-Kommentar mit Ausrufezeichen — /*! ... */ — üblicherweise als erhaltenswert, weil dort Lizenzangaben stehen. Sie bleiben erhalten.
Roh 20 bis 40 Prozent, nach gzip aber nur 3 bis 12 — weil Kompression Einrückungen ohnehin gut wegpackt.
Nein, bewusst nicht. Das ist der Schritt, bei dem Minifier Code brechen. Dafür braucht es einen Bundler.
Bei diesem Vorgehen praktisch nicht. Bedeutungstragender Leerraum in HTML und JavaScript bleibt erhalten.
Ja. Kommentare der Form /*! ... */ werden nicht entfernt.
Für einzelne Dateien ja. In einem Projekt mit Bundler erledigt das der Build-Schritt besser.
Nein, alles bleibt in diesem Tab.