Image to SVG

Trace a PNG, JPG or any raster image into a real vector SVG — filled paths, infinitely scalable. Runs entirely in your browser; the image never uploads.

Drop an image

Image to SVG — Free, Fast & Private

An SVG is not a picture — it is a drawing recipe: shapes, curves and fills that a renderer redraws at whatever size it is asked for, which is why a good SVG logo is razor sharp at 16 pixels and at 16 feet. Converting a raster image into one is called tracing, and it is worth being precise about what tracing does, because most converter sites are not. The tracer quantises your image down to a small palette, finds the boundary of each colour region, and fits filled vector paths around those boundaries. The output is a genuine, editable SVG made of paths — not a raster secretly embedded in an SVG wrapper, which is the shortcut some "converters" take and which scales exactly as badly as the original. Everything happens in your browser: the tracing library is pure code, downloads only when you use this page, makes no network requests, and your image never leaves your machine.

What traces beautifully: logos, icons, flat art

Tracing is at its best when the image was born vector and lost its way — a logo that exists only as a PNG because the designer's original files are long gone, an icon lifted from a screenshot, a sticker or clip-art illustration drawn in flat colours. These images are made of exactly what the tracer looks for: a handful of distinct colours with clean boundaries between them. The result is small, sharp, and genuinely scalable — ready for a laser cutter, a vinyl plotter, a print vendor who insists on vector art, or a website that needs the logo crisp on every display density. For best results feed the tracer the largest, cleanest copy of the image you have: JPEG compression noise around edges is the main thing that roughens traced curves, so a clean PNG beats a recompressed JPEG of the same logo every time.

What photos become, honestly

A photograph traced to SVG does not become a clean vector redraw of its subject — nothing automatic does that, here or anywhere. A photo has millions of colours in continuous gradients; the tracer must first posterize them down to a few dozen flat regions, then wrap each region in paths. The result is a stylised, poster-like approximation built from thousands of small blobs, and it is very often larger than the raster file it came from, because complex boundaries take a lot of path data to describe. The tool tells you this to your face: the size readout compares SVG bytes against your original, and when the SVG comes out bigger it says so rather than letting you assume vectorisation compressed something. Sometimes the posterized look is exactly what you want — a screen-print aesthetic, a low-fi portrait — and the Detailed preset exists for that. But if you need a photo to be smaller or scalable-looking, upscaling or plain compression serves you better than tracing.

The three presets, and what they trade

The presets set the palette size the tracer quantises to, which is the single biggest lever in tracing. Logo / icon clusters to six colours with no pre-blur — right for flat art with crisp edges, and it produces the smallest, cleanest SVGs. Flat art allows sixteen colours with a light denoise pass, suited to illustrations, stickers and clip art with shading. Detailed permits thirty-two colours with stronger blur, for busy images — it is slower and the SVG grows accordingly, because more colour regions means more paths. The pre-blur matters more as the palette grows: without it, a noisy source shatters into thousands of single-pixel paths that bloat the file while adding nothing visible. If a trace comes out speckled, stepping up a preset (more blur) often cleans it more effectively than editing the result.

Why very large images are downscaled first

Tracing cost grows with pixel count — palette clustering, edge detection and path fitting each walk the full pixel grid — so sources larger than 2000 pixels on the long edge are scaled down to that limit before tracing, and the tool tells you when it happens. This costs far less than it sounds like it should. Vector output has no resolution: the paths the tracer fits at 2000px describe the same shapes they would at 4000px, only from a less noisy sampling, and the resulting SVG still scales to any size without loss. What the cap buys is a trace measured in seconds rather than minutes. Input-wise the tool takes JPEG, PNG, WebP, AVIF, BMP, GIF, TIFF — and HEIC, decoded in-tool, so an iPhone shot of a whiteboard sketch can go straight to vector without a format detour through a HEIC converter first.

Round trips: SVG back to raster

Vectorising is one direction of a two-way street. Once you have an SVG — from this tool or anywhere else — plenty of destinations still demand pixels: email signatures, marketplace listings, platforms that reject SVG uploads outright for security reasons. For those, the reverse tools rasterise an SVG at any pixel size you choose: SVG to PNG when transparency needs to survive, SVG to JPG when a photo-style destination wants the smallest opaque file. A useful pattern for messy source art: trace it here, open the SVG in any vector editor to delete stray blobs and tighten curves, then rasterise the cleaned result at exactly the sizes you need — a workflow that used to require desktop software end to end.

How it works

  1. Drop in the image: JPEG, PNG, WebP, AVIF, HEIC, BMP, GIF, or TIFF. The image is decoded on your device; nothing is uploaded. Sources over 2000px on the long edge are downscaled before tracing, and the tool says so.
  2. Pick a preset: Logo / icon (6 colours, crispest), Flat art (16 colours, light denoise), or Detailed (32 colours, slower, larger SVG). Palette size is the main quality-versus-size lever in tracing.
  3. Trace to vector paths: The tracer posterizes the image and fits filled SVG paths around each colour region — a real vector result, not an embedded bitmap. Busy images take longer and produce more paths.
  4. Compare and download: The preview sits beside your original with an honest byte comparison — including when the SVG is larger, which is normal for photos. Download the .svg and edit it in any vector editor.

Frequently asked questions

Is this a real SVG or an image wrapped in an SVG file?
A real one — filled vector paths fitted around each colour region, editable in Illustrator, Inkscape or Figma and scalable without loss. Some converters just embed your bitmap inside an SVG tag; that output scales exactly as badly as the original raster. This tool never does that.
Can it turn a photo into a clean vector drawing?
No, and no automatic tracer can — that is an illustration job. A traced photo becomes a posterized approximation: flat colour regions wrapped in many small paths, often producing an SVG larger than the original file. It can be a deliberate aesthetic, but if you expect a tidy line-art redraw of a face, you will be disappointed here and everywhere.
What images work best?
Logos, icons, stickers, and flat illustrations — images made of a few distinct colours with clean edges. That is the geometry tracing was designed for, and the output is small, sharp and genuinely scalable. The cleaner and larger the source, the better the curves; JPEG artefacts around edges are the main thing that roughens a trace.
Is my image uploaded to a server?
No. The tracing engine is a pure-code library that downloads to your browser the first time you use this page and runs entirely on your device — no WASM, no network calls, no server-side step. You can verify in DevTools that no request carries image data.
Why is my SVG bigger than the file I started with?
Because path data is expensive for complex boundaries. A photo or busy image posterizes into thousands of small colour regions, and describing each one as a vector path takes more bytes than storing the pixels did. The size readout shows the comparison plainly. Simple flat art goes the other way: it usually traces to a fraction of the raster size.
Why was my large image downscaled before tracing?
Tracing walks every pixel several times over, so inputs are capped at 2000px on the long edge to keep traces in seconds instead of minutes. The cost is small: vector output has no resolution, so paths fitted at 2000px scale to any size just as well — the shapes are the same, sampled with less noise.
Can I convert the SVG back to PNG or JPG?
Yes — the reverse tools rasterise any SVG at whatever pixel size you choose: SVG to PNG keeps transparency, SVG to JPG produces the smallest opaque file. Trace here, clean up in a vector editor if needed, then rasterise at exact sizes for destinations that reject SVG uploads.

All Image Tools

Solutions by use case