Zum Inhalt springen

HTML minifizieren

Kommentare und Leerraum entfernen und das CSS und JavaScript in der Seite verkleinern – ohne die Abstände anzutasten, die tatsächlich dargestellt werden. Ihr Quelltext verlässt nie den Browser.

  • Nie gespeichert
  • Keine Warteschlange, kein Warten
  • Ohne Anmeldung, ohne Wasserzeichen
Minifiziert

Das minifizierte HTML erscheint hier.

So funktioniert’s

1

HTML einfügen

Oder die Datei hier ablegen. Es wird nichts gespeichert – bei Quelltext ist das wichtiger als bei fast allem anderen.

2

Festlegen, wie weit es gehen soll

Kommentare, Leerraum, Inline-CSS und Inline-JavaScript lassen sich jeweils einzeln ein- und ausschalten.

3

Kopieren oder herunterladen

Sie sehen, um wie viel kleiner es geworden ist – vorher und nachher.

Der Leerraum, der zählt – und der, der nicht zählt

In HTML ist ein Leerzeichen zwischen zwei Inline-Elementen ein echtes Leerzeichen, und genau das unterscheidet einen sorgfältigen Minifier von einem, der Seiten kaputt macht. Fasst man den Zeilenumbruch zwischen zwei Links zusammen, laufen die Wörter auf dem Bildschirm ineinander; fasst man die Einrückung in einem pre-Block oder einer textarea zusammen, ändert sich der Inhalt selbst, denn dort ist Leerraum Inhalt. Deshalb wird Leerraum nur dort entfernt, wo er nachweislich nicht dargestellt wird, und dort, wo er dargestellt wird, exakt so belassen. Ein Minifier, der jedes Leerzeichen gleichermaßen entfernt, liefert eine kleinere Datei und eine sichtbar fehlerhafte Seite.

Kommentare fallen weg, denn sie sind für die Person gedacht, die den Quelltext pflegt, nicht für die Leser – mit Ausnahme bedingter Kommentare, die Anweisungen sind und keine Notizen. Überflüssige Attribute werden entfernt: Ein type="text/javascript" an einem script-Element ist seit einem Jahrzehnt der Standard, und method="get" an einem Formular sagt nur, was ein Formular ohnehin tut.

Das Entfernen von Attribut-Anführungszeichen ist gültiges HTML und standardmäßig ausgeschaltet – mit Absicht. Die Spezifikation erlaubt einen Attributwert ohne Anführungszeichen, sofern er keine Leerzeichen oder heiklen Zeichen enthält, und Browser kommen damit bestens zurecht. Template-Engines oft nicht: Ein Blade-, Twig-, Handlebars- oder JSX-Ausdruck in einem Attribut ohne Anführungszeichen wird nicht mehr korrekt geparst, und der Fehler taucht beim Build in einer Datei auf, die niemand lesen möchte. Die Ersparnis ist gering, das Risiko nicht – deshalb muss man es bewusst einschalten.

Der ehrliche Maßstab für den Gewinn ist die Größe nach der Komprimierung, nicht davor. Server liefern HTML mit gzip oder Brotli komprimiert aus, und diese Algorithmen sind bei wiederholtem Leerraum extrem gut – ein Dokument, das sich von 100 KB auf 70 KB minifizieren lässt, schrumpft bei der Übertragung womöglich nur von 12 KB auf 11 KB. HTML zu minifizieren lohnt sich, bringt aber von den dreien am wenigsten; beim Stylesheet und beim Skript steckt das eigentliche Gewicht.

Wenn Sie etwas anderes brauchen

Für eine ganze Website statt einer einzelnen Datei gehört das in den Build und nicht in einen Browser-Tab. Jedes aktuelle Framework und jeder Static-Site-Generator minifiziert HTML beim Build, und wer es von Hand macht, hört damit auf, sobald es jemand vergisst. Die Bibliotheken dahinter lassen sich bis auf einzelne Transformationen konfigurieren – das lohnt sich, wenn eine bestimmte Regel Probleme macht.

Bevor Sie das Markup optimieren, prüfen Sie, wie schwer die Seite tatsächlich ist. Auf fast jeder echten Website ist das HTML ein Rundungsfehler neben den Bildern, den Schriften und dem JavaScript – Lighthouse oder der Netzwerk-Tab des Browsers sagt es Ihnen in Sekunden, und meist lautet die Antwort, dass ein nicht optimiertes Titelbild mehr kostet als jedes Byte Markup auf der Seite.

Häufig gestellte Fragen

Wird mein Code irgendwo gespeichert?

Nein – und bei Quelltext ist genau das der Punkt. Es wird nichts gespeichert, und kein Server bekommt ihn je zu sehen. Proprietären Quelltext in einen Online-Minifier einzufügen, der ihn irgendwohin sendet, ist eine Offenlegung, egal was die Website über die Aufbewahrung sagt – und genau so etwas passiert schnell mal in der Eile, ohne nachzudenken.

Verändert das Minifizieren das Aussehen der Seite?

Nicht so, wie es hier eingestellt ist. Leerraum wird nur dort zusammengefasst, wo er nicht dargestellt wird: zwischen Blockelementen wie divs und Listeneinträgen. Das Leerzeichen ZWISCHEN INLINE-Elementen bleibt erhalten, denn wenn man es entfernt, verschmelzen sichtbar zwei Wörter – „</span> <span>“ ist auf dem Bildschirm ein echtes Leerzeichen, „</span><span>“ nicht. Der Inhalt von <pre> und <textarea> bleibt Byte für Byte unverändert. Und das Entfernen optionaler schließender Tags ist bewusst ausgeschaltet: Es ist gültiges HTML, aber etliche Template-Engines und E-Mail-Programme verarbeiten das Ergebnis schlecht.

Was wird eigentlich entfernt?

Kommentare, Leerraum, der ohnehin nie dargestellt wurde, und das Überflüssige in <style>- und <script>-Blöcken. Struktur, Attribute und Text Ihres Markups bleiben unangetastet – das Tool wird geprüft, indem die Seite vorher und nachher geparst und bestätigt wird, dass Anzahl der Elemente, Listeneinträge und sichtbarer Text identisch sind.

Soll ich Attribut-Anführungszeichen entfernen?

Nur wenn die Ausgabe direkt an einen Browser geht. Es ist gültiges HTML und spart ein wenig, aber Attribute ohne Anführungszeichen bringen manche Template-Engines, manche E-Mail-Programme und die meisten naiven Parser aus dem Tritt. Die Option ist standardmäßig ausgeschaltet, und die Seite warnt Sie, wenn Sie sie einschalten.

Wird auch das CSS und JavaScript in der Seite minifiziert?

Ja, beides – genauso wie mit unseren Tools zum Minifizieren von CSS und JavaScript. Eine Ausnahme: Verwendet Ihr Inline-CSS native Verschachtelung oder moderne Media Queries, wird der CSS-Durchlauf für diesen Vorgang ausgeschaltet – der CSS-Minifier ist älter als diese Funktionen und würde Regeln stillschweigend löschen. Das HTML wird trotzdem minifiziert, und die Seite sagt Ihnen, dass das passiert ist, statt Ihnen eine Seite ohne Styles zurückzugeben.

Um wie viel wird es kleiner?

Bei handgeschriebenem HTML mit Einrückungen und Kommentaren häufig um 10–30 %. Den Großteil der restlichen Arbeit erledigt dann gzip auf Ihrem Server – vorher zu minifizieren hilft trotzdem, weil sich beides addiert, aber erwarten Sie nicht, dass Minifizieren allein eine Datei halbiert.

Kann ich eine ganze Website auf einmal minifizieren?

Hier geht es Seite für Seite. Bei einer Website mit vielen Seiten minifizieren Sie am besten im Build- oder Deploy-Schritt, damit jede Seite bei jedem Release gleich behandelt wird – und legen Sie den lesbaren Quelltext in die Versionsverwaltung, nie die minifizierte Ausgabe.

Gut zu wissen: Leerraum wird nur dort zusammengefasst, wo er nicht dargestellt wird: Text in pre und textarea bleibt also exakt unverändert, und Leerzeichen zwischen Inline-Elementen bleiben erhalten. Das Entfernen von Attribut-Anführungszeichen ist gültiges HTML, bricht aber manche Template-Engines – deshalb ist es standardmäßig ausgeschaltet.

Dieses Tool auf Ihrer Website einbinden

Kostenlos für jeden Blog, jede Kursseite und jeden Hilfeartikel. Fügen Sie ein einziges Snippet ein, und Ihre Besucher können das Tool direkt auf Ihrer Seite nutzen.