Image Color Changer

Change a colour in a PNG or JPG — and keep the shading, so it still looks like a photograph.

100% private — runs entirely in your browser. Your data is processed on your device and never sent to the internet.

Click to upload or drop a PNG or JPG

PNG, JPG, WebP or GIF — recoloured in your browser, never uploaded

About changing a colour in a picture

A red jacket has to be blue. A brand colour changed and forty screenshots still have the old one. A product comes in six colours and there is one photograph.

The naive way to do this is to select the colour and flood it with a new one, and the result always looks wrong: the jacket turns into a flat blue cut-out with no folds in it. What made it look like a jacket was the shading — hundreds of slightly different reds — and flooding throws all of that away.

This changes the colour and keeps the shading. Every shade of red in the jacket becomes the matching shade of blue: the highlights stay bright, the creases stay dark, and it still looks like a photograph of a jacket.

What the list is

A PNG or JPG has no list of colours inside it the way an SVG does — a photograph can easily contain two hundred thousand distinct ones. So the table under the picture is the colours the image is mostly made of, found by grouping near-identical shades together and ranking them by how much of the picture they cover.

For a logo, icon, screenshot or piece of flat art, that list is simply the real colours, and changing one is exact.

For a photograph, each row stands for a whole family of shades — "the reds", not one red. That is what makes the result usable, and it is also why the next control matters.

How close a colour has to be

This decides how much of a shade goes with the colour you picked.

  • Too narrow and only part of the jacket changes, leaving patches of the old colour behind.
  • Too wide and the change bleeds into things you did not mean — the red jacket takes the brown door with it.

Start in the middle and move it until the edges of the change land where you want them. The edge of the match is feathered rather than cut, so you do not get a hard jagged outline where the colour stops.

Keep the shading

On by default, and it is the difference between a recoloured photograph and a sticker.

With it on, each pixel keeps its own lightness and only its hue and richness move to the new colour. With it off, every matched pixel becomes exactly the colour you chose — which is what you want for flat art, a logo, or a solid background, where there is no shading to keep in the first place.

Making a colour transparent

Every row has an eraser beside its colour. Press it and that colour is not replaced but removed — those pixels become see-through instead of becoming something else.

It is the quickest way to knock a flat background out of a logo or an icon: click the background in the picture, press the eraser, save as PNG. The same feathered edge applies, so the boundary is softly cut rather than bitten out.

Only PNG and WebP can hold transparency. If you pick JPG the page says so, because a JPG has no way to save the cleared area as anything but white.

Clicking the picture

The list is a starting point, not a limit. Click anywhere in the edited picture and the tool works on the colour under your click — it selects the row that colour belongs to, or adds a row for it if it is not close to any of them.

This is usually the fastest way in: click the thing you want to change, then choose what it becomes.

Nothing is uploaded

The image is read, recoloured and saved inside your browser. It never reaches a server, which matters for product shots, client work and photographs of people.

It also means no upload wait and no queue, and the tool keeps working offline once the page has loaded.

What people use it for

  • Changing the colour of a product so one photograph covers the whole range
  • Updating screenshots after a brand colour changed
  • Recolouring a logo or icon that only exists as a PNG
  • Making a light and a dark version of the same graphic
  • Swapping a background colour without cutting anything out
  • Trying a colour before committing to it, since the picture updates as you pick

Good to know

  • The two previews are the image before and after, at the same size, so the comparison is honest
  • Output is PNG by default, which is lossless and keeps transparency; JPG and WebP are there when file size matters more
  • Transparent pixels stay transparent, and a JPG saved as JPG is re-encoded once, so save as PNG if the image will be edited again afterwards
  • A very large image is scaled to stay workable, and the page says so rather than quietly resizing it
  • This works on colours, not on objects — if two different things are the same colour, both change. For a photograph where that matters, cut the subject out first with Background Remover
  • For an SVG, use SVG Color Changer, which edits the real colour values instead of pixels
  • To read a colour out of an image rather than change it, use Image Color Picker

How to use it

  • Click Click to upload, or drop your PNG or JPG onto the box
  • The colours the image is made of appear in the table under it
  • Click a colour in the picture to jump to it, or pick a row from the list
  • Set the new colour on the right, with the picker or by typing a hex
  • Widen or narrow how close a colour has to be until the change covers what you meant
  • Leave Keep the shading on for photographs; turn it off for flat art
  • Or press the eraser on a row to remove that colour altogether, and save as PNG
  • Press Download image

Related tools

We add new tools regularly — subscribe on YouTube to be notified when each one goes live.

More tools

View all

Recommended Apps

View all