JPG to SVG, in your browser.

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:

JPG to SVG, in your browser

JPEGs reach a vectorizer from two places: a scan or phone photo of something drawn on paper, and a logo somebody saved in the wrong format years ago. Both work in GetSVG, but JPEG compression leaves fingerprints that a tracer has to deal with, and the settings below are tuned for exactly that. Everything runs in your browser; the file is not uploaded.

What is specific about JPG input

  • Block noise around edges. JPEG stores 8×8 pixel blocks, and sharp edges leave faint ringing in the surrounding blocks. On its own that would become dozens of tiny stray shapes. GetSVG's Remove speckscontrol deletes shapes below a size threshold; the Sketch preset starts with it high.
  • No transparency. A JPG always has a background. The Transparent background switch detects the dominant colour along the border — usually white or paper — and drops it from the SVG.
  • Blurred colour boundaries. Chroma subsampling smears colour across an edge by a pixel or two. In Full colour mode, keep the colour count low (6-8 for a logo) and palette merging folds the halo into the colour next to it.
  • Uneven paper and lighting. Scans and photos rarely have a perfectly flat background. GetSVG thresholds on "distance from the background colour" rather than plain brightness, which keeps faint pencil lines while ignoring a slightly grey page.

Tips for the cleanest result

  1. Crop the photo to the artwork before you load it, so the border sampling sees paper, not the desk.
  2. Start with the Sketch preset for drawings and scans, Clean logo for a logo that was saved as JPG.
  3. If thin pencil lines break into dashes, raise Stroke thickness in Fine-tune by a few steps.
  4. If the shape count is high, move Detail towards Simpler before touching anything else.

For lossless files see PNG to SVG; for modern web images see WebP to SVG. Read how the tracer works to understand what each control changes.

How JPG 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>.

Questions

Why does a JPG produce more shapes than a PNG of the same logo?

JPEG compression adds blocky noise around edges. GetSVG's Remove specks control deletes the tiny stray shapes that noise creates; the Sketch preset and the Simpler end of the Detail slider help further.

Can I get a transparent background from a JPG?

Yes. JPG has no transparency, but the Transparent background switch detects the dominant border colour (usually white) and removes it, so the SVG has no background.

Will JPEG colour bleeding affect the result?

Slightly. Chroma subsampling blurs colour boundaries, so in Full colour mode use fewer colours (6-8) for a clean logo, and let the palette merging fold the halos into the neighbouring colour.

Is a scanned drawing saved as JPG a good input?

Yes. Choose the Sketch preset: it softens scanned edges and removes paper grain. For pencil work, raise Stroke thickness if faint lines break up.

What is the difference between JPG and JPEG?

Nothing. They are the same format with two spellings, left over from an era when file extensions were limited to three letters. GetSVG accepts both.

Can I vectorize a photograph?

You can, but you will not like it. Vectorizing works by fitting shapes to areas of flat colour, and a photograph has none, so the result is a posterised approximation made of hundreds of shapes. It is honestly not what this tool is for. Use it for logos, lettering, signatures and flat artwork.

My JPG logo has a grey halo around the edges. How do I remove it?

That halo is JPEG ringing, and it is one of the things the tracer is built to ignore. The palette is learned only from the flat interior of each colour region, so edge artefacts never become their own colour layer. If a halo still survives, move Detail towards Simpler.

Should I convert my JPG to PNG first?

No. That would not restore the detail JPEG compression discarded; it would only make a larger file containing the same artefacts. Trace the JPG directly, or find a higher quality original if one exists.

I photographed a logo on paper with my phone. Will that work?

It can. Crop to the artwork before loading so the background detection sees paper rather than your desk, shoot in even light with no shadow across the page, and hold the camera square to the page. Then use the Sketch preset.

Why does my JPG produce a slightly different colour than the original?

GetSVG measures each colour from the pixels rather than assuming pure black, and JPEG compression shifts those pixels a little. If you know the exact brand colour, click the swatch in the Colours section and type the hex value before downloading.