UseToolSuite UseToolSuite

Neumorphism Generator

Instantly generate CSS code for soft UI (Neumorphism) designs. Dial in your distance, intensity, and blur to create perfect raised or inset elements.

Raised or inset soft-UI shadows Live preview Copy-ready CSS Runs entirely in your browser

#E0E5EC
200px
30px
10px
0.15
20px

CSS Output

Copied to clipboard!

What is Neumorphism?

Neumorphism (or Soft UI) is a design trend that blends flat design with skeuomorphism. It creates elements that appear to be extruded from or pressed into the background itself, rather than floating on top of it. This is achieved by using exactly the same background color for the element and its parent, paired with two precisely calculated box-shadows (one light, one dark).

How the effect is built

Neumorphism (“new skeuomorphism,” also called soft UI) simulates a shape gently raised from or pressed into a surface using two box-shadows at once — a light highlight on the side facing the light source and a dark shadow on the opposite side:

box-shadow: 20px 20px 60px #bebebe,    /* dark, lower-right */
           -20px -20px 60px #ffffff;   /* light, upper-left */

Add the inset keyword to both and the element looks pressed in (concave) instead of raised (convex). This generator derives the two shadow colors from your base color automatically — typically nudging the base lightness up ~15% for the highlight and down ~15% for the shadow — so the pair stays harmonious for any background.

Convex vs concave

StyleShadowsReads as
Raised (convex)outer dual shadowA button rising out of the surface
Pressed (inset)inset dual shadowA recessed well / active state

A natural pattern is to use the raised style for a button at rest and switch to inset on press — but, per the accessibility note, don’t make that shadow change the only indication of state.

Where it works — and where it doesn’t

Neumorphism shines on decorative, low-stakes surfaces: a settings panel’s card, a music-player widget, a dribbble-style concept. It struggles for primary, must-be-usable controls because the soft edges undercut clarity. The honest framing: it’s a beautiful aesthetic with a built-in accessibility tax, so reserve it for places where the look matters more than maximal legibility, and reinforce any interactive element with the borders, contrast, and focus states described above.

Rendering tips

Keep the X/Y offsets as whole integers — fractional offsets (e.g. 5.5px) invite sub-pixel anti-aliasing that muddies the shadows, so the generator rounds them. And remember the same-color requirement: the element’s background-color must match its parent, or the illusion collapses. Dual large-blur shadows are also relatively expensive to paint, so animate transform/opacity rather than the box-shadow itself if a neumorphic element needs motion.

Neumorphism Generator lets you design visually and copy production-ready CSS straight into your project. It's one of the free Color & CSS Tools on UseToolSuite. Below you'll find a step-by-step guide, answers to common questions, and related tools.

Last updated

How to Use This Tool

  1. 1

    Set the background colour

    Enter your surface colour — the tool derives a matching light highlight and dark shadow from it.

  2. 2

    Adjust distance and blur

    Change the shadow distance, blur, and light direction to make the element look raised or pressed in.

  3. 3

    Copy the CSS

    Grab the two-part box-shadow rule and apply it to your element.

How helpful was this tool?

Click to rate

Embed this tool on your site

Paste this snippet into any HTML page or blog post to embed a live, fully working copy of Neumorphism Generator. Free for any use.

Key Concepts

Essential terms and definitions related to Neumorphism Generator.

Neumorphism (soft UI)

A style where elements look extruded from or pressed into the background using a soft light highlight and a soft dark shadow, instead of borders.

Dual box-shadow

Two shadows on one element — a light one and a dark one on opposite sides — which together create the raised or inset look.

inset shadow

A shadow drawn inside the element's edge rather than outside, used to make it look pressed in rather than popping out.

Frequently Asked Questions

How are the two shadow colours chosen?

From your surface colour: the tool lightens it for the highlight in the top-left and darkens it for the shadow in the bottom-right. That pairing is what makes the element look gently raised out of the background.

Is neumorphism accessible?

Often not, so use it carefully. The style marks edges with faint shadows instead of clear borders or colour, and low-vision users — or anyone on a low-contrast screen — can struggle to tell buttons from the background. Add a real border or stronger contrast for interactive elements.

Can I animate these shadows?

Avoid animating box-shadow directly — it is expensive and can stutter. To make an element react to a press, animate a quick scale or swap to a pre-defined inset version instead.

How do I use neumorphism without failing accessibility?

Neumorphism's whole look comes from low-contrast soft shadows replacing borders and fills — which is exactly why it fails WCAG by default: low-vision users and cheap displays can't perceive the subtle edges, so buttons and inputs look like flat, undifferentiated surface. The responsible approach is to treat the soft-shadow style as decoration on top of an accessible base, not as the only signal. Specifically: give interactive elements a real, visible border or a sufficiently contrasting fill (≥3:1 against the surface for UI components, per WCAG 1.4.11); ensure a clearly visible focus indicator for keyboard users; don't rely on the raised/inset shadow ALONE to communicate state (add color, text, or iconography for pressed/active/disabled); and keep text contrast at 4.5:1 regardless of the soft aesthetic. Used for purely decorative, non-essential surfaces it's fine; used for primary controls it needs these reinforcements.

Why must the neumorphic element be the same color as its background?

The entire illusion is that the element is extruded FROM (or pressed INTO) the surface it sits on — like a button molded out of the same material as the panel. That only reads if the element and its parent share the exact same background color: the light highlight on one edge and the dark shadow on the opposite edge then look like a single continuous surface catching light. If the element has a different background (or worse, a transparent one), the shadows have nothing to blend into, the 'same material' cue breaks, and the dual shadows just look like a generic drop shadow or bleed inward awkwardly. So neumorphism requires the component's background-color to match its container's — it's a hard requirement of the technique, not a style preference.

Troubleshooting & Technical Tips

Common errors developers encounter and how to resolve them.

The effect looks flat or invisible

The element must sit on the same colour it was built for. If its background is transparent or a different colour, the highlight and shadow have nothing to play against. Match the element and its container to the surface colour.

Shadows look muddy or smeared

Fractional pixel offsets can render blurry. Keep the shadow distances to whole numbers for crisp edges.

Related Tools