How to use the neumorphism generator
- Choose a base color. The element and its parent share it.
- Pick a shape: flat for cards, convex for buttons, concave for wells and dials, pressed for active states.
- Set the light with the dial, then adjust distance, blur and intensity.
- Turn on the accessible edge for anything people need to find and press.
- Copy the CSS, and set the parent’s background to the same base color.
Design tips
- Use soft UI for decorative surfaces and grouped controls, not for every button.
- Combine the pressed shape with a color or icon change, so states don’t rely on shadows alone.
- Add a visible focus outline. Soft shadows are easy to miss for keyboard users.
- Keep text dark enough: the text check needs 4.5:1 for body copy.
How the colors are calculated
The light shadow is the base color mixed towards white, and the dark shadow is the base mixed towards black. The intensity controls how far they move. The distance sets the shadow offsets along the light direction, and blur controls the softness.
Worked examples
Example 1: a music player control
Load Dome for the large play button and Bowl for the volume dial around it, both on the default #E0E5EC base. The convex button appears to rise out of the surface, and the concave dial looks carved in. Turn on the accessible edge for the play button so its outline is clear for everyone.
Example 2: a toggle with clear states
Use Classic for the off state and Pressed for the on state, and add a color change to the icon or label as well. Soft shadows alone make it hard to tell states apart, so the second cue matters.
Example 3: a dark smart-home panel
Load Dark: a #1E293B base with higher intensity (0.35) so the light shadow still shows against a dark surface. Use light text (#E2E8F0) and keep cards large and well spaced. Soft UI needs breathing room between elements to read well.
Common mistakes
- Low-contrast text: grey text on a grey surface is the most common neumorphism failure.
- A different background on the parent: the effect only works when the element and its surroundings share the base color.
- Inconsistent light direction: keep one direction across the interface.