Firefox Themes 2026: Finden, installieren und selbst bauen — mit echten Zahlen

Firefox Themes 2026: Finden, installieren und selbst bauen — mit echten Zahlen

Firefox Themes sind die einfachste Art, den Browser umzugestalten — und gleichzeitig das am meisten missverstandene Stück der Firefox-Anpassung. Die meisten Anleitungen im Netz erklären entweder nur, wie man auf „Hinzufügen” klickt, oder sie werfen Themes mit userChrome.css in einen Topf, obwohl das zwei völlig verschiedene Dinge sind.

Dieser Artikel macht beides anders. Wir haben nicht recherchiert, sondern gemessen: die komplette Theme-Datenbank von addons.mozilla.org ausgezählt, die 50 meistgenutzten Themes heruntergeladen und ihre manifest.json auseinandergenommen, und ein eigenes Theme gebaut, das Mozillas offizieller Prüfer addons-linter mit null Fehlern, null Warnungen, null Hinweisen durchwinkt.

Das Ergebnis vorweg, und es ist überraschend in beide Richtungen: Auf AMO liegen 514.644 Themes — mehr als fünfmal so viele wie Erweiterungen. Und ein vollständiges, gültiges Theme ist am Ende 528 Byte groß. Eine einzige Datei. Kein Build-Prozess, kein Framework, keine Zeile JavaScript.

Die Kurzfassung

FrageAntwort (gemessen am 31.08.2026)
Wie viele Firefox Themes gibt es?514.644 statische Themes auf AMO
Zum Vergleich: Erweiterungen99.578 — Themes sind 5,2× häufiger
Wie groß ist ein Theme?Unser lint-sauberes Theme: 528 Byte
Median-Größe der Top 509.487 Byte (38 von 50 unter 10 KB)
Brauche ich ein Bild?Nein — 37 der Top 50 nutzen gar keins
Wie viele Farbschlüssel gibt es?42 laut Firefox-Schema
Wie viele nutzen die Top-Themes?Median 26, Minimum 2, Maximum 38
Braucht man Programmierkenntnisse?Nein — eine manifest.json, sonst nichts
Muss ich veröffentlichen?Nein, aber zum dauerhaften Installieren ist Signierung nötig
Theme + Erweiterung in einem Paket?Nein — der Linter bricht mit Fehler ab
Ist das dasselbe wie userChrome.css?Nein — komplett anderer Mechanismus
Methodik: Zahlen am 31.08.2026 über die AMO-API v5 (/api/v5/addons/search/) abgerufen. Die Top 50 wurden als XPI heruntergeladen, entpackt und ihre manifest.json ausgewertet. Linter-Ergebnisse mit addons-linter 10.10.0 lokal erzeugt. Farbschlüssel aus toolkit/components/extensions/schemas/theme.json von mozilla-central.

Was ein Firefox Theme eigentlich ist

Ein Theme ist technisch gesehen eine WebExtension ohne Code. Es hat dieselbe Verpackung wie eine Erweiterung — ein ZIP-Archiv mit einer manifest.json — nur dass darin kein JavaScript liegt, sondern ausschließlich Farbangaben und optional Bilder.

Firefox unterscheidet dabei zwei Sorten:

  • Statische Themes ändern sich nach der Installation nicht mehr. Sie bestehen aus dem theme-Schlüssel im Manifest. Das ist der Normalfall und das, worum es hier hauptsächlich geht.
  • Dynamische Themes sind echte Erweiterungen, die die theme-API aufrufen und die Darstellung zur Laufzeit ändern — etwa nach Tageszeit oder besuchter Website.

Die Trennung ist strikt, und das ist keine Stilfrage, sondern hart erzwungen. Mozillas Dokumentation formuliert es so:

„A theme and browser extension functionality cannot be defined in one package.” — extensionworkshop.com, Static themes, abgerufen am 31.08.2026

Wir haben das nachgeprüft, statt es zu glauben. In ein gültiges Theme-Manifest zusätzlich einen browser_action-Schlüssel eingetragen und den Linter laufen lassen:

JSON_INVALID | "/" must NOT have additional properties

Ein harter Fehler. Man kann einer Erweiterung also kein Theme „beilegen” — wer beides will, braucht ein dynamisches Theme mit theme-Berechtigung.

Explosionsdarstellung eines Browserfensters in einzelne Farbschichten

Themes finden: 514.644 Stück, und warum das kein Vorteil ist

Der offizielle Ort für Themes ist addons.mozilla.org (AMO). Wir haben die API gefragt, wie viel dort tatsächlich liegt:

Kategorie auf AMOAnzahl
Statische Themes514.644
Erweiterungen99.578
Wörterbücher250
Sprachpakete111
Abgerufen am 31.08.2026 über /api/v5/addons/search/?type=…&page_size=1, Feld count.

Eine halbe Million Themes klingt nach einer riesigen Auswahl. Die Zahl ist aber vor allem ein Hinweis darauf, wie niedrig die Hürde ist — und beim genaueren Hinsehen zerfällt sie.

Wir haben die nach Nutzerzahl sortierte Liste an mehreren Stellen abgetastet:

Platz in der RanglisteTägliche Nutzer
1–5011.021 – 307.731
451–500715 – 798
2.451–2.50069 – 71
4.951–5.00026 – 27
9.951–10.00010
14.951–15.0005 – 6
19.951–20.0003
24.951–25.0002
29.951–30.0002
Sortierung sort=users, page_size=50, Stichproben an den genannten Seiten, abgerufen am 31.08.2026.

Auf Platz 30.000 hat ein Theme noch zwei tägliche Nutzer. Und dort endet die Messung nicht, weil die Themes ausgehen, sondern weil die API bei Seite 600 aufhört — ein Zugriff auf Seite 601 liefert {"detail":"Invalid page."}. Die Grenze liegt bei genau 30.000 Einträgen, das haben wir per binärer Suche bestimmt.

Was das für die verbleibenden 484.644 Themes bedeutet, haben wir über eine zweite Achse gemessen: eine Stichprobe von 300 Themes, sortiert nach Erstellungsdatum statt nach Nutzern.

Kennzahl der Stichprobe (n = 300)Wert
Themes mit null täglichen Nutzern206 (69 %)
Median tägliche Nutzer0
Durchschnitt2,68
Maximum in der Stichprobe314
Zufällige Seiten aus sort=created, fester Seed, 31.08.2026.

🔑 Das ist der eigentliche Befund zur Auswahl: Über zwei Drittel aller Firefox Themes werden von niemandem benutzt. Der Katalog ist keine kuratierte Sammlung, sondern ein Ablageort. Das ist keine Kritik an Mozilla — es ist der direkte Preis dafür, dass jeder in fünf Minuten ein Theme erzeugen kann. Aber es heißt: Die Zahl 514.644 ist als Qualitätsargument wertlos. Wer ein gutes Theme sucht, sollte nicht die Gesamtzahl beeindruckend finden, sondern nach Nutzerzahl und Bewertung sortieren.

Balkendiagramm mit langem, flachem Ausläufer nach rechts

Die harte Auswahl: „Empfohlen” ist selten

AMO markiert besonders geprüfte Add-ons. Auch das haben wir gezählt:

AuszeichnungAnzahl statischer Themes
Recommended (empfohlen)29
Line (von Mozilla/Partnern)134
Verified / Spotlight / Strategic0
Abgerufen über ?type=statictheme&promoted=…, 31.08.2026.

29 empfohlene Themes bei 514.644 Einträgen — das ist ein Anteil von 0,0056 %. Wer Wert auf eine menschliche Prüfung legt, hat also eine sehr überschaubare Liste. Der Filter „Empfohlen” auf AMO ist damit deutlich nützlicher als jede Suchanfrage.

Themes installieren

Der Weg selbst ist unspektakulär und in drei Klicks erledigt:

  1. Auf addons.mozilla.org ein Theme öffnen.
  2. Auf „Zu Firefox hinzufügen” klicken.
  3. Fertig — Themes brauchen keine Berechtigungen und daher auch keinen Bestätigungsdialog mit Rechteliste.

Verwalten lassen sie sich unter about:addonsThemes. Firefox bringt außerdem drei eingebaute Themes mit (Systemfarben, Hell, Dunkel), die dort ebenfalls auftauchen. Es kann immer nur ein Theme aktiv sein.

Der Sicherheitsaspekt ist hier tatsächlich entspannt: Da ein statisches Theme keinen Code enthält und keine Berechtigungen anfordert, kann es weder Daten lesen noch Netzwerkanfragen stellen. Das Schlimmste, was ein schlechtes Theme anrichtet, ist unlesbarer Text. Wer generell wissen will, wie es um Browser-Sicherheit und Datenschutz steht, findet in unserem Artikel zu Open-Source-Webbrowsern den größeren Zusammenhang.

Ein eigenes Firefox Theme bauen — die minimale Fassung

Hier wird es interessant, denn der Aufwand ist absurd gering. Ein vollständiges Theme braucht eine einzige Datei.

Lege einen Ordner an und darin eine manifest.json:

{
  "manifest_version": 2,
  "name": "GetMind Cosmic",
  "version": "1.0",
  "description": "Ein dunkles Theme, gebaut als Praxistest für getmind.io",
  "browser_specific_settings": {
    "gecko": { "id": "getmind-cosmic@getmind.io" }
  },
  "theme": {
    "colors": {
      "frame": "#0b0f1a",
      "tab_background_text": "#c9d1e8",
      "tab_selected": "#161d33",
      "tab_text": "#ffffff",
      "tab_line": "#7c5cff",
      "toolbar": "#111729",
      "toolbar_text": "#e6ebff",
      "toolbar_field": "#0b0f1a",
      "toolbar_field_text": "#e6ebff",
      "toolbar_field_border": "#2a3352",
      "toolbar_field_focus": "#161d33",
      "popup": "#111729",
      "popup_text": "#e6ebff",
      "popup_border": "#2a3352",
      "ntp_background": "#0b0f1a",
      "ntp_text": "#e6ebff",
      "sidebar": "#111729",
      "sidebar_text": "#e6ebff",
      "icons": "#c9d1e8"
    },
    "properties": {
      "color_scheme": "dark"
    }
  }
}

Das ist alles. Kein npm install, kein Build-Schritt. Wir haben dieses Manifest durch Mozillas offiziellen Prüfer geschickt:

npm install -g addons-linter
addons-linter .

Ergebnis: 0 Fehler, 0 Warnungen, 0 Hinweise. Gepackt als ZIP ist das Theme 528 Byte groß — mit Header-Bild waren es 940 Byte. Zum Vergleich: Das meistgenutzte bildbasierte Theme im Katalog (Dark space) bringt 2,7 MB auf die Waage.

Sofort ausprobieren, ohne Signierung

Zum Testen muss nichts hochgeladen werden:

  1. about:debugging#/runtime/this-firefox aufrufen
  2. „Temporäres Add-on laden…” klicken
  3. Die manifest.json auswählen

Das Theme ist sofort aktiv. Wichtig: Es verschwindet beim nächsten Firefox-Neustart wieder. Für dauerhafte Installation führt kein Weg an der Signierung vorbei — dazu unten mehr.

Die 42 Farbschlüssel

Firefox kennt laut eigenem Schema genau 42 Farbschlüssel. Wir haben sie direkt aus theme.json in mozilla-central ausgelesen, statt eine Blogliste abzuschreiben. Die wichtigsten, nach Wirkungsbereich sortiert:

BereichSchlüssel
Fensterrahmenframe, frame_inactive
Tabstab_selected, tab_text, tab_background_text, tab_line, tab_loading, tab_background_separator
Symbolleistetoolbar, toolbar_text, bookmark_text, toolbar_top_separator, toolbar_bottom_separator, toolbar_vertical_separator
Adressleistetoolbar_field, toolbar_field_text, toolbar_field_border, toolbar_field_focus, toolbar_field_text_focus, toolbar_field_border_focus, toolbar_field_highlight, toolbar_field_highlight_text
Symboleicons, icons_attention, button_background_hover, button_background_active
Menüs/Popupspopup, popup_text, popup_border, popup_highlight, popup_highlight_text
Neuer Tabntp_background, ntp_card_background, ntp_text
Seitenleistesidebar, sidebar_border, sidebar_text, sidebar_highlight, sidebar_highlight_text

Drei Schlüssel sind veraltet und werden von Firefox ab Version 70 bzw. 89 schlicht ignoriert:

Veralteter SchlüsselErsatzIgnoriert ab
accentcolorframeFirefox 70
textcolortab_background_textFirefox 70
toolbar_field_separatorFirefox 89
headerURL (Bild)theme_frameFirefox 70

Wer accentcolor und textcolor heute noch einträgt, bekommt vom Linter übrigens harte Fehler, nicht nur Warnungen — das haben wir getestet. Bei aktuellem Firefox (Stand: 154.0.1) sind diese Aliase seit über 80 Versionen tot.

Farbige Punkte auf einer Karte, verbunden mit Zonen eines Browserfensters

Wie viele Farben braucht man wirklich?

Wir haben die 50 meistgenutzten Themes heruntergeladen und ihre Manifeste ausgewertet:

Kennzahl der Top 50Wert
Themes ohne jedes Bild37 von 50 (74 %)
Themes mit Bildern13 (davon 12 mit additional_backgrounds, 1 mit theme_frame)
Genutzte Farbschlüssel: Median26 von 42
Genutzte Farbschlüssel: Minimum / Maximum2 / 38
Paketgröße: Median9.487 Byte
Pakete unter 10 KB38 von 50
Mit separatem dark_theme-Block9 (18 %)
Alle 50 XPI-Dateien am 31.08.2026 von AMO geladen, entpackt und die manifest.json ausgewertet.

🔑 Das widerspricht der verbreiteten Vorstellung, ein Theme sei in erster Linie ein Bild. Drei Viertel der erfolgreichsten Themes sind reine Farbdefinitionen — und der Median liegt bei unter 10 Kilobyte. Wer „Theme” hört und an ein 4K-Panoramabild denkt, denkt an die Ausnahme.

Bemerkenswert ist auch das Minimum von 2 Farbschlüsseln. Tatsächlich sind genau zwei Angaben verpflichtend genug, um ein sinnvolles Ergebnis zu liefern: frame und tab_background_text. Alles andere leitet Firefox ab. Wer aber nur diese zwei setzt, riskiert, dass Menüs und Adressleiste im Standardton bleiben und beißen — deshalb der Median von 26.

Dark Mode richtig umsetzen

Hier machen viele Anleitungen es sich zu einfach. Es gibt zwei Mechanismen, und sie tun Verschiedenes.

1. color_scheme — sagt Firefox, welche Sorte Theme das ist:

"properties": {
  "color_scheme": "dark",
  "content_color_scheme": "auto"
}

Erlaubte Werte sind auto, light, dark und system. Das steuert unter anderem, ob Firefox seine eigenen UI-Elemente hell oder dunkel zeichnet, dort wo das Theme nichts vorgibt.

2. dark_theme — ein kompletter zweiter Farbsatz:

{
  "theme":      { "colors": { "frame": "#ffffff", "tab_background_text": "#000000" } },
  "dark_theme": { "colors": { "frame": "#000000", "tab_background_text": "#ffffff" } }
}

theme gilt dann im hellen Systemmodus, dark_theme im dunklen. Firefox schaltet automatisch um. Genau das macht profiles_blue, eines der meistgenutzten Themes im Katalog.

Nur 9 von 50 Top-Themes nutzen diesen zweiten Block — die große Mehrheit legt sich auf eine Farbwelt fest. Das ist eine legitime Designentscheidung, aber es heißt: Die meisten Themes ignorieren den Systemmodus des Nutzers.

Der Befund, der uns am meisten überrascht hat

Beim Testen des Linters haben wir systematisch kaputte Manifeste gebaut, um zu sehen, was er auffängt. Das Ergebnis ist zweigeteilt — und die zweite Hälfte ist eine echte Falle.

Was der Linter zuverlässig fängt:

ManipulationErgebnis
theme_frame zeigt auf nicht existierende DateiFehler
headerURL statt theme_frame (veraltet)Fehler
accentcolor / textcolor (veraltet)Fehler
color_scheme: "midnight" (ungültiger Wert)Fehler
Farbwert als Zahl statt StringFehler
browser_action neben themeFehler

Was der Linter stillschweigend durchlässt:

ManipulationErgebnis
"toolbar": "dark-blue" (kein CSS-Farbname)0 Fehler, 0 Warnungen
"toolbar": "#GGGGGG" (unmögliches Hex)0 Fehler, 0 Warnungen
"tab_text": "#12345" (fünf Stellen)0 Fehler, 0 Warnungen
"tab_backgrund_text" (Tippfehler im Schlüssel)0 Fehler, 0 Warnungen, 0 Hinweise
Alle Fälle einzeln mit addons-linter 10.10.0 gegen ein ansonsten gültiges Theme gefahren, Ausgabe im JSON-Format ausgewertet.

🔑 Das ist der wichtigste praktische Befund des Artikels: Ein Theme kann den offiziellen Prüfer fehlerfrei passieren und trotzdem falsch aussehen. Und die Ursache steht im Firefox-Quelltext. In ext-theme.js werden Farbwerte nicht validiert, sondern durchgereicht:

let cssColor = val;
if (Array.isArray(val)) {
  cssColor = "rgb" + (val.length > 3 ? "a" : "") + "(" + val.join(",") + ")";
}

Der Wert landet direkt als CSS-Eigenschaft. Ist er ungültig, greift die normale CSS-Regel: Die Deklaration wird verworfen, und das Element behält seine Standardfarbe. Kein Absturz, keine Konsolenmeldung, kein roter Balken. Nur eine Symbolleiste, die aussieht wie vorher.

Beim Tippfehler im Schlüsselnamen ist es dieselbe Mechanik aus der anderen Richtung: Das Schema erlaubt zusätzliche Eigenschaften im colors-Objekt, also ist tab_backgrund_text formal in Ordnung — Firefox kennt den Schlüssel nur nicht und ignoriert ihn.

Was das für die Praxis heißt: Ein grüner Linter-Lauf beweist, dass die Struktur stimmt. Er beweist nicht, dass die Farben ankommen. Die einzige belastbare Prüfung ist, das Theme über about:debugging temporär zu laden und hinzusehen. Wer nur auf „0 errors” schaut, prüft die Verpackung, nicht den Inhalt.

Das ist übrigens ein Muster, das uns in der Praxis ständig begegnet — Werkzeuge, die eine Erfolgsmeldung liefern, während das eigentliche Ziel verfehlt ist. Wer mehr über Fehlerbilder dieser Art lesen will, findet in unserem Artikel zu IT-Sicherheitslücken einen dokumentierten Fall, bei dem genau diese Art von stiller Fehlannahme fünf Tage lang unentdeckt blieb.

Bilder im Theme: was wirklich gilt

Wenn du doch ein Bild verwenden willst, gibt es drei Schlüssel unter images:

SchlüsselBedeutung
theme_frameDas Hauptbild, verankert oben rechts im Kopfbereich
additional_backgroundsArray weiterer Bilder, einzeln positionierbar und kachelbar
headerURLVeraltet, seit Firefox 70 ignoriert

Für die Positionierung stehen additional_backgrounds_alignment (13 Werte von top bis right bottom) und additional_backgrounds_tiling (no-repeat, repeat, repeat-x, repeat-y) zur Verfügung.

Zur Bildgröße nennt Mozilla eine klare Vorgabe:

„The area your header image needs to fill is a maximum of 200 pixels high. […] Practically, this means you would need to allow for a width of up to 5120 pixels wide.” — extensionworkshop.com, Static themes

Der Rat aus derselben Quelle ist aber, kein 5120 Pixel breites Bild zu bauen, sondern ein schmaleres mit transparentem linken Rand, das in die Hintergrundfarbe ausläuft. Das erklärt auch, warum 12 der 13 bildbasierten Top-Themes additional_backgrounds statt theme_frame nutzen: Damit lassen sich Kacheln und weiche Übergänge sauberer bauen.

Praktisch relevant: Wir haben Bilder mit 6000×400 und 10×10 Pixeln getestet — der Linter meldet in beiden Fällen nichts. Auch die Bildgröße ist also eine Sache des Hinsehens, nicht der Werkzeugprüfung.

Theme oder userChrome.css? Der wichtigste Unterschied

Das ist die Frage, an der die meisten Anleitungen scheitern, weil sie beides „Firefox anpassen” nennen. Technisch haben die zwei Wege fast nichts gemeinsam.

ThemeuserChrome.css
Was ist es?WebExtension ohne CodeBenutzer-Stylesheet im Profil
Was kann es?Nur Farben und Bilder vordefinierter BereicheBeliebiges CSS auf die gesamte Oberfläche
Layout ändern?NeinJa — Elemente verschieben, ausblenden, umbauen
Standardmäßig aktiv?JaNein, muss erst freigeschaltet werden
Verteilbar?Ja, über AMO, ein KlickNur als Datei zum Selbstkopieren
Signierung nötig?Ja (dauerhaft)Nein
Bricht bei Updates?Praktisch nieRegelmäßig
ZielgruppeAlleFortgeschrittene

userChrome.css ist standardmäßig deaktiviert. Das ist keine Vermutung — wir haben es in Firefox’ Voreinstellungen nachgeschlagen:

// modules/libpref/init/all.js
pref("toolkit.legacyUserProfileCustomizations.stylesheets", false);

Schon der Name der Einstellung sagt, wie Mozilla dazu steht: legacy. Wer sie nutzen will, muss:

  1. about:config öffnen und toolkit.legacyUserProfileCustomizations.stylesheets auf true setzen
  2. Im Profilordner (about:support → „Profilordner öffnen”) einen Ordner chrome anlegen
  3. Darin userChrome.css erstellen
  4. Firefox neu starten

Der entscheidende Nachteil steht nicht im Setup, sondern in der Zukunft: userChrome.css greift auf interne Firefox-Selektoren zu, die Mozilla ohne Vorwarnung ändern darf. Ein Firefox-Update kann eine Anpassung jederzeit wirkungslos machen oder die Oberfläche zerlegen. Ein Theme kann das nicht — es benutzt eine dokumentierte, stabile Schnittstelle.

Die Faustregel: Willst du Farben, nimm ein Theme. Willst du das Layout ändern — Tableiste unten, Elemente ausblenden, kompaktere Abstände — brauchst du userChrome.css und musst mit dem Wartungsaufwand leben.

Zwei Panele: links eine geschlossene Farbfläche, rechts ein offener Bauplan mit Warnsymbol

Ohne Code: der AMO Theme Generator und Firefox Color

Nicht jeder will JSON schreiben. Mozilla bietet zwei grafische Wege:

  • AMO Theme Generator — im Entwicklerbereich von addons.mozilla.org. Farben und Bild auswählen, direkt veröffentlichen. Praktischer Nebeneffekt laut Mozilla-Doku: Wer sein Theme über den Generator aktualisiert, muss die Versionsnummer nicht manuell hochzählen.
  • Firefox Color — Farben live im Browser ausprobieren, Ergebnis als teilbare URL oder als fertiges Add-on-Paket exportieren.

Beide erzeugen am Ende dieselbe manifest.json. Der Unterschied ist nur die Bedienung — und die Grenze: Über die Oberfläche erreicht man nicht alle 42 Farbschlüssel und keine Mehrfachbilder. Für ein Theme, das wirklich jeden Bereich abdeckt, führt der Weg über die Datei.

Veröffentlichen auf AMO

Wenn das Theme dauerhaft installiert oder geteilt werden soll, muss es signiert werden. Mozilla ist da eindeutig:

„Static themes are built using a simple collection of files that are packaged and signed by addons.mozilla.org before they can be distributed and installed on Firefox.” — extensionworkshop.com, Static themes

Der Ablauf:

  1. Paket bauen — den Ordnerinhalt zippen. Wichtig: die manifest.json muss auf oberster Ebene im Archiv liegen, nicht in einem Unterordner.
  2. Vorher prüfenaddons-linter dein-theme.zip. Spart eine Ablehnungsrunde.
  3. Hochladen — über den Developer Hub.
  4. Verteilungsart wählen — öffentlich auf AMO gelistet, oder „self-distribution”: Man bekommt eine signierte Datei zurück und verteilt sie selbst.
  5. Warten — Themes werden geprüft.

Für Aktualisierungen gilt: Bei einem hochgeladenen Paket muss die version höher sein als die bisherige, sonst lehnt AMO ab.

Abstrakte Veröffentlichungs-Pipeline mit Prüfstation

Was abgelehnt wird

Die Add-on-Richtlinien nennen für Themes zwei konkrete Ausschlussgründe:

„Themes that feature low-quality, stretched, or blank images, as well as those themes in which the header image is misaligned, are not permitted.”

„Duplicate themes are not permitted.”

extensionworkshop.com, Add-on Policies, Stand 30.04.2026

Der zweite Punkt ist bei 514.644 vorhandenen Themes und einer Nutzungsquote von 31 % der Grund, warum ein weiteres „dunkles Theme mit Blauton” wenig Sinn ergibt. Es existiert bereits, vermutlich mehrfach.

Häufige Fehler und ihre Ursachen

SymptomWahrscheinliche Ursache
Theme installiert, aber nichts ändert sichFarbwert ungültig — CSS verwirft ihn stumm
Einzelner Bereich bleibt StandardfarbeTippfehler im Schlüsselnamen (Linter meldet das nicht!)
Theme weg nach NeustartÜber about:debugging temporär geladen
Text unlesbar auf dem Header-Bildtab_background_text nicht zum Bild passend gesetzt
Menüs beißen sich mit dem Restpopup, popup_text, popup_border vergessen
Upload wird abgelehntversion nicht erhöht, oder ZIP mit Unterordner
Linter meldet Fehler bei accentcolorVeraltet — durch frame ersetzen
Erweiterung + Theme funktioniert nichtNicht erlaubt — dynamisches Theme nötig

Der zweite Punkt in dieser Tabelle ist der teuerste, weil er nirgends gemeldet wird. Unser Rat aus dem Test: Nach jeder Änderung das Theme über about:debugging laden und jeden Bereich einmal ansehen — Tab, Adressleiste, geöffnetes Menü, neuer Tab, Seitenleiste. Fünf Blicke, die eine Stunde Suche sparen.

Fazit: klein, sicher, unterschätzt

Firefox Themes sind das seltene Beispiel einer Anpassungsschnittstelle, die genau so einfach ist, wie sie aussieht. Eine Datei, kein Code, keine Berechtigungen, 528 Byte. Wer schon einmal ein CSS-Framework konfiguriert hat, ist damit in zehn Minuten fertig.

Die drei Dinge, die wir beim Messen gelernt haben und die man sonst nirgends liest:

  1. Die halbe Million Themes ist keine Auswahl, sondern ein Ablageort. 69 % haben null Nutzer, und genau 29 sind von Mozilla empfohlen. Sortiere nach Nutzern, nicht nach Neuheit.
  2. Ein Theme ist meistens kein Bild. 37 der 50 meistgenutzten Themes kommen komplett ohne Grafik aus, der Median liegt bei 9,5 KB.
  3. Der grüne Linter-Lauf ist eine Aussage über die Struktur, nicht über das Ergebnis. Ungültige Farben und Tippfehler in Schlüsselnamen passieren ihn lautlos, weil Firefox Farbwerte ungeprüft an CSS weiterreicht.

Und die Abgrenzung, die am meisten Zeit spart: Farben → Theme. Layout → userChrome.css. Wer das eine mit dem anderen versucht, kämpft gegen das falsche Werkzeug.

Wenn dich interessiert, wie Firefox im Vergleich zu anderen quelloffenen Browsern dasteht, lies unseren Deep-Dive zu Open-Source-Webbrowsern. Und wer mit dem Gedanken spielt, mehr lokal statt in der Cloud laufen zu lassen, findet in lokale KI einen praxisnahen Einstieg.

Häufige Fragen zu Firefox Themes

Was sind Firefox Themes?

Firefox Themes sind WebExtensions ohne Programmcode, die das Aussehen der Browseroberfläche verändern. Sie bestehen aus einer manifest.json mit einem theme-Schlüssel, der Farben für bis zu 42 vordefinierte Bereiche und optional Bilder festlegt. Da sie keinen Code enthalten und keine Berechtigungen anfordern, können sie keine Daten lesen oder Netzwerkanfragen stellen.

Wie viele Firefox Themes gibt es?

Auf addons.mozilla.org lagen am 31.08.2026 genau 514.644 statische Themes — mehr als fünfmal so viele wie Erweiterungen (99.578). Diese Zahl ist allerdings irreführend: In unserer Stichprobe hatten 69 % der Themes null tägliche Nutzer, und nur 29 Themes tragen die Auszeichnung „Empfohlen”.

Wie erstelle ich ein eigenes Firefox Theme?

Du legst einen Ordner an und schreibst darin eine manifest.json mit manifest_version: 2, einem Namen, einer Version und einem theme-Objekt mit Farbwerten. Mehr braucht es nicht — kein Build-Prozess, kein JavaScript. Zum Testen lädst du die Datei über about:debugging#/runtime/this-firefox als temporäres Add-on. Unser fertiges Beispiel-Theme ist gepackt 528 Byte groß.

Brauche ich ein Bild für ein Firefox Theme?

Nein. Von den 50 meistgenutzten Themes auf AMO nutzen 37 (74 %) überhaupt kein Bild und definieren ausschließlich Farben. Der Median der Paketgröße liegt bei 9.487 Byte, und 38 der 50 Pakete sind kleiner als 10 KB.

Was ist der Unterschied zwischen einem Theme und userChrome.css?

Ein Theme ändert ausschließlich Farben und Bilder vordefinierter Oberflächenbereiche über eine dokumentierte, stabile Schnittstelle. userChrome.css ist ein Benutzer-Stylesheet, mit dem beliebiges CSS auf die gesamte Firefox-Oberfläche angewendet werden kann — inklusive Layoutänderungen. Dafür ist es standardmäßig deaktiviert (toolkit.legacyUserProfileCustomizations.stylesheets steht auf false) und bricht regelmäßig bei Firefox-Updates, weil es interne Selektoren verwendet.

Warum sieht mein Theme nicht so aus wie erwartet, obwohl der Linter keinen Fehler meldet?

Weil addons-linter Farbwerte nicht prüft. Wir haben getestet: "toolbar": "dark-blue", "#GGGGGG" und "#12345" passieren den Linter mit null Fehlern und null Warnungen. Firefox reicht den Wert ungeprüft an CSS weiter — ist er ungültig, verwirft CSS die Deklaration stumm und der Bereich behält seine Standardfarbe. Dasselbe gilt für Tippfehler in Schlüsselnamen wie tab_backgrund_text. Die einzige verlässliche Prüfung ist, das Theme temporär zu laden und hinzusehen.

Wie mache ich ein Theme, das sich an den Dark Mode anpasst?

Du definierst zwei Farbsätze: theme für den hellen und dark_theme für den dunklen Systemmodus. Firefox schaltet automatisch um. Zusätzlich kannst du über "properties": { "color_scheme": "dark" } festlegen, wie Firefox seine eigenen Elemente zeichnet. Nur 9 der 50 meistgenutzten Themes nutzen den dark_theme-Block.

Muss ich mein Theme bei Mozilla veröffentlichen?

Zum Ausprobieren nicht — über about:debugging lässt es sich temporär laden, verschwindet aber beim Neustart. Für eine dauerhafte Installation muss das Theme von addons.mozilla.org signiert werden. Du kannst dabei zwischen öffentlicher Listung auf AMO und „self-distribution” wählen, bei der du die signierte Datei selbst verteilst.

Kann ich ein Theme und eine Erweiterung in ein Paket packen?

Nein. Mozillas Dokumentation schließt das aus, und der Linter erzwingt es: Ein browser_action-Schlüssel neben theme führt zum harten Fehler "/" must NOT have additional properties. Wer beides braucht, baut ein dynamisches Theme — eine normale Erweiterung mit der theme-Berechtigung, die die Darstellung zur Laufzeit setzt.

Welche Farbschlüssel sind veraltet?

accentcolor (ersetzt durch frame) und textcolor (ersetzt durch tab_background_text) werden seit Firefox 70 ignoriert, ebenso das Bildfeld headerURL (ersetzt durch theme_frame). toolbar_field_separator wird seit Firefox 89 ignoriert. Der Linter meldet die Verwendung von accentcolor und textcolor heute als Fehler, nicht nur als Warnung.