Image Filters

Drop a photo, adjust the filters with a live preview, and download the result. The preview is instant; the downloaded file is rendered exactly by the same engine that runs locally in your browser.

Files never leave your device

Drop an image to edit, or click to browse

JPGJPEGPNGWEBPGIFBMP
0
0
0
0

What This Tool Does

Drop in a photo and adjust six filters — grayscale, invert, brightness, contrast, blur, and sharpen — with a live preview that updates as you drag each slider. When the look is right, click download to get the finished file rendered by the same image-processing engine used across every tool in this family.

The Six Filters

FilterRangeEffect
GrayscaleOn/offRemoves all color, leaving only shades of gray
InvertOn/offFlips every color to its opposite, like a photo negative
Brightness-100 to 100Shifts every pixel lighter (positive) or darker (negative)
Contrast-100 to 100Spreads pixel values further apart (positive) or pulls them closer together (negative)
Blur0 to 20Softens detail; higher values blur more heavily
Sharpen0 to 10Boosts edge definition; higher values sharpen more aggressively

Filters are combined, not exclusive — you can turn on grayscale, nudge brightness down, and add a touch of blur all at once. Whatever combination you leave active is applied in the same fixed order every time: grayscale, then invert, then brightness, then contrast, then blur, then sharpen.

Live Preview vs. the Downloaded File

Tip: The preview you see on screen is a fast, close approximation built from your browser's CSS filters — it's meant to give you instant feedback as you drag a slider. The file you actually download is produced by a separate WebAssembly engine that applies the real filtering math precisely. The two will usually look almost identical, but treat the downloaded file as the accurate result if you ever notice a small difference, especially around the sharpen effect.

This split exists because CSS filters can render instantly on every keystroke, which is exactly what you want while experimenting with sliders, but they don't perfectly replicate every operation. Sharpen is the clearest example: there's no CSS filter for it at all, so the live preview simply leaves it out, and you'll only see what it does once you download. Grayscale, invert, brightness, contrast, and blur all have a close CSS equivalent, so their preview tracks the final result closely, but it's still an approximation rather than a pixel-identical rendering.

Your Photo Keeps Its Original Format

This tool changes pixels, not containers. A JPEG you drop in comes back as a JPEG, a PNG comes back as a PNG, and the same holds for WebP, GIF, and BMP. If your source file is a JPEG, the filtered result is re-encoded at a fixed, high quality setting so the visible loss from that re-compression step stays minimal — you won't see a quality slider for this, since filtering focuses on the visual effect rather than file size.

If you need to change the output format itself — say, turning a filtered photo into a WebP for a faster-loading page — run it through the Image Format Converter afterward.

Your Files Never Leave Your Device

The moment you drop a photo, its bytes stay local to your browser tab. The live preview is rendered by your browser directly, and the final download is produced by a small WebAssembly module that never sends anything over the network. Closing the tab discards everything — there's nothing left behind on a server, because no server was ever involved.

If you also want to resize this photo, check its hidden metadata, or shrink its file size, see the Image Resizer, EXIF Metadata Viewer & Remover, and Compress Images tools — all built the same on-device way.

Frequently asked questions

Is this image filter tool really free?
Yes. There's no sign-up, no watermark, and no limit on how many photos you can filter. The tool runs entirely in your browser, so there's no server cost to recoup from you.
Do my photos get uploaded anywhere?
No. The live preview is drawn locally by your browser, and the final filtering happens through WebAssembly running inside the same tab. Your file never travels over the network.
Why does my downloaded photo look slightly different from the preview?
The on-screen preview is a fast approximation built from your browser's built-in CSS filters, meant to give you a quick sense of the effect while you drag the sliders. The file you download is rendered by the actual image-processing engine, which applies the same math the exact way every time. The two are usually very close, but they can differ slightly — most noticeably for sharpen, which has no live-preview equivalent at all, so its effect only shows up once you've downloaded the result.
Why doesn't sharpen show up in the live preview?
Browsers don't offer a built-in sharpen filter the way they do for grayscale, brightness, or blur, so there's nothing to approximate on screen. The sharpen slider still works — you'll simply see its effect for the first time in the downloaded file rather than while you're adjusting it.
What order are the filters applied in?
Grayscale first, then invert, then brightness, then contrast, then blur, then sharpen — always in that fixed sequence, regardless of which sliders you happened to touch last. Any filter left at its default, no-effect value is skipped entirely.
What file format do I get back?
Whatever format you dropped in. A JPEG stays a JPEG, a PNG stays a PNG, and so on for WebP, GIF, and BMP — this tool only changes pixels, never the container format. If you also need to change format, use the Image Format Converter.
Can I filter several photos in one batch?
This tool works on one photo at a time, so you can watch its live preview update as you adjust each slider. Drop your next photo once you've downloaded the first.