Stack any number of text-shadow layers to build effects most generators can’t reach — neon (4-layer glass-tube glow), retro (3-color chromatic offset), 3D (multiple stacked offsets fading to a soft drop), fire (cool-to-hot vertical gradient via blurred layers), outline (4 directional shadows simulating a stroke). 13 curated presets cover the convergent recipes.
Per-layer controls — every shadow has its own x / y / blur / color, with up / down reorder buttons. Edit the text, font (sans / display / mono / serif), size (32-200px), weight (100-900), and color. 5 background surfaces let you verify the shadow on the real backdrop it will ship on.
Permalink: every adjustment encodes into the URL. No login, no watermark, no paywall. Free and MIT-licensed.
?
Why use text-shadow?
✨
Hierarchy without bigger type
A subtle drop-shadow lifts headlines off busy backgrounds, photos, or gradients without resorting to a heavier weight or larger font-size — the cheapest way to fix readability problems.
🌈
Neon, outline, retro — in plain CSS
Stack multiple shadows comma-separated to build neon glows, hand-drawn outlines, 80s retro stripes, or layered 3D depth. No images, no SVG, just one CSS property.
🎯
Better legibility on photos
A thin dark text-shadow turns hero captions and image overlays from "barely readable" to "always readable" — works at every size and adapts to any background colour.
🪶
Lightweight & animatable
Unlike background images or stroke layers, text-shadow is a single CSS value — animatable, themeable, and fully controllable from a CSS variable. Cheap to render, easy to maintain.
▶
How to use this generator
01
Pick a preset
Soft, glow, neon, retro, hardLong, emboss, outline, 3d, fire, pastel, letterpress — each preset is a starting layer stack you can refine with the sliders below.
02
Edit a layer
Click any layer in the list to make it active. Drag the X / Y / Blur sliders, or paste any CSS colour into the field — hex, rgb, hsl, even named colours all work.
03
Stack more layers
+ add layer to append a new shadow. Reorder with ↑ / ↓ — later layers draw on top of earlier ones, which is exactly how neon glows and 3D effects build up depth.
04
Tune text & background
Change the sample text, font size, weight, colour, and background. Effects that read perfectly on dark mode often need tweaks on light backgrounds — preview both before shipping.
Shadows draw bottom-up — the FIRST value in the list is rendered on TOP. Put your sharpest, brightest layer first; broader blurred glows last so they sit underneath.
02
Use semi-transparent colours
rgba() blends naturally with backgrounds. Solid colours can clash on light backgrounds — start with rgba(0,0,0,0.25) for a 25% drop and adjust from there.
03
Outlines are faked, not native
CSS has no real text outline (the proper -webkit-text-stroke property only paints a single uniform stroke). Multi-direction shadows are the cross-browser way to get a clean 1–2px outline.
04
Mind performance on long copy
text-shadow is GPU-friendly, but rendering 4+ blurred layers across paragraphs of text can cost. Reserve heavy stacks for headings; use one cheap layer (or none) on body copy.