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
| Filter | Range | Effect |
|---|---|---|
| Grayscale | On/off | Removes all color, leaving only shades of gray |
| Invert | On/off | Flips every color to its opposite, like a photo negative |
| Brightness | -100 to 100 | Shifts every pixel lighter (positive) or darker (negative) |
| Contrast | -100 to 100 | Spreads pixel values further apart (positive) or pulls them closer together (negative) |
| Blur | 0 to 20 | Softens detail; higher values blur more heavily |
| Sharpen | 0 to 10 | Boosts 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
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.