Neumorphism Generator
Create soft UI neumorphic box-shadow effects — configure shape, blur, distance, and intensity with live CSS preview.
Last updated: March 25, 2026
Find this tool useful? Support the project to keep it free!
Buy me a coffeeWhat is Neumorphism Generator?
Neumorphism (also called "Soft UI") is a UI design language that emerged around 2020, creating the visual illusion of elements that appear to be sculptured from the background surface — as if elements are plastic extrusions pushing out from or sinking into the background. Unlike flat design (elements float above with drop shadows) or skeumorphism (photorealistic textures), neumorphism uses two box-shadows on the same background color — a lighter shadow in one direction and a darker shadow in the opposite direction — to simulate a single curved light source illuminating a soft, unified surface.
The CSS implementation uses: box-shadow: [positive offset] [blur] [lighter color], [negative offset] [blur] [darker color]. For a light source coming from the top-left, a 6px 6px blur with a lighter color (lighter than background) on the bottom-right and a darker color on the top-left creates the extruded "raised" effect. Reversing the shadow positions creates the "inset" pressed state. The effect only works when the element color exactly matches the background — hence why neumorphism requires careful color pairing.
How to Use Neumorphism Generator
Choose a background color for both the element and page background (muted grays and pastels work best)
Select the shape variant: Flat (default raised), Concave (dish-shaped), Convex (dome-shaped), or Pressed (inset)
Adjust the shadow Distance (how far the shadows offset from the element center)
Set the Blur radius (how soft the shadows appear — higher values create softer, more subtle effects)
Configure Intensity (how strong the shadow contrast is) then click "Copy CSS" for the complete box-shadow declaration
Common Use Cases
- Creating a soft-UI card component for a music player or smart home dashboard
- Designing a toggle switch with a pressed/released state using concave vs convex variants
- Building a calculator interface with tactile-looking button elements
- Designing a smartwatch or IoT device UI mockup with physical depth
- Creating a settings panel with input fields that appear sunken into the background
- Styling a sidebar navigation with depth cues that make it feel grounded
- Designing the pressed state of a button to give tactile feedback visual anchor
- Creating a minimal card layout for a portfolio with subtle depth without harsh drop shadows
Example Input and Output
CSS for a raised neumorphic card on a gray background:
Background color: #e0e0e0 (light gray)
Shape: Flat (raised)
Distance: 6px
Blur: 12px
Intensity: Medium/* Neumorphic Card — Raised */
.card {
background: #e0e0e0;
border-radius: 16px;
box-shadow:
6px 6px 12px #bebebe, /* dark shadow — bottom-right */
-6px -6px 12px #ffffff; /* light shadow — top-left */
}
/* Pressed state (for interactive elements) */
.card:active {
box-shadow:
inset 6px 6px 12px #bebebe,
inset -6px -6px 12px #ffffff;
}Client-Side Processing
All CSS generation and live preview happen in your browser. No configuration data is sent to our servers.
Dark Mode Neumorphism
Dark neumorphism uses the same principle on dark backgrounds: background: #2d2d2d; box-shadow: 6px 6px 12px #1e1e1e, -6px -6px 12px #3c3c3c. The dark shadow becomes near-black and the light shadow becomes a slightly lighter dark. Dark neumorphism is actually more readable than light neumorphism for many users because the shadow contrast ratio is more achievable on dark surfaces.
Performance Note
Box-shadows with large blur values can trigger GPU repaints on scroll or animation. Avoid animating box-shadow directly — it forces layer composition. Instead, animate opacity on a ::before pseudo-element overlay, or precompute two shadow states and transition between them for smoother performance.
Frequently Asked Questions
Why must the element color match the background?
Is neumorphism accessible?
What background colors work best for neumorphism?
How do I create the "pressed" state for a button?
What is the difference between flat, concave, and convex shapes?
Should I use neumorphism for production UI?
How This Tool Works
The tool calculates shadow colors by lightening and darkening the selected background color by a configurable percentage. Using HSL color space: the light shadow increases lightness by the intensity %, and the dark shadow decreases lightness by the same %. Offset values (x/y) are set from the Distance slider. Blur value is set from the Blur slider. For concave and convex shapes, a CSS gradient is added to the background property alongside the box-shadows. The final CSS declarations are assembled and displayed for copy.
Technical Stack