CSS is the New Photoshop
Want to make images look better without opening Photoshop? CSS filters let you change the look of images directly in the browser. Brighten, blur, add shadows, or change colors with a single line of code. Here’s a guide to the 10 main CSS filters.
Photo used in this demo is by Jeremy Bishop.
Let’s start!
1. Drop Shadow
Adds a shadow behind the image that follows its shape. Great for lifting images off the page or giving them depth. Works with transparent backgrounds too.
I recently posted about this one on Twitter.

img {
filter: drop-shadow(2px 4px 8px #585858);
}
2. Blur
Softens the image. Useful for backgrounds, hover effects, or creating a sense of depth. You can control the intensity with pixel values.

img {
filter: blur(4px);
}
3. Brightness
Makes the image lighter or darker. Perfect for adjusting photos that are too dark or too bright. Values above 100% brighten, below 100% darken.

img {
filter: brightness(150%);
}
4. Contrast
Increases or decreases the difference between light and dark areas. Higher values make images pop, lower values make them look flat.

img {
filter: contrast(200%);
}
5. Grayscale
Turns the image into black and white. Great for minimalistic designs, hover effects, or focusing attention on layout rather than color.

img {
filter: grayscale(100%);
}
6. Sepia
Gives the image a warm, old-photo look. Useful for vintage or retro designs and adding character to images.

img {
filter: sepia(80%);
}
7. Invert
Flips all colors to their opposite. Can create high-contrast effects, dark-mode visuals, or dramatic color changes.

img {
filter: invert(100%);
}
8. Saturate
Makes colors more or less intense. Use high values to make colors pop, low values to tone them down. Great for emphasizing or muting certain images.

img {
filter: saturate(200%);
}
9. Hue-Rotate
Shifts all colors around the color wheel. Use it to experiment with color schemes, create fun effects, or subtly adjust colors without changing the image.

img {
filter: hue-rotate(120deg);
}
10. Opacity
Makes the image see-through. Useful for overlays, background images, or creating hover effects with subtle transparency.

img {
filter: hue-rotate(120deg);
}
Bonus tip:
You can combine multiple filters for unique effects. For example:

img {
filter: grayscale(50%) contrast(120%) blur(2px);
}
What effect did you like the most? Let me know on X/Twitter.