Skip to main content

Free CSS Box Shadow Generator: Multi-Layer, Inset & Outset

Compose realistic multi-layer box shadows with per-layer offset, blur, spread, color, and inset control. Live preview on a real card, Tailwind v4 + Material + neumorphic presets, instant CSS / SCSS export. 100% client-side.

Live Preview

Shadow Layers (1)

Layer 1

Presets

Up to 8 Stacked Layers

Real elevations are not one shadow — Material and Tailwind use 2–3 layered shadows at different blur radii for depth. Add up to 8 layers with independent properties.

Full Property Control

Offset-x, offset-y, blur, spread, color, alpha, inset — every CSS box-shadow property with a labelled slider plus a numeric input. No surprises, no math in your head.

Multi-Format Export

Copy as raw CSS value, full declaration, Tailwind v4 arbitrary value, or SCSS variable. Tailwind output is escape-safe (commas + spaces handled correctly).

100% Client-Side

No upload, no save, no analytics. Your brand elevation tokens and pre-launch design experiments stay entirely on your device.

The Multi-Layer Box Shadow Generator for Realistic Elevation

A flat, single-layer drop shadow is the giveaway of an unrefined UI. Real elevation — the kind you see in Material Design, Tailwind's shadow scale, and modern glass-morphism — uses two or three layered shadows at different blur radii to mimic how light actually wraps around an object. Our Free Online CSS Box Shadow Generator is built for that workflow: up to eight independent layers, each with its own offset, blur, spread, color, alpha, and inset state, plus a live preview on a real card surface so you see exactly what ships.

Use this generator with our CSS Gradient Generator (for background fills under your shadowed cards), the Color Palette Generator (to source brand-aligned shadow colors), the Color Contrast Checker (to verify card content over shadowed backgrounds), and the CSS Minifier to ship clean tokens.

CSS Box Shadow Property Reference

ValueWhat It DoesTypical Range
insetPaint inside the box instead of outsideUse for pressed buttons, inner highlights
offset-xHorizontal displacement−10 to 10 px (often 0 for natural light)
offset-yVertical displacement1 to 20 px (positive = below the box)
blur-radiusSoftness of the shadow edge2 to 50 px (higher = softer)
spread-radiusGrow or shrink the shadow before blurring−8 to 4 px (negative = tighter contact)
colorShadow color (use rgba for alpha)Black at 5–25% alpha is the safe default

The Three-Layer Recipe Real Design Systems Use

1. Contact Shadow

Small offset (1–2px), tight blur (2–4px), negative spread (−1px). Creates the "sitting on the surface" feel.

2. Ambient Shadow

Medium offset (4–10px), moderate blur (6–15px), modest spread (0–-3px). Provides the broader "floating just above" depth.

3. Atmospheric (optional)

Large offset (10–20px), large blur (20–40px), very low alpha. Adds a sense of distance from the page surface — use for hero cards.

Common Shadow Pitfalls (and How We Fix Them)

1. Over-Dark Shadows on Light UI

Black at 50% alpha screams "noughties web design." Modern UI uses black at 5–15% alpha for most elevations. Less is more.

2. Black Shadow on Dark Mode

Black shadows disappear into dark backgrounds. Use a brand-color glow at low alpha, or an inset white highlight to indicate elevation.

3. No Negative Spread

Without negative spread, large-blur shadows feel disconnected from the box. A −4 to −8 spread pulls the shadow tight to the box for that elevation feel.

4. Same Shadow at Every Elevation

A modal should not have the same shadow as a button. Define an explicit elevation scale (sm/md/lg/xl) and apply consistently across components.

Free CSS Box Shadow Generator: Multi-Layer, Inset, Realistic | Toolk