Skip to content
UniKit

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

3px
1.2

Live preview

The left panel is the original, the right one uses the current filter chain

Original
UniKit
Filtered
UniKit

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 滤镜滤镜生成器图片特效饱和度前端特效

Related tools