ICO to SVG Converter
Turn an ICO file, such as a website favicon or an app icon, into an SVG made of real vector paths: shapes you can scale to any size, recolour and edit in a vector editor. An ICO usually holds the same icon at several sizes, for example 16, 32, 48 and 256 px. The tool reads the file itself, lists every size with its bit depth and whether it is stored as a PNG or as a bitmap, and traces the largest one to start; pick any other size from the list. Small icons are enlarged before tracing, so a 32 px favicon still gives smooth curves. For pixel art, choose Pixel squares instead: every pixel becomes an exact square, sharp at any size. Our own reader decodes classic bitmap icons (1, 4, 8, 24 and 32-bit, with their transparency mask), so old icons open the same way in every browser. Transparent areas stay empty in the SVG. Download the SVG, every size as SVGs in one ZIP, or a ZIP for several ICOs. Nothing is uploaded and there is no sign-up.
100% private — everything runs in your browser. Everything runs in your browser; your files are never uploaded.
Your files (click one to see it)
Picture inside an SVG: this is not traced. The SVG only wraps your picture as a PNG, so it stays a grid of pixels that blurs when enlarged, and vector editors and cutting machines cannot use it as shapes. Choose Traced vector paths for a real vector.
Your ICO
SVG
Output
Tracing
Runs in your browser: tracing uses imagetracerjs (public domain), loaded from jsDelivr, and our own code reads the ICO file; your files are never uploaded and nothing is saved. You may use what you make here, including commercially, with no credit needed. The rights in your own pictures stay as they were.
How to convert an ICO to SVG
- Drop an ICO on the box, or several; or click Try a sample.
- Check the size list: the largest size is traced to start; pick another if you want.
- Choose Traced vector paths (smooth) or Pixel squares (exact), then fine-tune Colours and Detail.
- Download the SVG, copy its code, or download every size as a ZIP.
What you can use it for
- Get an SVG favicon from an old favicon.ico
- Recover a logo as vector shapes when only the site icon is left
- Turn a pixel-art icon into crisp squares that scale for print
- Edit the colours of an app icon in a vector editor
- Convert every size in an ICO to SVG in one go
- Trace a mouse cursor (.cur) into an SVG
What happens to each kind of icon inside an ICO
| Stored as | What the tool does | Transparency |
|---|---|---|
| PNG (common for 256 px) | Opened by the browser, then traced | Per pixel, kept |
| 32-bit bitmap | Decoded by our own reader, then traced | Per pixel (alpha), kept |
| 24, 8, 4 or 1-bit bitmap | Decoded by our own reader with its colour table | From the 1-bit mask, kept |
| 32-bit bitmap with an empty alpha | Decoded; the 1-bit mask is used instead | From the mask, kept |
| Cursor (.cur) | Read like an ICO | Kept; the hotspot is not |
An ICO file starts with a short directory: how many pictures it holds, then for each one its width, height, bit depth, length and position in the file. A bitmap picture is stored like a BMP without the file header, with its height doubled because a 1-bit transparency mask (the AND mask) follows the colours. The tool reads that directory first, so it can list every size before tracing.
Which size to convert
| Sizes in the ICO | Traced by default | Tip |
|---|---|---|
| 16, 32, 48 px | 48 px | Enlarged before tracing; or Pixel squares |
| 16 to 256 px | 256 px | Best detail; usually a PNG inside |
| One size only | That size | Use Pixel squares for pixel art |
| Same size twice (different bit depths) | The one with more colours | Pick the other from the list |
Every size as SVG makes one SVG per picture in the ICO, named with its size (for example favicon-32×32.svg), so you can compare them or keep the one that traced best.
Choosing Colours and Detail
| Start from | Colours | Detail | Good for |
|---|---|---|---|
| Logo or flat art | 16 | 5 | Most icons, logos and illustrations |
| Black and white | 2 | 6 | Line drawings, stamps, cutting machines |
| Few colours, smooth | 6 | 4 | Soft or anti-aliased edges |
| Detailed | 32 | 8 | Artwork with many colours; larger files |
Colours sets how many colours the picture is reduced to before tracing; Detail sets how closely the outlines follow the pixels and how small a speck is kept. They work the same way as on our PNG to SVG and JPG to SVG pages.
Three kinds of SVG
| SVG type | Inside the file | Sharp when enlarged | Best for |
|---|---|---|---|
| Traced vector paths (default) | smooth path elements, one per colour area | Yes | Logos, icons, flat art |
| Pixel squares | one path per colour made of exact 1 × 1 squares | Yes, as crisp blocks | Pixel art, tiny favicons kept exactly |
| Picture inside an SVG | your ICO as a PNG, in an image element | No, it blurs | Programs that only accept .svg |
Some converters only wrap the picture in an SVG file. That gives an .svg that still blurs when you enlarge it, so here it is a separate, clearly named option.
Tips for a clean result
- Start from the largest, sharpest picture you have.
- Fewer colours give fewer, cleaner shapes and a smaller file.
- If small specks appear, lower Detail; if corners look rounded, raise it.
- For pixel art, choose Pixel squares: every pixel stays a crisp square at any size.
Next steps: tidy and shrink the result with the SVG Optimizer, change its colours with the SVG Color Changer, or edit it in the SVG Editor. Need the icon as pixels instead? Use ICO to PNG. Going the other way? SVG to ICO makes a multi-size ICO from an SVG, and the Favicon Generator makes a full favicon pack.
Sources
Sources: Microsoft Learn: Icons (the ICO file format); Microsoft Learn: BITMAPINFOHEADER (the BMP header); W3C Scalable Vector Graphics (SVG) 2; imagetracerjs on GitHub (The Unlicense).
More free vector tools
Working with SVG?
Trace, edit, tidy and convert pictures and SVG files with free tools that run privately in your browser: nothing uploaded.
See all free tools →Frequently asked questions
Is this ICO to SVG converter free?
Yes. There is no sign-up, no watermark and no limit on how many files you convert. Everything runs in your browser, so your ICO never leaves your device.
Is the SVG really vector?
Yes, with Traced vector paths or Pixel squares. Every colour area becomes an SVG path, and the line under the preview counts the paths and colours. Only the option called Picture inside an SVG keeps the pixels, and the page says so when you choose it.
Which size inside the ICO is converted?
The largest one, because more pixels give cleaner shapes. The size list shows every picture in the file with its size, bit depth and storage (PNG or bitmap). Pick another size from the list, or use Every size as SVG to get one SVG per size in a ZIP.
Why does a 16 px favicon look blobby?
A 16 × 16 icon has only 256 pixels, so tracing has little to follow. Use a bigger size from the ICO when there is one, keep Enlarge small pictures ticked, or choose Pixel squares to keep every pixel exactly.
What are Pixel squares?
Instead of smooth curves, every pixel becomes a 1 × 1 square, merged into one path per colour. The SVG looks exactly like the icon at any size, with crisp edges; it suits pixel art and tiny favicons.
Does the transparent background stay transparent?
Yes. Bitmap icons mark see-through pixels with a mask, and 32-bit and PNG icons store transparency per pixel; either way those areas are left empty in the SVG. Soft, half-transparent edge pixels are made either solid or see-through before tracing, so no pale rings appear around the shapes.
Can I use the SVG as a favicon?
Yes. Browsers that support SVG favicons accept it with a link tag of type image/svg+xml. Keep the ICO too for older browsers; our SVG to ICO tool turns an SVG back into a multi-size ICO.
Does it open .cur cursor files?
Yes. A CUR file is built like an ICO, so it is read the same way and traced into an SVG; the cursor’s hotspot is not kept.
Is my ICO uploaded?
No. Reading the ICO, tracing it and writing the SVG and the ZIP all happen in your browser.