Text Shadow Generator
Create CSS text shadows with a visual editor and presets. Doubles as a CSS font shadow generator.
Geprüft von Aygul Dovletova · Zuletzt geprüft
text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
Den Textschatten-Generator bedienen
- Tippe deinen Vorschautext und wähle eine Schriftgröße. Echter Text enthüllt Probleme, die Lorem Ipsum verbirgt - dunne Striche, diakritische Zeichen, weiter Buchstabenabstand.
- Setze X-Offset, Y-Offset und Unschärfe. Offsets verschieben den Schatten; Unschärfe weicht ihn auf. Anders als bei
box-shadowhattext-shadowkeinen Spread-Wert - du kompensierst mit gestapelten Schatten. - Wähle Farbe plus Deckkraft. Vollständig deckende Schatten auf Text sehen fast nie gut aus. Beginne bei 30-50% Alpha.
- Stapele Schichten mit "+ Schatten hinzufügen". Mehrere durch Komma getrennte Schatten sind das Fundament für Neon, Konturen, Letterpress und retro 3D-Text.
- Lade eine Voreinstellung (Leuchten, Neon, 3D, Pragen) um ein ausgearbeitetes Beispiel zu sehen, und optimiere dann von dort aus.
- Kopiere CSS und fügen es in dein Stylesheet ein - die Ausgabe ist eine Standard-
text-shadow-Deklaration ohne Vendor-Präfixe.
Wie text-shadow gerendert wird
text-shadow ist in CSS Text Decoration Module Level 3 definiert und akzeptiert eine durch Komma getrennte Liste von Schattenwerten, jeder mit X-Offset, Y-Offset, optionalem Unschärferadius und Farbe. Entscheidend ist, dass es keinen spread-Parameter gibt - der Schatten folgt immer den tatsächlichen Glyphenkonturen, die vom Schrift-Renderer (HarfBuzz, CoreText oder DirectWrite je nach Betriebssystem) erzeugt werden. Das bedeutet, dass Ligaturen, kursive Neigungen, variable-font Weight-Achsen und Emoji alle korrekt schattiert werden.
Intern rendert der Browser den Text zweimal: einmal als Schattenfarbe mit dem Glyphenpfad-Offset und durch einen Gauss-Kernel verschmiert, einmal als Vordergrundfarbe darüber. Gestapelte Schatten stapeln sich von hinten nach vorne wie bei box-shadow, sodass der erste Schatten in der Liste ganz oben gerendert wird. Auf modernen Browsern läuft der Unschärfe-Durchlauf auf der GPU, aber sehr große Unschärferadien (über ~30px) verursachen immer noch merkliche Paint-Zeit - Chromes DevTools Performance-Panel zeigt die Auswirkung in den "Paint"- und "Composite Layers"-Zeilen. Bei einfachem Schlagschatten-Text gibt es keine Layout-Auswirkung, nur Paint.
Realistische Einsätze für text-shadow
- Heldentext über Fotos - ein subtiler dunkler Schatten rettet die Lesbarkeit, wenn du das Hintergrundbild nicht kontrollieren kannst.
- Neon-Reklame-Effekte, die 3-6 gleichfarbige Schatten mit wachsenden Unschärferadien stapeln.
- Retro 3D-Typografie mit einer engen Treppe aus 1px-Offsets:
1px 1px 0 #222, 2px 2px 0 #222, 3px 3px 0 #222. - Letterpress / Pragen - ein 1px weisser Schatten mit negativem Y-Offset lässt dunklen Text ins Papier eingeschnitzt aussehen.
- Fake-Konturen durch Stapeln von vier 1px-Schatten bei +X/-X/+Y/-Y für Browser, wo
-webkit-text-strokenicht ausreicht. - Fokus- und Hover-Betonung bei großen Überschrift-Links - ein wachsendes Leuchten signalisiert Interaktivitat ohne Layoutverschiebung.
Wissenswerte Fallstricke
- WCAG-Kontrast gilt weiterhin. Ein Schatten zählt nicht als Vordergrundkontrast - Screen Reader ignorieren ihn vollständig, und Benutzer mit schwacher Sehkraft nehmen ihn möglicherweise nicht wahr. Behält das zugrunde liegende Text-zu-Hintergrund-Verhältnis bei 4,5:1 (normal) oder 3:1 (groß), auch wenn der Schatten die Dinge "lesbar" aussehen lasst.
- Subpixel-Zittern bei dünnen Schriftarten. Halbe-Pixel-Offsets wie
0.5px 0.5pxbei hellen Schriftarten können auf Nicht-Retina-Displays unscharfes Doppeln erzeugen. Auf ganze Pixel für Body-Größen runden; Subpixel ist für Überschriften in Ordnung. - Unschärferadius muss nicht-negativ sein. Ein negativer Unschärfe ist ungültig und die gesamte Deklaration wird verworfen. Browser warnen dich nicht - der Text wird einfach ohne Schatten gerendert.
- Kein inset-Schlusselwort. Anders als
box-shadowhattext-shadowkeinen Innenschatten-Modus. "Eingedruckte" Texteffekte werden durch Kombinieren eines dunklen Schattens oben mit einem hellen Schatten unten oder viabackground-clip: textsimuliert. - Emoji werden überfärbt. Auf manchen Systemen werden mehrfarbige Emoji-Glyphen in der Schattenphase abgeflacht, was seltsam aussehen kann, wenn du Text schattierst, der Emoji enthält.
- Druckstylesheets. Viele Druckertreiber ignorieren
text-shadow- verlasse dich nie auf einen Schatten als bedeutungsvolle Unterscheidung in@media print.
Hintergrund zur Eigenschaft (auch: CSS-Schriftschatten-Generator)
text-shadow erschien zunächst in CSS2 (1998), wurde aber in CSS 2.1 entfernt, weil kein Browser es tatsächlich implementiert hatte; es kehrte in CSS3 zurück und wurde in Safari 1.1, Firefox 3.5, Chrome von Anfang an und IE10 implementiert. Die aktuelle Spezifikation befindet sich in CSS Text Decoration Module Level 3, das auch text-decoration-line, text-underline-offset und verwandte typografische Effekte abdeckt. Die Browserunterstützung ist laut caniuse.com jetzt 100% ohne Präfixe. Die Spezifikation ist bewusst einfach - zwei Offsets, eine Unschärfe, eine Farbe - weshalb komplexe Effekte durch Stapeln mehrerer Schatten statt durch zusätzliche Parameter erstellt werden. Für die Barrierefreiheit gilt: WCAG 2.2 Erfolgskriterium 1.4.11 "Nicht-Text-Kontrast" gilt nicht für dekorative Textschatten, aber 1.4.3 "Kontrast (Minimum)" regelt weiterhin das zugrunde liegende Text/Hintergrund-Paar.
text-shadow vs. Alternativen
text-shadow ist das richtige Werkzeug für Schlagschatten, Leuchten und gestapelte Offsets auf tatsächlichem Text. Für einen geschärften Umriss ist -webkit-text-stroke besser - es wird überall außer in altem Firefox unterstützt und erzeugt eine einphasige konturierte Glyphe. Für farbige Konturen plus Füll plus Schatten (häufig in Spielen und Titelkarten) schlägt SVG <text> mit stroke und filter CSS bei weitem, weil du die Strichausrichtung und das Miter-Verhalten kontrollieren kannst. Für animiertes Text-Beleuchtung bleiben CSS-Variablen, die in @keyframes interpoliert werden, der einfachste Weg - Houdini gibt dir Frame-genaue Kontrolle, fügt aber viel Komplexität hinzu. Wo CSS text-shadow verliert, sind hochwertige typografische Effekte wie variable Unschärfe pro Buchstaben oder entlang-der-Grundlinie Schattenverzerrung - diese gehören in Canvas 2D, WebGL oder einen Bildeditor. Und denke an den Entscheidungsbaum: Wenn der Schatten Teil des Markenlogos ist, exportiere ein SVG; wenn es sich um Überschriften-Styling auf jeder Seite handelt, ist text-shadow günstiger und wartbarer als jede Asset-Pipeline.
Häufig gestellte Fragen
Warum hat text-shadow keinen Spread-Parameter?
Weil <code>text-shadow</code> den genauen Glyphenkonturen folgt statt einem Rechteck, wurde ein "Spread" das Vergrößern oder Verkleinern jedes Pfades bedeuten - eine aufwendige und mehrdeutige Operation. Die CSS Text Decoration Level 3-Spezifikation behält die Syntax bewusst bei offset-x, offset-y, blur und color. Um einen Spread zu simulieren, stapele mehrere Schatten mit progressiv größeren Unschärferadien oder verwende <code>-webkit-text-stroke</code> für einen echten Kontureffekt.
Erfüllt ein text-shadow die WCAG-Kontrastanforderungen?
Nein. WCAG 2.2 Erfolgskriterium 1.4.3 berechnet den Kontrast zwischen der Vordergrundtextfarbe und der effektiven Hintergrundfarbe und ignoriert dekorative Schatten. Eine weiße Überschrift auf einem belebten Foto mit einem verschwommenen dunklen Schatten mag für sehende Benutzer lesbar aussehen, scheitert aber immer noch für Benutzer mit schwacher Sehkraft und bei der Bildschirmvergrößerung. Behandle den Schatten als Bonus-Polier-Schicht und erfülle immer das 4,5:1 (normal) oder 3:1 (groß) Verhältnis gegen die tatsächlichen Pixel hinter dem Text.
Wie erstelle ich einen Neon-Leuchteffekt?
Stapele drei bis fünf gleichfarbige Schatten mit wachsenden Unschärferadien und null Offset - etwa so: <code>text-shadow: 0 0 4px #0ff, 0 0 10px #0ff, 0 0 20px #0ff, 0 0 40px #0ff;</code>. Die inneren Schatten bauen Sättigung nahe an den Buchstabenformen auf; die äußeren liefern den diffusen Halo. Das Animieren des Alphas der äußeren Stopps mit <code>@keyframes</code> erzeugt einen flackernden Rohreneffekt. Kombiniere es mit einem dunklen Hintergrund, da Leuchteffekte auf hellen Hintergrunden verblassen.
Kann ich text-shadow anstelle von text-stroke für Konturen verwenden?
Du kannst einen Umriss annähernd erstellen, indem du vier 1px-Schatten an den vier Himmelsrichtungen stapelst: <code>1px 0 0 #000, -1px 0 0 #000, 0 1px 0 #000, 0 -1px 0 #000</code>. Es funktioniert, ist aber bei größeren Größen gezackt, weil die vier Proben die Diagonalen nicht gleichmäßig füllen. Für einen echten Umriss ist <code>-webkit-text-stroke: 1px black</code> besser - es wird in Chromium, Safari und Firefox 49+ trotz des geprefixten Namens unterstützt.
Werden meine eingegebenen Worter und Farben irgendwo gespeichert?
Nein. Der Vorschautext und alle Schattenparameter befinden sich im Preact-Komponentenzustand, der deinen Browser nie verlässt. Das generierte CSS wird durch ein lokales Template-Literal erzeugt und durch ein Inline-<code>style</code>-Attribut am Vorschauelement gerendert. Es gibt keinen API-Endpunkt, der den Text empfängt, kein Analytics-Ereignis mit deinen Worten.
Wie kostspielig ist text-shadow für die Performance?
Vernachlässigbar für eine oder zwei Schichten mit kleinen Unschärferadien - der Browser rasterisiert den Schatten einmal und kompositiert ihn günstig. Die Kosten steigen schnell mit großen Unschärfen (über ~30px), vielen gestapelten Schichten (sechs oder mehr) oder sehr langem Text mit auf jedes Zeichen angewandten Schatten. In Chrome DevTools Performance siehst du die Auswirkung in der "Paint"-Phase. Für Hot Paths wie animierte Hero-Überschriften rendere den schattigen Text vorab als SVG-Asset.
Warum sehen meine Letterpress-Effekte im Dark Mode falsch aus?
Das klassische Letterpress-Rezept - ein 1px weisser Schatten auf dunklem Text - kehrt seine Bedeutung um, wenn sich der Hintergrund ändert. Der Schatten befindet sich nun auf einem dunklen Hintergrund, wo er als helles Highlight, nicht als geprägte Rille, gelesen wird. Umschließe deine Schattenregel in <code>@media (prefers-color-scheme: dark)</code> und tausche die Schattenfarbe gegen etwas Dunkleres als den Hintergrund, oder einen leicht-helleren-als-Hintergrund-Ton für einen umgekehrten "eingeschnitzten" Look.
Kann text-shadow weich animiert werden?
Ja - jeder Komponentenwert (Offsets, Unschärfe und Farbe) ist animierbar und interpoliert sanft zwischen Keyframes. Browser animieren zwischen Schattenlisten Position für Position. Wenn die Listen unterschiedliche Längen haben, fügt der Browser transparente Schatten hinzu, was abrupte Sprunge erzeugen kann - halte die Schichtanzahl über Keyframes hinweg immer konstant für beste Ergebnisse.
Ist das dasselbe wie ein CSS-Schriftschatten-Generator?
Ja. "Schriftschatten" ist ein informeller Ausdruck für "auf Text angewandten Schatten", und in CSS wird jeder Schatten auf Text durch die <code>text-shadow</code>-Eigenschaft erzeugt - es gibt keine separate <code>font-shadow</code>-Regel. Alles, was ein "CSS-Schriftschatten- Generator" könnte (Schlagschatten, Leuchten, gestapelter 3D-Effekt, Pragen) ist nur eine oder mehrere durch Komma getrennte <code>text-shadow</code>-Schichten, was genau das ist, was dieses Werkzeug ausgibt. Wenn du auch das Shape um den Text (das Hintergrundrechteck) schatten möchtest, verwende stattdessen den Box-Shadow-Generator.
Mehr CSS & Design
Aspect Ratio Calculator
Calculate and visualize aspect ratios for any dimensions.
Open toolBlob Shape Generator
Generate organic blob shapes as SVG.
Open toolBorder Radius Generator
Create CSS border-radius with a visual corner editor.
Open toolCSS Box Shadow Generator
Create CSS box shadows with a visual editor. CSS box-shadow generator, shadow maker and box-shadow builder with live preview, multi-layer support and Material elevation presets.
Open toolColor Palette Generator
Generate harmonious color palettes, Tailwind-style 50-900 scales and design-system tokens from any base hex color. Also a hex color palette generator (Farbpalette Generator auf Deutsch).
Open toolColor Picker
Pick colors visually and get HEX, RGB, and HSL values.
Open tool