JPG to SVG

Convert a JPG to a real SVG in your browser. Tracing follows your artwork's outlines, so the white box a JPG forces around a logo disappears and every colour stays editable. No upload.

  • ProcessingOn your device
  • Uploaded to a serverNothing
  • InternetNot needed

Don't take our word for it. Turn off your Wi‑Fi, then use this tool. It will work exactly the same, which is only possible because your file never goes anywhere.

Worth knowing

Tracing suits flat artwork — logos, icons, line drawings, signatures, stamps. A photograph traces into thousands of meaningless shapes, and no setting fixes that.

A JPG has already lost detail before it reaches here. Tracing is a redrawing of a damaged copy, so if the original vector file exists anywhere, it is always the better source.

JPG compression damages hard edges specifically, which is exactly where tracing looks. Expect the outline to sit very slightly off the original.

Full colour tracing separates the artwork into its colours and traces each one, so a crest keeps its gold as well as its navy. Every colour becomes its own group with an editable fill, which is what makes the file editable in Illustrator, Inkscape and Figma. You can recolour any of them here, or flatten the whole thing to one colour afterwards.

WordPress blocks SVG uploads by default, and an SVG placed with an <img> tag cannot be recoloured by CSS. Paste the code into a Custom HTML block instead.

The white box is the reason you are here

A JPG cannot store transparency. There is no mechanism in the format for it — every pixel has a colour and that is all. So a logo saved as a JPG is not a logo on nothing, it is a logo on a solid white rectangle, and that rectangle turns up on your coloured header looking exactly like the mistake it is.

Tracing removes it without anyone having to cut anything out. Only the artwork becomes shapes; the background is not drawn at all, because there is nothing there to draw. Put the traced file on any colour and the colour shows through. That is worth stating plainly because it is the single most common reason a JPG needs converting, and most tools answer it by giving you back the same rectangle in a different container.

Why your logo is a JPG in the first place

Usually because someone sent it in an email, or exported it from a slide, or saved it off a website — and JPG is the default almost everywhere. It is also, for this kind of image, the wrong format.

JPG was designed for photographs, where colour changes gradually across the frame. It achieves its small file sizes by discarding the fine detail that human eyes are least likely to miss in that sort of picture. A logo is the opposite: large flat areas separated by hard edges, which is the one thing the format handles worst. That is why a JPG logo often has faint smudging along its edges, and why the same logo as a PNG is sharp and sometimes smaller.

What compression actually damages

The edges, and almost nothing else. Open areas survive well, because there is nothing there for the compression to get wrong, and the faint noise that does appear across them usually sits far enough from the threshold that it never counts as artwork at all.

The boundary is the problem. A black-to-white edge arrives softened, with a faint halo either side of it. Tracing has to choose a line through that softness, and where it chooses is what decides whether strokes come out slightly heavy or slightly light.

The dots people report around a traced logo are the other half of the same effect: noise that happened to land close enough to count as ink. Minimum shape size discards anything below the size you set, which removes them completely and costs nothing, because a speck four pixels across was never part of the design. It is the setting that earns its place most often on a JPG.

Compression is why your three-colour logo traces as nine

Tracing is set to Full colour by default, which separates the image into its colours and traces each one on its own, so a two-tone logo stays two-tone rather than collapsing into a silhouette. On a JPG that separation has extra work to do, because compression does not leave flat areas flat — it leaves them very nearly flat, in a dozen shades that differ by a point or two.

Colour tolerance is the control for exactly this. It decides how far apart two shades have to be before they count as different colours, so raising it folds all those near-identical greys back into the one grey the designer used. If your logo comes back with a colour list longer than the logo has colours, that slider is the answer rather than the colour cap.

Each colour that survives becomes its own group with its own fill, which is what makes the file editable in Illustrator, Inkscape or Figma. If you would rather have one solid shape, tick “Make the whole thing one colour” after tracing — that way you get the flattened version without having discarded the colours to reach it.

Photographed and scanned artwork

A photograph of a sign, a scan of a letterhead, a picture of a whiteboard — these arrive as JPGs and they trace better than most people expect, because the threshold is measured from your particular image rather than assumed. Otsu's method finds the value that best separates the picture into two groups, so a page with one corner in shadow moves the threshold down instead of turning that corner into ink.

The limit is genuinely uneven lighting. A bright patch and a deep shadow in the same frame cannot both be right under one threshold, because there is only one. When that happens, no setting rescues it and the fix is not a setting: crop tightly to the artwork, or photograph it again more evenly. Cropping solves more of these than every slider combined.

What you cannot get back

A trace is a redrawing of what reached you, not a recovery of what was made. If the JPG has been resized, emailed and resaved a few times, the edges you are tracing are already several steps from the designer's. The result will be clean, scalable and editable — and it will be a faithful trace of a degraded copy.

Converting the JPG to PNG first does not help, and it is worth saying because it sounds as though it should. PNG is lossless, so it will preserve the damage perfectly. Feed the JPG in directly.

So it is always worth asking for the original first. Ask for SVG, PDF or AI, in that order. If what comes back is something that will not open at all, opening a CDR or EPS file covers what does — and if it is an Illustrator file, an .ai file is a PDF underneath and needs no tracing whatsoever.

Using the result

The colours you see are written into the file, so it looks correct the moment you open it and wherever you send it. That is what you want for a logo, and it is also why a theme cannot recolour it: a colour named on the file beats a colour inherited from the block around it.

If you need the opposite — a file with no colour of its own that takes your site's colour on hover and in dark mode — there is a checkbox for it once the artwork is a single colour, and Icon to SVG is the page built around that behaviour. Either way, CSS cannot reach inside an SVG loaded through an img tag, so paste the code into a Custom HTML block rather than uploading it as an image.

The same tracer handles PNG files if that is what you have, and going the other way, SVG to PNG exports at any size with the transparency intact.

Questions people ask

My JPG logo has a white box around it. Will the SVG?

No, and this is the main reason to do it. A JPG cannot store transparency, so every logo saved as one arrives sitting on a solid rectangle. Tracing only turns the artwork into shapes — the background is never drawn at all, so what you get back is transparent everywhere the ink is not. Drop the traced SVG onto a coloured header and the colour shows through, with no white box to cut out.

Should I convert the JPG to PNG first?

It makes no difference. PNG is lossless, but converting to it cannot undo damage already done — you would get a perfect copy of a degraded image. Feed the JPG in directly; the tracer reads both the same way.

My colourful logo traced into a mess. What now?

It was probably traced in one-colour mode. A single brightness threshold puts a gold element and a navy one on the same side of the line, so whichever way you move it one of them vanishes. Leave Tracing set to Full colour: the image is separated into its colours first and each is traced on its own, so both survive. If you still want a one-colour version, tick “Make the whole thing one colour” after tracing.

Why does the traced outline look slightly fatter or thinner?

That is JPG compression, and it is unavoidable. JPG was designed for photographs, where everything changes gradually. A hard black-to-white edge is the worst case for it, so the edge arrives softened and surrounded by faint ringing. Tracing has to pick a line through that softness, and where it picks decides whether strokes come out a touch heavy or a touch light. The ink threshold moves it.

Can I trace a photo of a sign or a whiteboard?

Often yes, if the artwork is flat and reasonably lit. The threshold is measured from your image rather than fixed, so a page with one corner in shadow is handled better than you might expect. Where it gives up is genuinely uneven lighting — a bright patch and a deep shadow in the same photo cannot both be right under a single threshold. Cropping to the artwork usually fixes more than any setting.

There are little dots scattered around my logo.

Compression noise that landed close enough to the threshold to count as artwork. Raise Despeckle, which discards any shape smaller than the size you set. It is the setting that earns its place most often on JPGs, and it costs nothing, because a speck that small was never part of the design.

Is this a real vector or my JPG inside an SVG?

A real vector. A great many converters ranking for this write your image into the SVG as embedded data, which is the same pixels in a new wrapper — it still blurs when enlarged and CSS cannot recolour it. Open the file you get here in a text editor and you will see path coordinates rather than a long run of base64.

Is my image uploaded?

No. The tracer, including the Potrace engine, runs in your browser. Once the page has loaded it works with your network disconnected.

How to use it

Works well with