JavaScript-Formatierer und -Minifier
Minifiziertes JavaScript lesbar formatieren, mit Terser minifizieren oder die Syntax mit Zeile und Spalte prüfen – direkt in Ihrem Browser.
So formatieren oder minifizieren Sie JavaScript
- Fügen Sie Ihren Code ein oder klicken Sie auf „Datei öffnen“, um eine
.js-,.mjs- oder.jsx-Datei zu laden (bis 10 MB). - Wählen Sie die „Einrückung“ und aktivieren Sie „Geschweifte Klammern in eigener Zeile“, wenn Sie den Allman-Stil bevorzugen.
- Klicken Sie auf „Formatieren (verschönern)“, um den Code lesbar zu machen.
- Zum Verkleinern stellen Sie die „Minify-Optionen“ ein und klicken auf „Minifizieren“. Wenn Sie nur nach Fehlern suchen möchten, klicken Sie auf „Syntax prüfen“.
- Kopieren oder laden Sie das Ergebnis herunter. Die Statuszeile zeigt die Größe vorher und nachher sowie die prozentuale Ersparnis.
Der Code wird nur gelesen und umgewandelt, aber nie ausgeführt: Nichts, was Sie einfügen, läuft auf dieser Seite.
Verschönern mit js-beautify
„Formatieren (verschönern)“ verwendet js-beautify. Das Tool setzt eine Anweisung pro Zeile, rückt Blöcke ein, fügt Leerzeichen um Operatoren und nach Schlüsselwörtern ein und behält höchstens eine Leerzeile dort, wo Sie welche hatten. Moderne Syntax wie Klassen, Pfeilfunktionen, Template-Literale und async/await sowie JSX werden verstanden. So lesen Sie am schnellsten eine minifizierte Bibliothek oder einen einzeiligen Schnipsel, den Sie von einer Webseite kopiert haben.
Beim Verschönern ändern sich nur Leerzeichen und Zeilenumbrüche. Ob der Code gültig ist, wird dabei nicht geprüft: Eine fehlende Klammer führt einfach zu merkwürdiger Einrückung. Dafür gibt es „Syntax prüfen“.
Minifizieren mit Terser
„Minifizieren“ verwendet Terser, den Minifier, den die meisten JavaScript-Build-Tools einsetzen. Weil Terser groß ist, wird er erst geladen, wenn Sie zum ersten Mal auf „Minifizieren“ oder „Syntax prüfen“ klicken. Die Optionen entsprechen direkt den Terser-Einstellungen:
- ES-Modul (import/export) liest den Code als Modul (
module: true): Es gilt der Strict Mode, und Namen auf oberster Ebene sind privat, dürfen also umbenannt und bei Nichtverwendung entfernt werden. Lassen Sie die Option aus bei einem klassischen Skript, dessen globale Funktionen von anderen Skripten genutzt werden. - Komprimieren (
compress) schreibt den Code in kürzeren, gleichwertigen Code um: Konstanten werden ausgerechnet (2*60wird zu120), toter Code wird entfernt,var-Deklarationen werden zusammengefasst und Bedingungen verkürzt. - Variablennamen kürzen (
mangle) benennt lokale Variablen und Parameter in ein oder zwei Buchstaben um. Globale Namen und Objekteigenschaften werden nie umbenannt. - Lizenzkommentare behalten bewahrt Kommentare, die mit
/*!beginnen oder@licensebzw.@preserveenthalten. Alle anderen Kommentare werden entfernt.
Die Minifizierung ändert nicht, was der Code tut. Code, der sich auf Funktionsnamen (fn.name) oder auf eval verlässt, kann sich nach dem Umbenennen aber anders verhalten. Deaktivieren Sie in diesem Fall „Variablennamen kürzen“.
Syntaxfehler mit Zeile und Spalte
Kann Terser den Code nicht parsen, zeigen „Minifizieren“ und „Syntax prüfen“ die Fehlermeldung mit Zeile und Spalte an, zum Beispiel „Zeile 12, Spalte 8 – Syntaxfehler: Unexpected token punc «)»“. Die Spalten werden ab 1 gezählt. Die Meldung selbst stammt von Terser und ist auf Englisch. Häufige Ursache ist eine fehlende Klammer weiter oben in der Datei – schauen Sie sich also auch die Zeilen kurz vor der gemeldeten Stelle an.
Häufige Fragen
Wird mein Code irgendwo hochgeladen?
Nein. js-beautify und Terser laufen beide in Ihrem Browser, Ihr Code bleibt auf Ihrem Rechner.
Kann ich TypeScript minifizieren?
Nein. Terser akzeptiert nur JavaScript. Kompilieren Sie TypeScript zuerst in JavaScript und minifizieren Sie dann das Ergebnis. Einfaches TypeScript lässt sich mit „Formatieren (verschönern)“ oft formatieren, Typannotationen können dabei aber seltsame Abstände bekommen.
Warum sieht mein minifizierter Code anders aus als mein Original?
„Komprimieren“ wertet konstante Ausdrücke aus, setzt einmal verwendete Werte direkt ein und entfernt unerreichbaren Code. Das Ergebnis verhält sich gleich. Deaktivieren Sie „Komprimieren“, wenn nur Leerzeichen und Kommentare entfernt werden sollen.
Muss „ES-Modul“ zu meinem Code passen?
Ja. Code mit import oder export sollte als Modul minifiziert werden. Ein klassisches Skript, das als Modul minifiziert wird, kann globale Funktionen verlieren, die andere Skripte aufrufen, weil Namen auf oberster Ebene dann als privat gelten.
Und was ist mit JSON?
JSON ist gültiges JavaScript, beide Schaltflächen akzeptieren es also. Der eigene JSON-Formatierer liefert aber bessere Fehlermeldungen und kann Schlüssel sortieren.
Ähnliche Tools
- JSON-Formatierer und -Validator Kostenloser JSON-Formatierer und Validator: JSON im Browser formatieren, minifizieren und prüfen – Syntaxfehler mit Zeile und Spalte.
- CSS-Formatierer und -Minifier Unordentliches CSS sauber einrücken oder mit csso minifizieren und die Größe vorher und nachher sehen. Läuft im Browser, nichts wird hochgeladen.
- HTML-Formatierer Unordentliches HTML sauber einrücken oder sicher minifizieren – direkt im Browser. Inline-CSS und -JavaScript werden mitformatiert. Nichts wird hochgeladen.
- Regex-Tester Regex online testen: JavaScript-Ausdrücke live prüfen, mit hervorgehobenen Treffern, Erfassungsgruppen, Ersetzen und Erklärung jedes Bestandteils.