Image Filters
Apply invert (negative) and sepia filters to any image with an adjustable strength slider.
Drag & drop an image here, or click to browse
No uploads. Your files stay on your device.
CSS equivalent: filter: invert(1);
How it works
Drop an image, pick Invert (a photo negative), Sepia (a warm vintage brown tone) or both, and the preview updates instantly. The filter is applied pixel-by-pixel with the Canvas API inside your browser — the image is never uploaded to a server, so private photos and screenshots stay on your device.
Invert replaces every colour channel with 255 minus its value. Sepia runs each pixel through
the classic sepia colour matrix. The strength slider blends the filtered result back with the
original, so 40% gives a subtle tint and 100% the full effect. Copy the matching CSS
filter declaration if you want the same look in a stylesheet instead, or download
the rendered image — PNG, JPEG and WebP keep their original format, anything else is saved as
PNG.
Frequently asked questions
How do I invert the colors of an image?
Drop your image into the tool and choose "Invert (negative)" — the preview flips every color channel instantly, turning red into cyan, white into black and so on. Use the strength slider if you only want a partial inversion, then click Download image. Everything runs in your browser, so the file is never uploaded.
What does the sepia filter actually do?
Sepia runs each pixel through the classic sepia color matrix, mixing the red, green and blue channels into a warm brown tone that mimics old photographic prints. Because the strength slider blends the result back with your original, you can go from a light vintage wash at 20% to a full sepia print at 100%.
Are my images uploaded to a server?
No. The filters are applied pixel-by-pixel with the Canvas API inside your own browser and the download is generated locally, so nothing ever leaves your device. That makes it safe for private photos, screenshots and scanned documents, and the tool keeps working even offline once the page has loaded.