Initializing... drag & drop files here
Supports: JPG, JPEG, JFIF
stacked color-mode defaults — there is no exposed color-count or threshold slider.JPEG (ISO/IEC 10918, published 1992) is a lossy raster format — every saved file is a fixed grid of pixels with DCT-quantized color blocks. SVG (W3C Recommendation, SVG 1.1 in 2003, SVG 1.1 Second Edition 2011, SVG 2 in progress) is an XML-based vector format that describes shapes as mathematical paths, fills, and strokes. There is no lossless one-to-one mapping between the two formats: the conversion runs an image-tracing pass that approximates the JPEG's pixels as filled <path> elements. xconvert uses the open-source visioncortex/vtracer engine, which runs full-color clustering in O(n) time and emits real <path d="…"> geometry — not a base64-embedded JPEG inside an <svg> wrapper.
The conversion is genuinely useful in a narrow set of cases — and a poor fit for most photographs:
For ordinary photographs — portraits, landscapes, food, product shots — SVG is the wrong target. The tracer has to approximate millions of subtle JPEG-compressed color transitions with discrete vector paths, producing files that are often 5-50x larger than the source JPEG, look posterized, and are not practically editable. Use JPEG to PNG for a lossless raster or stay in JPEG instead.
| Property | JPEG | SVG |
|---|---|---|
| Data model | Raster (pixel grid, 8x8 DCT blocks) | Vector (XML paths, fills, strokes) |
| Defined by | ISO/IEC 10918 (1992) | W3C SVG 1.1 (2003) / SVG 2 |
| Compression | Lossy DCT + chroma subsampling | gzip-compressible XML (text) |
| Scaling | Pixelates and blurs when enlarged | Sharp at any zoom level |
| Color depth | 8 bits per channel, sRGB typical | Flat fills + gradients; sRGB / Display P3 via CSS |
| Transparency | None (use PNG or WebP for alpha) | Full alpha and opacity support |
| Animation | None | Yes — CSS, JS, or SMIL animation |
| Best for | Photographs, screenshots of photographs | Logos, icons, line art, diagrams |
| Browser support | Universal since 1996 | Universal in every modern browser since 2011 |
| Editable paths | No | Yes — open in Illustrator, Inkscape, Figma |
| Typical file size (simple logo) | 30-150 KB | 3-30 KB after tracing |
| Typical file size (complex photo) | 200 KB – 5 MB | 1-50 MB after tracing (impractical) |
| Source content | Trace quality | Notes |
|---|---|---|
| Solid-color logos | Excellent | Clean paths, small file size |
| Icons and pictograms | Excellent | Sharp at any resolution |
| Inked line art | Very good | Smooth Bezier curves |
| Text rendered as image | Good | Becomes shapes, not selectable text — re-type in a vector editor for editable text |
| Cartoons and flat illustrations | Good | Limited color palette traces cleanly |
| Halftone or screen-printed scans | Fair | Dot patterns trace into many tiny paths |
| Soft gradients and shading | Fair | Approximated as banded fills, can look posterized |
| Photographic portraits and landscapes | Poor | Use JPEG to PNG instead |
The "Number precision" slider controls how many decimal digits are kept in each path coordinate emitted by vtracer.
| Precision | Behavior | Use when |
|---|---|---|
| 1-2 | Very rough paths, smallest file | Silhouettes, very small display icons |
| 3 | Compact, slightly stair-stepped curves | Simple logos at small display sizes |
| 4-6 (default 6) | Recommended balance | Most logos, icons, and line art |
| 7-8 | Higher fidelity, larger file | Detailed illustrations with tight curves |
| 9-10 | Maximum precision, largest file | Print or laser-cut workflows where exact geometry matters |
True vectorization. xconvert runs visioncortex/vtracer, which clusters connected color regions and emits <path d="M…"> geometry directly. You can confirm by opening the output SVG in a text editor — you will see XML path strings, not a base64-encoded JPEG payload. Some other "JPEG to SVG" converters do take the wrapping shortcut; those files scale blurry just like the original raster and are useless for cutting or engraving.
Only if the source content is graphically simple. A JPEG of a printed logo, a black-on-white sketch, or a high-contrast cartoon traces into a handful of editable paths. A JPEG of a face, a landscape, or a meal traces into thousands of overlapping color regions that technically open in Illustrator but produce huge files (often 10-50x larger than the source) and aren't practically editable. For photographs, stay in JPEG or convert to JPEG to PNG.
JPEG compresses pixel data aggressively using DCT + quantization + chroma subsampling — a 1000x1000 photo might be 200 KB. SVG describes shapes as text — every path coordinate, color, and curve handle is spelled out in XML. For a photograph, that XML can run to millions of characters. The fixes are: choose a simpler source image, lower the Number precision slider, or use JPEG to PNG if you actually wanted a smaller raster.
xconvert's interface exposes a single knob — Number precision — that controls path coordinate rounding. The other vtracer parameters (color precision, filter speckle, corner threshold, splice threshold, gradient step, hierarchical mode) run at vtracer's defaults: full-color clustering, stacked layering, spline path mode. If you need fine control over color count or threshold, use the default-settings result as a starting point and refine it in Inkscape's Path → Trace Bitmap dialog (free) or Illustrator's Image Trace panel.
Yes — and this is a real consideration. JPEG's 8x8 DCT block boundaries and chroma subsampling create speckles, mosquito noise, and banding that the tracer sees as real edges. A clean PNG of the same artwork traces noticeably cleaner than a JPEG re-save of it. If you have a PNG version of the source, use PNG to SVG instead. If the JPEG is your only source, expect a slightly noisier trace; clean it up in Inkscape after.
Yes. The output is a standards-compliant SVG 1.1 file that opens natively in Adobe Illustrator, Inkscape (free, cross-platform), Affinity Designer, Figma, Sketch, and any modern browser. Path-level edits — recoloring fills, deleting paths, simplifying with Path → Simplify — work the same as any hand-drawn vector file.
Yes, if the traced result is geometrically clean. Cricut Design Space, Silhouette Studio (Designer Edition and above), and Glowforge all accept SVG uploads. For cutting and engraving workflows, prefer Number precision 7-10 so corners and curves land where you expect, and inspect the file in Inkscape before sending it to the cutter — stray micro-paths from JPEG artifacts can cause unwanted cuts.
JPEG itself has no alpha channel, so there's nothing to preserve from the source. The traced SVG can have transparent regions only where vtracer didn't emit a fill — typically the negative space around the outermost shape. If you need a transparent background and your source is a photo with no clear separation, manually erase the background paths in Inkscape, or start from a PNG with a real alpha channel via PNG to SVG.
Vector Magic (1 MP input cap) and Vectorizer.AI (3 MP input cap, 30 MB file size cap) are commercial vectorizers with proprietary tracing engines and paid tiers for download. xconvert uses the open-source visioncortex/vtracer (full-color, O(n) clustering) and is free with no watermark or download paywall. The commercial tools generally produce cleaner traces on photographs and expose more options (image type presets, detail level, color count); vtracer is excellent on logos, line art, and high-contrast graphics, and faster on large inputs. For a difficult photo, try both — for a flat logo, the difference is small.