JPG to SVG Converter
Trace raster JPG/JPEG images into scalable SVG vectors. Colour, greyscale and black-and-white modes, adjustable detail and smoothing, a side-by-side JPG vs SVG preview, the path count of the trace, and an honest size comparison — traced SVGs are usually larger than the JPEG.
Upload Files
Drag and drop your JPG files here, or click to select (max 3 files)
Up to 10 MB per JPG
Selected Files
Selected files will appear here
Upload JPG files to start vectorizing
About JPG to SVG Vectorization
- • This is tracing, not a format conversion — the tracer approximates the pixels with vector shapes, so the output is a new interpretation of the image
- • Your JPG is uploaded over HTTPS to our server, vectorised there, returned, and discarded — vectorising cannot run in the browser
- • Up to 3 JPG files at once, 10 MB each; requests time out after 60 seconds
- • Mode picks colour, greyscale or a single-colour silhouette; Detail trades fidelity against size; Smoothing picks curves or polygons
- • JPEG has no transparency: a uniform background is traced as a filled background rectangle, and you have to delete that rectangle in an editor if you want a transparent SVG
- • JPEG compression artefacts (8×8 block edges and colour fringing) get traced as real shapes — a lower Detail setting filters most of them out
- • Expect the SVG to be larger than the JPG for anything but flat graphics — check the size comparison above, then optimise
- • Photographs and dense text vectorise badly; if the result reports only a couple of paths, the image is not suitable for vectorising
About JPG to SVG Converter
This converter traces a raster JPG into SVG vector paths using VTracer, a colour-clustering tracer. The JPEG is decoded and re-encoded to a lossless intermediate, normalised to roughly 1500px on its longest side (small art is upscaled so the tracer can fit smooth curves), grouped into colour regions, and each region is emitted as an SVG path. You choose colour, greyscale or black-and-white output, how much detail to keep, and whether paths are fitted as curves or polygons. The result is shown next to the original at up to 4x zoom, with the number of traced paths and the real output size, so you can judge the trace before downloading it.
Why use a JPG to SVG Converter?
Tracing is the only way to recover a scalable asset from artwork that survives only as a JPEG — a logo pulled out of an old brochure, a scanned mark, a graphic exported by a tool that is long gone. A good trace gives you a file that stays crisp at any size and can be edited in Illustrator or Inkscape. It is equally important to see when tracing fails: this tool reports the path count and flags a degenerate result, so a photo that collapsed into a single rectangle is called out instead of being handed over as a successful conversion.
Who is it for?
Designers rebuilding a logo that only exists as a JPEG export, web developers who need a resolution-independent icon, print and sign operators who require vector artwork for cutting or engraving, and anyone deciding whether a particular JPEG can be vectorised at all before paying for a manual redraw.
How to use the tool
Drag up to three JPG/JPEG files onto the drop zone, or click to browse — each file must start with the JPEG signature and be under 10 MB (both are checked before anything is uploaded)
Choose a Mode: Colour traces every colour region, Greyscale desaturates first (which also suppresses JPEG colour fringing), Black & White produces a single-colour silhouette
Pick a Detail level — on a JPEG, Low often beats High because it filters out the 8x8 block noise that a high-detail trace would turn into extra paths
Optionally override colour fidelity with the bits-per-channel slider, and choose Smooth (curved splines) or Sharp (polygons)
Click Vectorize — the elapsed time is shown while the file is on the server, and you can cancel at any point
Compare the result: the traced SVG sits next to the source JPG, with a side-by-side / single-image toggle and 1x, 2x, 4x zoom
Check the path count and the size comparison — a handful of paths means the trace collapsed, and an SVG several times larger than the JPEG is normal
Download the .svg (or all files as a ZIP), run it through the SVG Optimizer if it is bigger than you want, and delete the background rectangle in an editor if you need transparency
Frequently Asked Questions
How do I convert a JPG to SVG online?
Drop your .jpg or .jpeg file in, pick a mode and detail level, and press Vectorize. The file is traced server-side and comes back as an .svg you can preview next to the original before downloading. Understand what happens in between: this is raster-to-vector tracing, not a format conversion. The tracer clusters pixels into colour regions and draws a path around each one, so the output only approximates the input. Logos, icons and flat line art trace cleanly; photographs do not. The path count shown with the result tells you immediately which of the two you got.
What is the difference between tracing and converting?
A conversion (JPG to WebP, say) re-encodes the same grid of pixels in another container — the picture is preserved exactly or with controlled loss. Tracing throws the pixel grid away and rebuilds the picture out of geometry: edges are detected, similar colours are grouped, and each region becomes a filled path. Nothing guarantees the result resembles the original, which is why two different tracers give two different SVGs from one JPEG. That is also why the output scales infinitely: there are no pixels left, only coordinates. Treat a trace as a new interpretation of the artwork, and always inspect it.
Are my images uploaded to a server?
Yes — the JPEG is uploaded over HTTPS to our server, vectorised, returned, and discarded. Tracing is CPU-heavy native work that cannot run in the browser, so unlike our client-side tools this one requires a round trip. We do not store, log or share the images, and nothing is retained after the response is sent. If the artwork is confidential, run the same class of tool locally instead: potrace for monochrome bitmaps, or VTracer (the engine used here) as a command-line binary for full-colour tracing — both are open source and work entirely offline.
Does a JPEG trace worse than a PNG?
Usually, yes. JPEG is lossy: it quantises 8x8 blocks in the frequency domain and subsamples chroma, so flat areas pick up faint blocking and sharp edges pick up ringing and colour fringing. The tracer cannot tell an artefact from a real feature, so those wobbles become extra paths and ragged boundaries. If the same artwork also exists as a PNG, trace that instead with [PNG to SVG](/tools/png-to-svg/) — identical engine, cleaner input. If JPEG is all you have, use Detail: Low (stronger speckle filtering) or Greyscale mode, both of which suppress compression noise.
Why did my photo come back as one giant blob — or a 5 MB file?
Those are the two failure modes of tracing a photograph. With low detail the tracer finds no boundary it considers significant and collapses everything into one filled region: a technically valid SVG that carries no information. This tool reports the path count and warns explicitly when it is under three, instead of calling that a success. With high detail the opposite happens — continuous tone is chopped into thousands of tiny polygons and the SVG balloons past the JPEG by an order of magnitude. Neither is fixable by settings: photographs have no compact vector representation.
Is transparency preserved when tracing a JPG?
There is nothing to preserve — the JPEG format has no alpha channel, so every pixel of your upload is opaque. Our pipeline reflects that honestly: when the four corners agree on one colour, that colour is treated as a deliberate canvas background and re-emitted as a full-canvas rectangle, so the SVG looks like the JPEG rather than losing its backdrop. To get a transparent SVG you delete that background rectangle in Illustrator, Inkscape or a text editor (it is the first element after the opening tag). If the source ever had transparency, re-export it as PNG and use [PNG to SVG](/tools/png-to-svg/).
When is JPG to SVG actually the right tool?
Two cases. First, recovering artwork: a client sends a logo as a JPEG from an old PDF or website and the vector original is gone — trace it, then clean up the paths in a vector editor and you have a usable asset for signage, embroidery, laser cutting or a design system. Second, deliberate stylisation: tracing a photo at low detail produces a flat, posterised look that some poster and screen-print work wants. Outside those, keep the raster and re-encode it with [JPG to WebP](/tools/jpg-to-webp/) or [JPG to PNG](/tools/jpg-to-png/) instead.
What are the limits, and how do I shrink the SVG afterwards?
Three files per run, 10 MB per JPEG, and a 60-second client timeout per file; the server aborts any trace still running at 45 seconds and answers with a retry hint rather than hanging. Detail sets three tracer parameters together: speckle filtering, colour precision (significant bits per RGB channel: 5 on Low, 6 on Medium, 8 on High) and the colour difference between layers. To shrink the output, lower Detail, reduce colour fidelity, or run the file through the [SVG Optimizer](/tools/svg-optimizer/), which trims path precision and redundant attributes — it typically saves 20-60% on a traced file.
Share This Tool
Found this tool helpful? Share it with others who might benefit from it!
💡 Help others discover useful tools! Sharing helps us keep these tools free and accessible to everyone.