Free preview · no upload

Convert JPG to SVG

Trace a JPG into clean SVG outlines. JPEG compression softens every edge and speckles the flat areas before you start, so the speckle filter and the palette size are the two controls that matter here.

Input
JPG
Output
SVG
Engine
WASM, in your tab
Price
Free preview
Job ticketJPG → SVG · Preset: Logo

Drop an image here, or paste

SVGPDF

Your image is never uploaded. It is traced in this tab.Open the full converter

Preset

  • 01Logoset for this page16 colours
  • 02Line artBlack & white
  • 03Photo64 colours
  • 04Embroidery8 colours · Cutout
  • 05Vinyl4 colours · Cutout
  • 06LaserBlack & white · Polygon
01

Why vectortrace

3 claims · fixed order
02

Format facts

JPG in · SVG out
Format factsJPG · inSVG · out
KindRaster. A grid of pixels, stored in 8x8 blocks.Vector. Paths described in XML.
ScalingBlurs past its native size, and the block artefacts scale with it.Sharp at any size.
ColourUp to 16.7 million colours, no alpha channel. Lossy.One solid fill per path, in a palette you can edit by hand.
Editable inPhotoshop, GIMP, Affinity Photo.Illustrator, Inkscape, Figma, Affinity Designer, a text editor.
Typical usePhotographs, camera output, anything a client emails you.Web, icons, print artwork, the input to a cutter workflow.
03

Worth knowing

JPEG is lossy and block-based: an 8x8 block near a hard edge gets ringing, and a flat colour area picks up a faint grid. Both are invisible at 100% and very visible to a tracer that thresholds. Raising the speckle filter drops the ringing before it becomes a path; lowering the palette merges the block-to-block colour drift back into one fill.

JPEG has no alpha channel, so a JPG of a logo always arrives on a background. Trace it, then delete the background path — it is the largest one and usually the first in the file.

If the JPG is a photograph rather than a mark, switch to the photo preset. A traced photograph is a stylised, posterised version of it, which is the honest description: sixty-four flat fills cannot be a photograph, and any converter that says otherwise is showing you a bitmap in a wrapper.

04

How it works

3 steps
  1. Drop the JPG

    Drop, paste or choose a JPG or JPEG. The browser decodes it and the worker takes the pixels from there.

  2. Raise the speckle filter

    JPEG artefacts trace as tiny regions. Push the speckle filter up until the path count stops falling, then stop.

  3. Export the SVG

    Delete the background path in your editor if the JPG had one — JPEG cannot store transparency, so there always is one.

05

Benchmark

No claim without a number, a date and a version.
smoke (30 fixtures) · 2026-08-27 · 0.2.0

Measured, not marketed. The corpus, the method and every figure the run produced are published in full.

Methodology/benchmarks
boundary error, p95
0.39 px
region-count error
0.113
node-count ratio
6.35×
06

Questions

3 questions
01Is JPEG the same as JPG here?
Yes — same format, same decoder, same page. The extension differs for historical reasons (DOS allowed three characters), so /convert/jpeg-to-svg permanently redirects here rather than existing as a second copy.
02Why does my traced JPG have speckles the original does not?
Those are JPEG artefacts being traced faithfully. Raise the speckle filter so regions under that many pixels are dropped, and lower the colour count so near-identical blocks merge into one fill.
03Does the photo leave my computer?
No. The tracer is WebAssembly running in a Web Worker in this tab, so the pixels stay on your machine. There is no upload step, which is also why it keeps working with the network off.
07

Related

7 links