PNG to SVG Converter — Turn Images into Real Vectors

Convert a raster logo into a clean, layered SVG, no subscription required.

Turning a raster photo into an SVG is not the same as wrapping the pixels in an <image> tag and calling it vector. This tool runs imagetracerjs's real hierarchical contour extraction and Bezier curve fitting against your decoded pixel data, then checks its own output — counting actual path and node elements — so a silent fallback to embedding the raster would be caught and shown to you, not hidden.

How to convert PNG or JPG to SVG

  1. Drop a PNG or JPEG onto the upload area, or click to choose one; any other format is refused with a message.
  2. Set Color count (2–64), Detail and Simplify (0–100 each), and turn Smoothing on for geometric artwork; the trace refreshes a quarter of a second after you stop dragging.
  3. Toggle Wireframe preview and read the path and node counts to confirm the result is a real vector that is not too dense for your cutter.
  4. Click Download SVG to save a file named after your source image.

Four parameters, and what each one moves

Color count reduces the traced palette between 2 and 64 colors (default 16) via quantization before tracing begins — fewer colors means fewer regions to outline, which usually suits logos or flat illustration and hurts photographs. Detail runs 0-100 and maps inversely onto imagetracerjs's internal curve error tolerance: push it toward 100 and more Bezier control points survive, keeping small features sharp; drop it toward 0 and the tracer fits coarser curves through more pixels at once.

Simplify (0-100, default 0) raises that same tolerance further and discards short paths outright below a length threshold scaling from 8 pixels at 0 up to 96 at 100 — the lever built for vinyl-cutter and laser-cutter workflows, where fewer, longer segments matter more than fine curve fitting. Smoothing is a plain on/off switch layered on top: it enables right-angle corner enhancement and short-segment line filtering, making traced screenshots and geometric logos look less jagged.

Every trace is deterministic and runs off the main thread

The tracer runs in imagetracerjs's colorsampling=2 mode, its own documented deterministic setting — the same image and parameters always produce byte-identical SVG markup, with no random seed anywhere in the pipeline. That matters if you're scripting a batch or trusting a re-trace after an accidental reload to reproduce exactly what you had.

Tracing happens in a dedicated Web Worker, since contour extraction over a full-resolution raster is CPU-heavy enough to freeze the parameter panel mid-drag otherwise. Every change is debounced 250 milliseconds before a re-trace fires, and a stale response from an outdated request is discarded against the latest request id.

Verifying the output is a real vector, not a wrapped photo

After each trace, the tool inspects the generated markup rather than trusting the tracer's own bookkeeping: it counts actual <path> elements and, within them, M/L/Q drawing commands to arrive at a real node count — the editable anchor points a vector editor or cutting-machine driver would actually see. It also checks explicitly for an embedded raster <image> element, which imagetracerjs never emits but which this check surfaces as a live signal rather than an assumed constant.

A wireframe toggle adds a second, independent confirmation: it strips fills and adds thin strokes to the same generated paths so you can see the distinct outlines, no re-trace required, since it's a pure string transform on markup already produced.

PNG to SVG input formats and daily allowance

Zero-upload, by construction

The worker receives only raw RGBA pixel data transferred from an image decoded locally in the page — it never calls fetch, XMLHttpRequest, or opens a WebSocket, so there is no code path for your source image or the traced result to leave the browser tab.

What tracing cannot do

Where a traced SVG file gets used

Questions people ask about SVG Vectorizer

Why does my traced SVG have thousands of tiny paths?
That usually means the source image has fine texture, noise, or a high color count relative to the color-count setting, so the tracer is finding many small region boundaries. Lower the color count to merge similar shades, raise simplify to drop short paths, or lower detail to accept coarser curve fitting.
Is the output really editable in a vector editor, or is it a raster pretending to be one?
It's a real trace: imagetracerjs performs hierarchical contour extraction and Bezier curve fitting to produce genuine <path> elements with M/L/Q drawing commands, and this tool checks the actual generated markup for those elements and confirms no raster fallback occurred. You can open the file in any SVG editor and manipulate individual anchor points.
What's the difference between the detail and simplify sliders?
Detail controls curve-fitting tolerance — how closely Bezier curves hug the traced boundary, which affects every path. Simplify additionally discards entire short paths below a length threshold, which is the more aggressive lever for cutting-machine workflows that need fewer, longer paths.
Will vectorizing a photo of a person or landscape look good?
Usually not directly. Contour tracing suits flat-color source material like logos and line art; continuous-tone photographs have no hard color boundaries for the tracer to follow, so the result tends toward posterized blotches or an oversimplified silhouette rather than a faithful portrait.
Does the trace change if I run it twice on the same image?
No. The tracer runs in a deterministic sampling mode, so identical source pixels and identical parameter values always produce byte-identical SVG output — there's no randomness in the algorithm to cause drift between runs.
Can I edit the SVG in Illustrator, Inkscape, Figma or Cricut Design Space?
Yes. The download is plain SVG markup built from path elements with no embedded raster image, which is the format those programs import. Each traced region arrives as its own filled path whose anchor points you can move, recolour or delete.
Can I convert PNG to SVG on my phone?
The page needs nothing beyond a browser that runs Web Workers, so a phone can load a picture and trace it. The file must reach the page as PNG or JPEG; if your camera saves HEIC, export or share the photo as JPEG first. Large images trace more slowly on a phone.
Can I get EPS, DXF or PDF output?
No, the only export is SVG. Most vector editors, Inkscape among them, open the SVG and can save it as EPS, DXF or PDF, so do that conversion there if your cutter or print shop asks for another format.
Is it really free to download the SVG?
Yes, within the daily allowance of 15 new images. The Download SVG button saves the complete traced file without a watermark or sign-up, and re-tuning the sliders on an image you already loaded never counts against that allowance.

Related tools on BrakeTools

Content reviewed 2026-09-27.