Recolor a photo

Recolour an SVG

Change any colour in a logo, icon or illustration file. Every other character in the file stays exactly as it was.

or drop it here · paste works too

Open an SVG or paste its code. Each colour gets a row; change any of them and download the new file.

No file handy?

Free · No account · Files stay on your device

A drawn landscape badge whose colours have been swapped on the rightBeforeAfter
Text edit only

A colour edit, not a redraw

An SVG is text. Recolouring it should change the few characters that name a colour and nothing else — not re-export the drawing through an editor that rewrites the whole file, renames ids and drops comments. This page finds each colour value, lets you set a new one, and splices only those characters back in.

How each colour form is written back
Written asComes back as
#3c8 or #33cc88six-digit hex, upper case kept if the file used it
#33cc8880 (with alpha)new hex with the same alpha digits
rgb(51, 204, 136)rgb() with the new numbers
rgba(…, 0.5) or hsl(… / 50%)rgba() with the alpha exactly as written
teal, red, navy…six-digit hex

Where it stops

  1. Colours set by CSS outside the file (a page's stylesheet) are not in the file and cannot be seen here.
  2. currentColor takes its colour from where the SVG is used; change it there, or give the SVG a color attribute.
  3. Filters and blend modes can make a drawn colour differ from the value in the file.

Questions people bring to this page

Which colours does it find?

Every colour value in fill, stroke, stop-color, flood-color, lighting-color and color — whether written as an attribute, inside a style attribute or in a <style> block — in hex, rgb(), hsl() or as a colour name. Values that point elsewhere (currentColor, url(#gradient), inherit) are counted and left as written.

Does it change anything else in my file?

No. Only the characters of the colour values you change are replaced; everything between them is copied as it was, and the page checks that and prints the count: “3 colour values changed, 0 other characters.” Comments are skipped, so a colour inside a comment is never touched.

What about pictures embedded in the SVG?

An embedded <image> is a raster picture, and its colours are pixels, not SVG colour values. The page says how many there are and leaves them unchanged; save the picture separately and recolour it in the photo editor.

Is the SVG run or uploaded?

Neither. The file is read as text in this tab and checked with the browser's XML parser; the previews show it as an image, which never runs scripts or fetches outside files.

Next door