Tufan Calisir

Font Subsetting: Schriften optimieren & Page Speed steigern

Infografik zum Vergleich des Ladens von Schriftarten: Links wird das langsamere Laden mit ungenutzten Zeichen gezeigt, rechts das schnellere Laden mit nur den benötigten Teilmengen.

In der Welt der Webperformance zählt jede Millisekunde. Während wir Bilder akribisch komprimieren und JavaScript-Dateien minimieren, bleibt ein entscheidender Faktor oft unbeachtet: die Schriftarten. Eine Standard-Webfont bringt oft tausende Zeichen für dutzende Sprachen mit, von Kyrillisch bis hin zu speziellen mathematischen Symbolen, die auf den meisten Websites niemals angezeigt werden. Das Ergebnis sind unnötig aufgeblähte Dateien, die den Seitenaufbau verzögern und die Core Web Vitals negativ beeinflussen. Hier kommt Font Subsetting ins Spiel. Durch das gezielte "Abspecken" deiner Schriftdateien entfernst du allen ungenutzten Ballast und behältst nur die Zeichen übrig, die deine Besucher tatsächlich sehen. In diesem Guide erfährst du, wie du deine Fonts radikal verkleinerst, welche Tools dir dabei helfen und wie du durch optimierte Typografie die Performance deiner Website spürbar steigerst.

Was ist Font Subsetting? Eine Definition

Unter Font Subsetting versteht man den Prozess, aus einer vollständigen Schriftdatei eine reduzierte "Teilschrift" (das Subset) zu erstellen. Dabei werden nur die Zeichen (Glyphen) in einer neuen Datei gespeichert, die tatsächlich für die Website benötigt werden. Anstatt eine universelle Datei mit tausenden Sonderzeichen für hunderte Sprachen zu laden, extrahiert man lediglich den benötigten Zeichensatz: zum Beispiel nur lateinische Buchstaben, Ziffern und Satzzeichen.

Warum Font Subsetting? Der Einfluss auf Page Speed und Core Web Vitals

Bei der Optimierung der Website-Performance achten viele zuerst auf Mediendateien oder versuchen, die Bundlegröße zu reduzieren. Dabei gerät jedoch oft eine einfache und äußerst wirkungsvolle Maßnahme in Vergessenheit: Font Subsetting. Dieser vergleichsweise unkomplizierte Prozess kann die Dateigröße einer Website deutlich verringern und so die Page Speed sowie die Core Web Vitals spürbar verbessern.

Beim Font Subsetting beschränkt man die Schriftdatei auf die tatsächlich benötigten Zeichen, meist die der Hauptsprache der Website, und entfernt alle überflüssigen Glyphen. Zusätzlich kann man eine vollständige oder erneut komprimierte Version der Schriftart als Fallback bereitstellen, um sicherzustellen, dass bei Bedarf alle Zeichen geladen werden können.

Die Anatomie einer Schriftdatei: Warum sie oft unnötig groß ist

Wenn man eine Font beispielsweise über Google Fonts herunterlädt und verwendet, bekommt man nicht nur die Buchstaben (A-Z) und Ziffern, sondern ein "Rundum-Sorglos-Paket" mit sehr vielen Features.

Folgende "Pakete" sind in einer Schriftdatei meistens enthalten:

  • nicht nur lateinische Buchstaben findet man, sondern auch Kyrillisch, Griechisch, Vietnamesisch und hunderte Sonderzeichen

  • alternative Zeichenformen (Stylistic Alternates), Ligaturen, Small Caps, Brüche, Tabellensatz-Ziffern und mehr.

  • Variable Fonts bündeln viele Gewichte und Stile, die man am Ende nicht in seinem Design benötigt

Diese ganzen Features sorgen dafür, dass die Datei am Ende riesig ist und nicht optimal zu gebrauchen ist auf einer Webseite.

Schritt-für-Schritt-Anleitung: So erstellst du ein Subset

Es gibt viele Methoden, um ein Subset zu generieren, jedoch werde ich hier nur meinen eigenen präferierten Weg erläutern:

  1. Besuche den Webfont Generator von fontsquirrel.

  2. Lade deine Font hoch

  3. Entweder "Optimal" (reicht meistens) oder auf "Expert" und dort seine Einstellungen treffen

  4. Subset herunterladen

Implementierung auf der Website: @font-face und font-display optimal nutzen

Mit font-face Regel kann man über CSS die Font auf seiner Webseite implementieren.

@font-face {
  font-family: "Trickster";
  src:
    local("Trickster"),
    url("trickster-COLRv1.otf") format("opentype") tech(color-COLRv1),
    url("trickster-outline.otf") format("opentype"),
    url("trickster-outline.woff2") format("woff2");
font-weight: number;
font-display: "string";
}

Die Wichtigen Properties sind in dem Fall font-family, src, font-weight und font-display. Der Name, welcher bei font-family gesetzt ist, ist relevant um es dann anschließend im CSS zu benutzen, sodass dann auch die richtige Font referenziert wird.

Bei der src muss man den lokalen Pfad angeben, sowie das Format. Auf meisten Webseiten reicht es nur mit WOFF2 zu arbeiten, da es zu 96,38% der Browser abdeckt.

font-weight ist das respektive Gewicht der Font für normale bzw. Regular Schriftarten wäre es beispielsweise 400. Eine Übersicht findet ihr hier:


Anzahl der Font GewichteQuelle: Words of Type

Fazit: Kleine Datei, große Wirkung für die User Experience

Font Subsetting ist ein vergleichsweise kleiner Eingriff in den Code, der eine spürbar große Wirkung auf die User Experience hat. Indem du nur die wirklich benötigten Zeichen und Schriftschnitte auslieferst, reduzierst du die Font-Dateigröße deutlich und damit auch Ladezeit, Datenverbrauch und das Risiko von Layout-Verschiebungen. Gleichzeitig behältst du mit einem sinnvollen Fallback-Setup die volle Funktionalität für Sonderfälle und zusätzliche Sprachen. So kombinierst du saubere Typografie mit moderner Performance-Optimierung, eine der seltenen Maßnahmen, die sowohl Entwickler als auch Nutzer und Suchmaschinen gleichermaßen freuen.

Too Long; Didn't read

  • Was ist es? Das gezielte Entfernen ungenutzter Zeichen (Glyphen) aus einer Schriftdatei, um nur das Nötigste auszuliefern.

  • Warum machen? Standard-Fonts enthalten oft Ballast für hunderte Sprachen (Kyrillisch, Griechisch etc.). Subsetting spart massiv Dateigröße (oft über 80%).

  • Der Impact: Schnellere Ladezeiten, besserer LCP (Largest Contentful Paint) und stabilere Core Web Vitals.

  • Die Anatomie: Moderne Fonts sind wegen Opentype-Features, Ligaturen und unnötigen Sprachpaketen oft hunderte Kilobyte groß.

  • Der Prozess: Mit Tools wie dem Font Squirrel Webfont Generator lässt sich ein Subset (z. B. nur "Latin") mit wenigen Klicks erstellen.

  • Best Practice: Nutze das WOFF2-Format (beste Kompression) und binde die Schrift per @font-face mit dem richtigen font-display: swap ein.