Skip to main content
7BBusyBoss

CSS Box Shadow Generator — Visual Builder

Generate CSS box-shadow code with blur, spread, offset, and inset controls. Learn the difference between blur and spread, and how to layer realistic depth.

No limitsZero data leaksSuper fast
0px
8px
20px
0px
40%
box-shadow: 0px 8px 20px 0px rgba(59, 130, 246, 0.40);

You're on 7BusyBoss — 300+ free tools that run instantly in your browser. No signup, nothing uploaded.

Browse all Design Generators
About this tool

Blur and spread are not the same

Most people conflate blur and spread, but they do very different things. Spread radius (–50px to +50px) grows or shrinks the shadow's shape before any blurring happens. A negative spread (say, –8px) with a large blur radius (40–60px) creates a tight, dark contact shadow that grounds your element—the single most useful shadow combination to know. Blur radius (0–100px on this tool) softens that already-shaped shadow. Together they produce believable depth.

Real elevation comes from stacking shadows

A single shadow, no matter how large, looks flat. Real depth is two or three stacked shadows: a tight dark one for contact, a wider soft one for ambient light, separated by commas in one CSS declaration. This tool emits one shadow at a time, so for elevation you'll copy the output, then manually add more comma-separated shadows by editing the CSS directly. For example: box-shadow: inset 0 1px 2px rgba(0,0,0,0.3), 0 2px 4px rgba(0,0,0,0.2), 0 8px 16px rgba(0,0,0,0.15); Designing these stacks is where the real control lives.

Inset draws the shadow inside the border box

The inset toggle inverts the entire shadow, drawing it inside the element's border instead of outside. This is how you make pressed buttons (dark shadow on top, like a dent) and inset wells or input fields that read as recessed. Without inset, you get a drop shadow; with it, you get depth that reads as pressed or inset.

Performance: large blur is expensive to repaint

Box-shadow with a large blur radius is computationally expensive to repaint, especially on :hover or during scroll. If you're animating shadows or applying them to hundreds of elements in a long scrolling list, use transform: translateY() or swap pre-rendered shadow classes instead—much cheaper for animation. This tool does not animate; just remember the limit when you do.

A shadow and a border radius have to agree, because the shadow traces the rounded edge rather than the rectangle. Set the corners with the border radius generator.

How to use the CSS Box Shadow Generator

Takes about a minute. No signup, no download, your data stays in your browser.

  1. 1
    Open the tool. Scroll up to the CSS Box Shadow Generator above — it loads instantly in your browser, no install needed.
  2. 2
    Enter your values. The fields come pre-filled with realistic defaults so you can see how it works — replace them with your own numbers.
  3. 3
    Read the result. The output updates instantly. Copy or share it — nothing is uploaded to a server, everything stays on your device.

Frequently asked questions

Common questions about the CSS Box Shadow Generator.

What is the difference between blur and spread?

Spread radius grows or shrinks the shadow silhouette before any blurring; blur softens the already-shaped shadow edge. A negative spread with a large blur is how you get a tight contact shadow. If you only adjust blur, the shadow stays the same size but gets softer; if you only adjust spread, the shadow changes size but stays sharp.

How do I make a realistic shadow with depth?

Use negative spread (–8px to –12px) with medium-to-large blur (30–50px) for a contact shadow, then manually stack a second looser shadow (larger spread, larger blur) for ambient light. This tool emits one shadow, so copy the CSS and paste additional comma-separated shadows to build layers. Natural depth always needs at least two shadows.

What does the inset toggle do?

Inset reverses the shadow direction, drawing it inside the element border box instead of outside. Use it for pressed buttons, recessed wells, inset input fields, or any element that needs to read as sunken or depressed. It is the visual opposite of a drop shadow.

Is box-shadow bad for performance?

Large blur radius box-shadows are expensive to repaint repeatedly. Avoid animating box-shadow on hover or scroll—use transform or class swaps instead. A static shadow is fine. If your design requires animated depth, swap to pre-rendered shadow states or use cheaper animations like transform: scale() to avoid frame drops.

Community rating

Discussion (0)

No comments yet. Start the discussion.