build CSS box shadows visually. adjust offset, blur, spread, color, and inset. stack up to 4 shadows.
box-shadow: 5px 5px 10px 0px #00000040;
Build a CSS box-shadow visually — adjust offset, blur, spread, color, and stack multiple shadows for complex effects. Live preview, ready-to-paste CSS.
box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
↑ ↑ ↑ ↑ ↑
X Y blur spread colorModern UI design favors layered shadows that simulate ambient and directional light separately:
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.06),
0 4px 12px rgba(0, 0, 0, 0.08);The first shadow is tight and contained — simulating ambient occlusion at the contact point. The second is soft and broad — simulating ambient light scattering. Together they read as more natural than any single shadow at the same total visual weight.
Adding inset before the values renders the shadow inside the element rather than outside, creating a pressed-in appearance. Useful for input fields that should look recessed, or for buttons in a pressed state.
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);Box-shadows are rendered by the browser's compositor, and very large blur values on large elements can cost real frame time on lower-end devices. If you see frame drops during scrolling or animations, oversized shadows on hero elements are a common culprit.
Practical guidance: keep blur under 30px for elements that animate or appear inside scroll containers. Use larger shadows only on static decorative elements.
Stacking shadows for depth
Build a CSS box-shadow visually — adjust offset, blur, spread, color, and stack multiple shadows for complex effects. Live preview, ready-to-paste CSS.
box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.1);
↑ ↑ ↑ ↑ ↑
X Y blur spread colorModern UI design favors layered shadows that simulate ambient and directional light separately:
box-shadow:
0 1px 2px rgba(0, 0, 0, 0.06),
0 4px 12px rgba(0, 0, 0, 0.08);The first shadow is tight and contained — simulating ambient occlusion at the contact point. The second is soft and broad — simulating ambient light scattering. Together they read as more natural than any single shadow at the same total visual weight.
Adding inset before the values renders the shadow inside the element rather than outside, creating a pressed-in appearance. Useful for input fields that should look recessed, or for buttons in a pressed state.
box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.1);Box-shadows are rendered by the browser's compositor, and very large blur values on large elements can cost real frame time on lower-end devices. If you see frame drops during scrolling or animations, oversized shadows on hero elements are a common culprit.
Practical guidance: keep blur under 30px for elements that animate or appear inside scroll containers. Use larger shadows only on static decorative elements.
Stacking shadows for depth
PDF utilities, image tools, developer helpers — all free, no signup.
Convert multiple images into a single PDF document.
Split a PDF into individual pages or custom ranges.
Pick colors, generate harmonious palettes, and export as HEX, RGB, or HSL.
Generate strong, random passwords with customizable length and character sets.
Count words, characters, sentences, paragraphs, and reading time in real-time.
Generate lorem ipsum placeholder text by paragraphs, sentences, or words.