Blurring text in CSS is a simple yet powerful effect used in modern web design. Whether you’re creating a login screen, hiding sensitive information, or adding a stylish frosted-glass effect, CSS provides multiple ways to blur text. In this blog, we’ll walk you through how to blur text using CSS filters, text shadows, and other creative techniques.
🎯 Why Blur Text?
Blurring text can be useful for:
- Adding mystery or a focus effect (e.g., hover to reveal)
- Hiding sensitive data until interaction
- Styling modern UIs with frosted glass or depth effects
- Accessibility-friendly designs where text becomes readable only on action
🧪 Method 1: Using filter: blur()
The most straightforward method to blur text is with the filter
property.
✅ Example:
<p class="blur-text">This text is blurred using CSS filter.</p>
.blur-text {
filter: blur(3px);
}
🔍 Explanation:
filter: blur(3px);
applies a Gaussian blur to the text.- Adjust the value to control the intensity of the blur.
- Works on all modern browsers.
🧊 Method 2: Blur Text on Hover (Interactive)
You might want to blur text initially and reveal it on hover.
✅ Example:
<p class="hover-reveal">Hover to read the message</p>
.hover-reveal {
filter: blur(5px);
transition: filter 0.3s ease;
cursor: pointer;
}
.hover-reveal:hover {
filter: blur(0);
}
🖱️ Result:
This creates an interactive effect — great for passwords, quiz answers, or Easter eggs.
🎨 Method 3: Using Text Shadow (Faux Blur)
If you prefer not to use filters, you can mimic a blur using multiple layers of text-shadow
.
✅ Example:
<p class="shadow-blur">This is a faux blur using shadows.</p>
.shadow-blur {
color: transparent;
text-shadow: 0 0 2px black, 0 0 4px black, 0 0 6px black;
}
⚠️ Note:
- It’s not as smooth as
filter: blur()
. - Can be useful in scenarios where filter is unsupported or needs to be avoided for performance reasons.
🖼️ Bonus: Blurred Text Over a Background
Use backdrop-filter
to blur the area behind the text, while keeping the text sharp.
<div class="blur-background">
<p class="clear-text">This text stays sharp, but the background is blurred.</p>
</div>
.blur-background {
backdrop-filter: blur(10px);
background-color: rgba(255, 255, 255, 0.2);
padding: 20px;
}
.clear-text {
color: #000;
}
⚙️ Browser Compatibility
Feature | Chrome | Firefox | Safari | Edge |
---|---|---|---|---|
filter | ✅ | ✅ | ✅ | ✅ |
backdrop-filter | ✅ | ✅* | ✅ | ✅ |
Firefox requires the
layout.css.backdrop-filter.enabled
flag to be set to true.
🧠 Final Tips
- Use
filter: blur()
for the best native support and cleanest result. - Always test for accessibility: blurred text should not hinder usability unless intentionally hidden.
- Combine with
transition
for smooth effects.
💡 Conclusion
Blurring text with CSS is not only easy but also adds a creative edge to your web interfaces. Whether you want to hide, highlight, or stylize your content, CSS gives you the tools to blur text effectively and elegantly.