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.
| Written as | Comes back as |
|---|---|
| #3c8 or #33cc88 | six-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
- Colours set by CSS outside the file (a page's stylesheet) are not in the file and cannot be seen here.
- currentColor takes its colour from where the SVG is used; change it there, or give the SVG a color attribute.
- 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
- Change a logo's colourFlat-art selection by one ΔE radius, exact hex replacement and the indexed-PNG table path.
- Indexed PNG paletteRewrite PLTE colour definitions without touching compressed pixel indices.
- CSS colour filterThe CSS filter line that turns a black or white icon into your hex, with its measured error.
- Match a brand colourType the hex, see what the selection can carry, and solve as close as sRGB allows.
- Indexed PNG palettesAt most 768 bytes rewritten, one CRC recomputed, and no pixel index touched.
Image data is never posted anywhere: decode, mask, remap and encode all happen inside this tab's memory, and that memory is released when you leave.
