CSS filter generator
Tune blur, brightness, contrast, drop-shadow, grayscale, hue-rotate, invert, opacity, saturate and sepia, stack and reorder them, apply vintage, mono, high-contrast or neon presets, preview live and copy the filter code.
Runs in your browserEvery computation happens in your browser — your data never leaves this device.
Presets
Filter chain
Filters apply top to bottom — a different order can give a different result
Live preview
The left panel is the original, the right one uses the current filter chain
Generated code
.filtered {
filter: blur(3px) saturate(1.2);
}What this tool does
- Dial in a blur, shadow or grayscale effect for images and cards, then copy the generated filter declaration into your stylesheet.
- Build state styles such as hover-brighten or disabled-grey: pick the brightness or grayscale value and reuse it in :hover or .is-disabled.
- Compare stacked filters (blur then boost saturation, for example) by reordering the chain instead of guessing how the order changes the render.
- Get a vintage, monochrome, high-contrast or neon look quickly by starting from a preset and nudging the values.
Example
Input
Filter chain: blur 3px, saturate 1.2; selector .filtered
Output
.filtered {
filter: blur(3px) saturate(1.2);
}Filters apply in list order — blur(3px) saturate(1.2) and saturate(1.2) blur(3px) can render differently.
Frequently asked questions
What value ranges do these filters accept?
Per the CSS Filter Effects spec: blur takes a length (0–20px covers most uses), hue-rotate takes an angle (0–360deg), the unitless brightness, contrast and saturate values use 1 as the identity with 0–3 enough for dimming and boosting, and grayscale, invert, opacity and sepia are ratios from 0 to 1. Values outside the range raise an error here instead of silently producing a declaration the browser drops.
Does the order of filters change the result?
Yes. The chain applies left to right and each function consumes the previous output. Blurring before brightening brightens the already-softened pixels, while brightening first changes how the blur blends the edges, so the two orders are not equivalent.
What is the difference between filter and backdrop-filter?
filter processes the element itself, background and children included; backdrop-filter processes only what is behind the element, which is why it powers frosted-glass headers. The values transfer directly, but the element needs a translucent background before you can see any effect.
drop-shadow or box-shadow?
box-shadow always follows the element box, so a transparent PNG or text shows a rectangular shadow; drop-shadow follows the opaque pixels that were actually painted, which suits icons and irregular shapes. The trade-off is performance: drop-shadow is more expensive, so avoid animating it over large areas.
Do filters hurt performance?
They can. Filters usually run on the GPU compositor, so a static effect is cheap, but animating one over a large element or stacking several blurs can drop frames. Keep filters on small elements and, when animating, pair them with will-change or pre-bake the effect into the image.
Keywords:css filterfilter generatorblurdrop-shadowgrayscalehue-rotatesepiaCSS 滤镜滤镜生成器图片特效饱和度前端特效