Turn a raster image into a scalable vector. This tool traces PNG, JPEG, and WebP images into SVG paths entirely in your browser — no upload, no queue, no watermark. It shines on logos, icons, and flat artwork with clean color regions; use the presets to get a good first trace, then tune colors, detail, and speckle removal and re-trace. It will also tell you honestly when tracing is the wrong tool: photographs come out posterized and often larger than the original file.
PNG to SVG
Trace PNG, JPEG, or WebP images into scalable SVG vectors — right in your browser
Tracing works great on logos, icons, and flat artwork with clear color regions. Photographs vectorize poorly — expect huge files and a posterized look.
When tracing works — and when it doesn't
Vectorization rebuilds an image from regions of flat color. The fewer and cleaner those regions, the better the result: a two-color logo traces into a handful of crisp paths that scale from a favicon to a billboard. Antialiased edges, drop shadows, gradients, and photo texture all fight the tracer — each becomes a fringe of extra paths. If your source is a screenshot of a logo, trace it here; if it is a photograph, keep it raster. The size comparison after each trace tells you which side of that line your image is on, because a traced SVG of a busy image can easily be many times larger than the PNG it came from.
Everything runs locally: the tracer is a small public-domain JavaScript library (imagetracerjs) executing in your browser, which is why there is no upload step, no file-size pricing tier, and no waiting on a server. Large images are downscaled to a 2000px long edge before tracing to keep it fast — since the output is a vector, that costs you nothing at normal viewing sizes.
Related tools
Going the other direction? SVG to PNG rasterizes vectors at 1x/2x/3x. Traced SVGs carry redundant markup, so run yours through the SVG Optimizer to shrink it before shipping. For plain raster-to-raster conversion (PNG ↔ JPEG ↔ WebP), use the Image Format Converter.
Frequently asked questions
What is the difference between a raster image and a vector image?
A raster image (PNG, JPEG, WebP) is a grid of pixels — zoom in and it gets blurry or blocky. A vector image (SVG) is a set of mathematical shapes: paths, curves, and fills that render crisply at any size. Converting PNG to SVG means tracing the pixel regions and rebuilding them as paths, which is why the process is called vectorization or tracing.
Why do photos vectorize badly?
Tracing works by finding regions of similar color and wrapping each one in a path. Logos and flat artwork have a handful of large, clean regions, so they trace beautifully. A photograph has smooth gradients and noise — millions of subtly different colors — so the tracer either flattens it into a posterized look or generates tens of thousands of tiny paths, producing an SVG that is both huge and worse-looking than the original. If you need a photo scaled up, a raster upscaler is the right tool; tracing is for logos, icons, line art, and flat illustration.
What do the tracing settings actually do?
Colors sets the palette size the image is quantized to before tracing — fewer colors means fewer, larger regions and a smaller file. Detail tolerance controls how closely the traced curves are allowed to hug the pixel edges: lower values follow edges more faithfully but produce more path nodes and bigger files. Speckle removal drops any traced path smaller than the given size, which cleans up noise, JPEG artifacts, and stray pixels. The presets are just curated combinations of these.
Why is my SVG bigger than the PNG I started with?
An SVG is only smaller when the image can be described with few shapes. If the source has noise, gradients, antialiasing, or photographic detail, the tracer needs a path for every little region, and the XML describing those paths can easily exceed the original PNG — sometimes by 10× or more. Reduce the color count, raise speckle removal, or accept that the image is not a good tracing candidate. Running the result through our SVG Optimizer also shrinks it.
Is this really private? Where is my image uploaded?
Nowhere. The file is read, decoded, and traced entirely in your browser with JavaScript — there is no upload, no server-side processing, and the image never leaves your machine. That is the whole point of this tool compared to the upload-and-wait converters: it works offline once the page is loaded, and your unreleased logo or client artwork stays yours.
Can I edit the SVG afterwards?
Yes — that is one of the best reasons to vectorize. The output is standard SVG with plain paths and fills, so it opens in Figma, Illustrator, Inkscape, or any code editor. Traced paths are not as clean as hand-drawn ones (expect more nodes than a designer would use), but they are a solid starting point for recoloring, extracting a mark, or scaling artwork for print.
Get weekly dev tools and tips