Convert any image to SVG.

Real editable paths, grouped per colour. Converting uploads nothing.

Drop a PNG, JPG or WebP
or paste from the clipboard
Best from 500 px wide, sharp edges, plain background
Or try:

Convert any image to SVG, without uploading it

GetSVG turns a PNG, JPG or WebP into a real vector file: smooth Bézier paths, one group per colour, ready to edit in Illustrator, Figma or Inkscape. It runs entirely in your browser — the picture is never sent to a server, which also means there is no queue, no account and no file limit.

It is built for logos, lettering, signatures, sketches, icons and flat illustrations. For each of those it has a preset, and it picks the preset for you from the pixels.

People describe this job two ways, so there is a page for each. If you think in file formats:SVG converter, image to SVG,picture to SVG, PNG to SVG,JPG to SVG, WebP to SVG. If you think in outcomes:vectorize an image, image to vector,PNG to vector, logo to vector. Or readhow it works.

How image to SVG works in GetSVG

  1. Drop, paste or choose a picture. PNG, JPG or WebP. The file is read by your browser and is not uploaded.
  2. GetSVG picks a preset. It looks at the pixels — how many colours, how soft the edges are, how much plain background — and chooses Clean logo, Hairline, Brush, Sketch, Illustration or Artwork. Every other setting follows from that.
  3. The tracer runs. For each colour a mask is built and Potrace fits smooth Bézier curves to its outline, in a Web Worker so the page stays responsive. Re-tracing after a settings change keeps the previous result on screen until the new one is ready.
  4. Check it is real geometry. Turn on Paths to see outlines and anchor points, or drag the Split handle to compare original and vector.
  5. Download. SVG grouped per colour, PNG at 1×/2×/4×, or copy the SVG code.

What you get

  • Editable paths, not an embedded bitmap. The SVG contains only <path> elements with cubic Bézier curves.
  • One group per colour. Each colour is a <g fill="#…">, so one click selects a whole colour in Illustrator, Figma or Inkscape.
  • A tight view box. Empty space around the artwork is trimmed automatically, with a small safety margin.
  • Transparent background on request. The dominant border colour is detected and removed.
  • Real gradients when you want them. In Full colour mode, Smooth fits a linear gradient across a faded region and writes a genuine <linearGradient>.

GetSVG in facts

What it does
Converts a raster image (PNG, JPG or WebP) into an SVG made of real, editable vector paths.
Input formats
PNG, JPG/JPEG and WebP. Paste from the clipboard or drag a file anywhere on the page.
Output
SVG with one <g> group per colour and one <path> per shape; also PNG at 1×, 2× or 4×; copy SVG code to the clipboard.
Where it runs
Entirely in the browser (WebAssembly in a Web Worker). No image data is uploaded; there is no server-side processing.
Price
Free. No account, no sign-up, no watermark, no file limit imposed by us.
Engine
Potrace (via esm-potrace-wasm) for curve fitting, with GetSVG's own pre-processing: background detection, Otsu thresholding, median-cut colour quantisation, palette merging, gradient fitting.
Presets
Clean logo, Hairline, Brush, Sketch, Illustration, Artwork. The preset is picked automatically from the picture and can be changed.
Colour modes
Black & white (one ink), Ink + one colour (an accent such as a seal or dot), Full colour (up to 16 flat colours, optional real SVG gradients).
Best input
At least 500 px wide, sharp edges, plain background. Photographs and blurry screenshots trace poorly; logos, lettering, signatures, sketches and flat illustrations trace well.
Privacy
Converting uploads nothing. No cookies, no tracking scripts, no third-party requests; fonts are self-hosted. Two first-party requests exist: a conversion counter whose whole request body is an empty object — no identifier, no filename, no image, and — only if you tick the box after saying a result was poor — the picture and SVG you choose to send so the tracer can be fixed. You can verify all of this in the browser's network tab.
Editing
The result opens in Illustrator, Figma, Inkscape, Affinity Designer or any SVG editor; each colour is a selectable layer.

Questions

Is my image uploaded anywhere?

Not by converting. The whole conversion runs inside your browser using WebAssembly, and the page makes no third-party requests. There is one deliberate exception you control: if a result comes out poorly, you can tick a box to send that picture and the SVG it produced so the fault can be reproduced and fixed. Nothing is sent unless you tick it and press the button.

Is the output a real vector, or a PNG wrapped in an SVG?

A real vector. The SVG contains only <path> elements with Bézier curves, grouped one <g> per colour. Turn on the Paths overlay to see the outlines and anchor points, or open the file in any vector editor and move the points.

Which formats can I convert?

PNG, JPG/JPEG and WebP go in. SVG comes out, plus PNG at 1×, 2× or 4× and copy-to-clipboard for the SVG code.

Does it work for photographs?

Not well. Vectorizing fits smooth shapes to areas of flat colour, so photos turn into a posterised illustration with many shapes. It is built for logos, lettering, signatures, sketches, icons and flat illustrations.

How do I get a transparent background?

Switch on Transparent background in the Colours section. GetSVG detects the dominant colour around the border of the picture and removes it, so the SVG only contains the artwork.

Why does my result have hundreds of shapes?

Usually because the picture has soft shading or JPEG noise. Move the Detail slider towards Simpler, choose fewer colours in Full colour mode, or raise Remove specks in Fine-tune.

Is it free?

Yes. There is no account, no watermark and no file limit imposed by us; the only limit is your device's memory for very large pictures.

Which programs can open the SVG?

Adobe Illustrator, Figma, Inkscape, Affinity Designer, Sketch, CorelDRAW and every browser. Each colour arrives as its own group, so you can select, recolour or delete a whole layer at once.