Invert Image Colors

Invert a JPG, PNG or WebP photo's colors to create a negative effect in your browser. Free, private, instant, with batch support.

🌐 Español

Drop your files here (.jpg, .jpeg, .png, .webp)

🔒 Private by design: your files are processed locally in your browser and never uploaded to any server.

What “255 minus the value” does to a photograph

Every pixel in your image is three numbers between 0 and 255: how much red, how much green, how much blue. Inverting means replacing each of those three with its complement, 255 - value, one channel at a time. Black, which is 0, 0, 0, becomes white. Pure red, 255, 0, 0, becomes cyan, 0, 255, 255. Mid grey barely moves at all, since 128 inverts to 127.

Two consequences follow from doing it channel by channel. Hues land on the opposite side of the color wheel, so skin tones go blue-grey and blue skies go orange. And lightness flips completely, which is why an inverted photograph reads as a film negative rather than as a stylised filter. The transparency channel is left alone, so a logo with a transparent background keeps that background after inversion instead of gaining a black rectangle.

We do this by reading the actual pixel buffer and writing each value back, not by applying a CSS-style canvas filter. The CSS route is shorter code, but its support across browsers and offscreen canvases is patchier and the rounding is not guaranteed to be identical everywhere. A direct pass over the buffer gives the same numbers on every device, which is the point of a tool people use to process a batch of scans.

Inverting a batch

  1. Drop your JPG, PNG or WebP files into the box above, or click Choose files. Mixed formats in one batch are fine.
  2. Click Invert Image Colors. Files are processed one after another, with a progress bar that advances per completed file rather than a fake animation.
  3. Download the results. Each keeps its original format and gains a -inverted suffix, so Holiday Pic.JPEG comes back as Holiday Pic-inverted.jpg and sits next to the original without overwriting it.

A file with no recognised extension is written out as PNG, on the grounds that guessing lossless is safer than guessing lossy.

Scanning film negatives: what inversion alone will not fix

This is the most common serious use, and it is worth being precise about, because a lot of people invert a scan, dislike the result and assume the tool is broken. Black and white negatives are simple: the film records tones in reverse, inversion puts them back, and you are done.

Color negatives are not simple. C-41 color film is built on a base carrying an orange mask, a deliberate part of the chemistry that compensates for dye deficiencies during optical printing. Your scanner captures that mask along with the image, so when you invert, the orange becomes a heavy blue-cyan cast over everything, contrast looks weak and highlights look muddy. Nothing has gone wrong; you have only completed step one. Step two is white balancing against the film base and pulling the contrast back, which is what dedicated negative-conversion software spends its effort on. For a handful of frames, invert here and then correct in Adjust Image Brightness & Color, lifting contrast and pulling the blue down until the neutral tones look neutral.

What the re-encode costs you

Since the image has to be decoded to pixels and encoded again, the output is a new file rather than an edited copy of the old one, and that has three effects worth knowing.

JPEG is lossy, so an inverted JPG carries one more compression generation than the original. It will look the same at normal viewing size, and it is not a reason to avoid the tool, but it does mean you should invert from the best copy you have rather than from something already saved five times. PNG and WebP inputs keep their format, and PNG in particular round-trips exactly: invert twice and you are back to the original pixel values.

Metadata does not survive. Canvas encoding writes the pixels and nothing else, so EXIF fields including camera model, capture time, lens and GPS coordinates are gone from the output. If that is the effect you were after, Remove EXIF Data from Photos does it without changing a single pixel. If you needed the metadata kept, invert a copy and keep the original alongside it.

Not the dark mode button people expect

Inverting is frequently reached for as a quick dark mode, and it half works. Text and background swap correctly, which is the part you notice first. But the same pass negates every photograph, avatar, chart color and colored logo in the frame, so a screenshot of a document ends up with readable text next to alien-looking images. Proper dark mode inverts lightness while preserving hue, a different operation entirely.

That distinction shaped the sibling tool: Invert PDF Colors (Dark Mode PDF) offers a smart mode that inverts the page but detects and leaves photographic regions alone, which is what you want for a scientific paper full of figures. If your goal is a high-contrast variant of a diagram or an icon rather than a readable night-mode document, a plain invert on this page is exactly right, and pairing it with Convert Photo to Black and White gives you the classic high-contrast pair in two steps.

See it in action

Screenshot of the Invert Image Colors tool with sysfenix-sample.png (466 KB) loaded
Invert Image Colors mid-process: sysfenix-sample.png (466 KB) loaded.
Screenshot of the Invert Image Colors result screen showing sysfenix-sample-inverted.png ready to download (466 KB)
The finished result: sysfenix-sample-inverted.png ready to download (466 KB). The download link is a local blob URL — the file never leaves your device.

Frequently asked questions

Exactly what does the tool do to each pixel?

Each pixel's red, green and blue channels are replaced independently by `255 - value`, so black becomes white, pure red becomes cyan and mid grey stays mid grey. The alpha channel is not touched, so transparency survives intact in a PNG or WebP. No blending, blurring or contrast adjustment happens alongside it.

Can I invert an image back to normal?

Mathematically yes, because `255 - (255 - v)` is `v`, so running an inverted file through a second time restores the original colors exactly. In practice that is only bit-for-bit true for PNG, which is lossless. A JPG is re-compressed on the way out, so a second pass gives you the right colors with a second generation of JPEG artefacts.

My scanned color negative still looks wrong after inverting. Why?

Color film negatives are made on a base with a deliberate orange mask that inversion turns into a strong blue-cyan cast, so an inverted C-41 scan comes out cold and flat rather than natural. Inversion is only the first of two steps; the second is a white-balance and contrast correction, which you can do afterwards in our brightness and color tool. Black and white negatives have no mask and invert cleanly in one pass.

Will this give me a dark mode version of a screenshot?

Only partly, and usually not the way you want. A full invert flips your text and background correctly but also turns every photo, logo and colored badge into its negative, which is why real dark mode implementations invert lightness while leaving hue alone. For a document you actually intend to read at night, our PDF inverter has a smart mode that leaves photographs looking normal.

Does the output keep my EXIF data and the original resolution?

Resolution, aspect ratio and pixel count are all unchanged, since this is a per-pixel recolor with no resizing or cropping. Metadata is a different story: the image is decoded, rewritten and re-encoded by the browser's canvas, and that process drops EXIF, so the camera model, timestamps and GPS coordinates do not survive. Some people rely on that as a side effect.

How many photos can I invert at once?

As many as your device can hold, with no cap and no paid tier. Each file is decoded to full size in memory before it is written back out, so a batch of high-resolution scans is limited by RAM rather than by any rule here, and a **Cancel** button stops a long batch immediately, clearing the run so you can retry with a smaller selection.

Related tools