CSS Box Shadow Generator
Adjust the offset, blur, spread, and color to design a box-shadow, layer several together, and copy the CSS. Everything previews live in your browser.
1. Shadow layers
Local2. Preview & CSS
CSSAbout CSS Box Shadow Generator
The CSS Box Shadow Generator lets you adjust offset, blur, spread, and colour, layer several shadows together, and copy the resulting CSS, all previewed live. It is for developers crafting depth and elevation effects.
Box-shadow values are unintuitive to guess, and layered shadows compound the difficulty. Adjusting them against a live preview makes the effect predictable, and the CSS is ready to paste.
Step by step
- Set the horizontal and vertical offset, blur, and spread.
- Choose the shadow colour and opacity.
- Add more layers to build a richer shadow if you want.
- Watch the preview update with each change.
- Copy the generated box-shadow CSS.
What it offers
- Offset, blur, spread, and colour controls
- Multiple layered shadows
- Live shadow preview
- Copy-ready box-shadow CSS
Where it helps
- Adding subtle elevation to cards and panels
- Building a layered shadow for a realistic effect
- Matching a shadow to a design specification
- Creating inset shadows for pressed states
Tips for best results
- Favour soft, low-opacity shadows for a natural sense of elevation.
- Keep shadow direction consistent across a design, as if lit from one source.
- Use layered shadows sparingly, since each one adds rendering cost.
Pitfalls to watch for
- Using heavy, dark shadows that look harsh; soft, low-opacity shadows usually read better.
- Stacking so many layers that rendering becomes costly for little visual gain.
- Forgetting that a large spread can make a shadow look like a solid border.
Why people use it
Predictable results
See the shadow as you tune it.
Layering
Combine shadows for depth.
Copy-ready
Paste the CSS directly.
Private
Everything previews locally.
Common questions
This runs entirely in your browser
No file or text you enter here is uploaded. Encoding and decoding happen on your device using native browser APIs — close the tab and nothing remains on a server.