How to Use the Neumorphism Generator
What Is Neumorphism?
Neumorphism (also called 'Soft UI' or 'New Skeuomorphism') is a design trend that creates the illusion of elements being gently extruded from or pressed into their background surface. Unlike traditional flat design, neumorphism uses carefully placed light and dark shadows to simulate physical depth, making UI elements look as if they're sculpted from the same material as the background.
This CSS Neumorphism Generator lets you visually create these soft UI effects by adjusting color, size, blur, distance, and shadow intensity. The tool automatically calculates complementary light and dark shadow colors based on your chosen background, ensuring the effect looks realistic and balanced.
How Does the Tool Work?
The neumorphism effect relies on two box shadows - one lighter than the background and one darker. The light shadow simulates a light source hitting the raised edge of the element, while the dark shadow represents the natural shadow cast on the opposite side. Our generator automatically calculates these shadow colors by lightening and darkening your chosen base color.
You can control several parameters: the base background color determines the overall palette, the size slider adjusts the element dimensions, the distance control sets how far the shadows extend, the blur value controls shadow softness, and the border-radius creates rounded or sharp corners. The inset toggle lets you switch between extruded (raised) and concave (pressed) effects.
When you toggle the inset option, both shadows move inside the element, creating the visual impression that the element is pushed into the surface - perfect for active button states, input fields, and toggle controls. The generator handles all the shadow calculations automatically.
Neumorphism CSS Code Example
/* Raised (Extruded) Effect */
.neumorphic {
background: #e0e0e0;
border-radius: 50px;
box-shadow:
20px 20px 60px #bebebe,
-20px -20px 60px #ffffff;
}
/* Pressed (Inset) Effect */
.neumorphic-inset {
background: #e0e0e0;
border-radius: 50px;
box-shadow:
inset 20px 20px 60px #bebebe,
inset -20px -20px 60px #ffffff;
}Design Tips for Neumorphism
- ●Background color matters - neumorphism works best with soft, muted colors. Pure white or very dark backgrounds reduce the shadow contrast needed for the effect
- ●Keep it subtle - large shadow distances and high blur values can look unnatural. Moderate values (10-20px distance, 30-60px blur) produce the most pleasing results
- ●Limit usage - apply neumorphism to key interactive elements like buttons and cards rather than every element on the page to avoid visual fatigue
- ●Combine with flat design - mix neumorphic elements with clean, flat backgrounds and typography for a balanced, usable interface
- ●Test on multiple screens - neumorphic shadows can look different on various monitor brightness and contrast settings
- ●Consider dark mode - neumorphism can work in dark mode by inverting the shadow logic, but requires careful color calibration
Accessibility Considerations
While neumorphism is visually striking, it presents significant accessibility challenges. The subtle shadow-based depth cues that define neumorphism can be nearly invisible to users with low vision or on low-contrast displays. Unlike traditional buttons with clear borders and color differences, neumorphic elements rely purely on shadow perception to communicate interactivity.
To make neumorphic designs accessible, always pair the shadow effects with additional visual cues. Add clear hover and focus states with more pronounced shadow changes or color shifts. Use adequate text contrast ratios (at least 4.5:1 for normal text). Consider adding subtle borders or background color changes for interactive elements to ensure they're distinguishable.
For form inputs and buttons, ensure that active and disabled states are clearly differentiated beyond just shadow changes. Users who have reduced motion preferences should still see clear interactive states. The best approach is to treat neumorphism as a visual enhancement layer, not as the primary means of conveying UI structure or interactivity.