Neumorphism Generator
Create soft UI CSS in seconds. Pick flat, concave, convex, or pressed shapes, tune the background, distance, intensity, blur, radius, and color, preview the result live, and copy production ready CSS.
What This Neumorphism Generator Does
Neumorphism, sometimes called soft UI, makes an element look extruded from the surface behind it instead of floating above it. The trick is simple: the element shares the same background color as its parent, and two soft shadows do all the work. One shadow is lighter than the surface and one is darker, so the shape appears lit from one side and shaded from the other.
This generator derives both shadow colors from a single background color you pick, then gives you sliders for distance, intensity, blur, and border radius, plus four shape modes. The preview on the right updates in real time, and the generated CSS below it is ready to paste into a stylesheet. Everything runs in your browser, so no settings are uploaded anywhere.
How to Use It
- Pick the background color. The element and the preview canvas share this color, which is what makes the effect work. Soft grays such as
#e0e5ecare the classic choice. - Choose a shape: flat, concave, convex, or pressed. The flat shape is the standard raised look you see on soft UI cards and buttons.
- Tune the distance slider to control how far the shadows are offset, and intensity to control how much lighter and darker they are compared to the surface.
- Adjust the blur to keep the shadows soft, and the border radius to match the corner language of your design.
- Copy the generated CSS with the copy button, or download it as a file. Use Reset to return every control to its starting value.
The Four Shapes Explained
Flat keeps the surface a solid color and applies both shadows outside the element. This is the raised look that most people mean when they say neumorphism, and it suits cards, containers, and inactive buttons.
Concave keeps the outer shadows but adds a subtle background gradient that runs darker at the top-left and lighter at the bottom-right, so the surface reads as a shallow dish. Convex reverses that gradient, making the surface look like it bulges toward the light. Both are useful for giving large panels a sense of volume without adding borders.
Pressed flips the shadows to inset, so the element looks sunk into the surface. It is the natural active state for a soft UI button, and it pairs well with a raised resting state using the same settings.
Why Two Shadows Work
Standard box shadows only darken. Neumorphism needs both a highlight and a shade, so the generator emits a two part box-shadow with matching offsets: one light shadow toward the top-left and one dark shadow toward the bottom-right. The light shadow is the background color mixed toward white, and the dark shadow is the same color mixed toward black. The intensity slider controls how far each mix travels, which is why a higher intensity reads as deeper relief while a low intensity stays subtle.
Keep the ratio between distance and blur gentle. When the blur is much larger than the distance the shape floats, and when the distance is larger than the blur, the effect turns noisy. A distance of about half the blur radius is a good starting point, and the defaults here follow that rule.
A Note on Accessibility
Soft UI is intentionally low contrast, and low contrast shadows can make interactive controls hard to perceive. Use neumorphism for decoration and depth, but keep button labels clearly readable and consider a visible border or icon on controls that must stay obvious. You can check text and surface pairings with the Color Contrast Checker before shipping.
Related Tools
Neumorphism is one style in a family of CSS generators. Build layered depth with the CSS Box Shadow Generator, create translucent panels with the CSS Glassmorphism Generator, smooth your corners with the CSS Border Radius Generator, and build matching backdrops with the CSS Gradient Generator. If you need a matching palette, start from the Color Palette Generator.
Frequently Asked Questions
What is neumorphism?
Neumorphism is a UI style where elements appear pressed out of, or into, the background surface. The element and its parent share the same color, and a light shadow plus a dark shadow create the illusion of depth. It became popular as a softer alternative to flat design with heavy drop shadows.
Why does my neumorphism effect look wrong on my site?
The effect only works when the element and the surface behind it share the same background color. If you paste the CSS onto a page with a white or contrasting background, the two shadows read as a glow instead of depth. Place the element inside a container with the same base color.
What is the difference between concave and convex?
Convex surfaces add a gradient that runs from light to dark in the direction of the light source, so the face looks like it bulges outward. Concave reverses the gradient, making the surface look dished inward. Flat keeps the surface a solid color and relies on the shadows alone.
How do I make a pressed button state?
Generate the raised look first, note the distance, intensity, and blur values, then switch the shape to pressed using the same settings. The shadows move inside the element with the inset keyword, which reads as the button being pushed into the surface.
Are the shadows real box-shadows I can edit?
Yes. The output is plain CSS with a background, a border-radius, and a two part box-shadow. Paste it into any stylesheet and edit the numbers by hand if you want finer control than the sliders provide.
Is neumorphism accessible?
It can be, with care. Soft UI shadows are low contrast by design, so rely on strong text contrast and additional cues such as icons, labels, or a subtle border for interactive controls. Test your combinations against WCAG contrast guidance before launch.
Can I share my neumorphism settings with a colleague?
Yes. Every control is stored in the page URL, so copying the address bar after making changes shares the exact color, shape, and slider values. Opening that link restores the same preview and CSS.