Cookies for analytics and advertising
We use cookies for analytics and advertising, both sent to Google. Refusing changes nothing you can see.Read the privacy page
Converting a JPG to SVG means tracing it: the tracer looks for edges between areas of similar colour and draws outlines around them. That works on a flat mark and it does not work on a photograph, which has no flat areas at all — so the SVG comes back posterised, and usually several times larger than the JPG.
Up to 100 files at once. Mixed formats are fine.
They convert one after another and download together as a ZIP.
JPG to SVG
If the file is a photograph — a person, a product on a table, a building, a landscape, anything a camera saw — tracing it will not give you a scalable version of it. There is nothing in the file to scale. A photograph is a continuous field of colour with no boundaries in it, and the tracer has to manufacture boundaries before it can draw any, which it does by reducing the picture to a handful of flat colours.
What comes back looks like a screen-printed poster of your photograph, and it is bigger. On this site’s own sample photograph, 8,924 bytes of JPG became 200,835 bytes of SVG at the default eight colours — twenty-two times the size, and visibly worse. Both halves of that are bad, which is unusual: most trade-offs on this site give you something in exchange. This one, on this input, gives you nothing. The rest of the page is for the two kinds of visitor for whom that is not the whole story.
Posterisation is a failure when you wanted a photograph and a technique when you wanted a poster. If the plan is a two-colour screen print, a vinyl cut, a stencil, a laser engraving or a Cricut project, the flat regions the tracer invents are exactly the regions the machine needs, and a photograph is a legitimate starting point.
Work at four colours rather than eight for that job. Four gives large, mostly closed regions a cutter can follow; eight already produces the fragmented islands that make a cut file unusable. Then open the result in Inkscape and delete the specks — there will be some, and on a cutter each speck is a real cut. The measured shape count is the guide: the sample photograph at four colours came out as 246 paths, and at thirty-two as 3,897, which is not a design anybody is going to tidy up.
JPEG does two things that matter here and that no other source in this bundle does. It stores colour information at half the resolution of brightness, and it compresses in eight-by-eight pixel blocks. Both are invisible at normal viewing size and both are structure, so the tracer treats them as picture.
The result is ringing traced as thin outlines along every hard edge, and faint block boundaries traced as a grid across areas that were meant to be flat. A JPG saved once at high quality shows little of it; a JPG that has been through a messaging app twice shows a lot. If you have any access to the file before it was compressed — the original PNG export, the file the designer sent — trace that instead, because the difference is larger than any setting on this page.
This is the commonest honest reason to arrive here: the artwork is gone, and what survives is a photograph of a sign, a letterhead, a business card or an old brochure. Tracing that is reasonable, and it is worth doing the photography properly first because nothing downstream can fix it.
Light it evenly with no shadow across the mark, shoot square-on rather than at an angle, fill the frame with the mark alone, and crop away the paper before converting. Then trace at four colours with smooth detail. Paper texture and camera noise are the enemy, and both are reduced far more by a better photograph than by any option here. Expect a result that is close enough to redraw from rather than close enough to use.
The colour setting decides how many flat regions the picture is reduced to before any outlining happens, and on a photographic source it is the only setting that changes the outcome by an order of magnitude. Four for a poster or a cut file, eight only if four has visibly lost the subject, sixteen and thirty-two essentially never.
The cost of raising it is not gentle. Each extra colour is another complete set of regions to outline, and on continuous tone every one of those regions is a ragged island rather than a shape. The sample photograph measured 101,709 bytes at four colours, 200,835 at eight, 557,618 at sixteen and 1,137,963 at thirty-two — an eleven-fold climb in bytes for a picture that still is not the photograph. Flat artwork behaves nothing like that, which is the clearest sign that a photograph is the wrong input rather than a badly configured one.
The detail setting controls how closely each outline follows the pixel grid and how small a shape has to be before it is thrown away. Smooth accepts a looser fit and discards anything under sixteen pixels; sharp follows the grid closely and keeps shapes down to two pixels; balanced is the default and sits between them.
On a photograph, smooth is right and sharp is close to useless. Sensor noise and JPEG ringing are precisely the sub-sixteen-pixel shapes that smooth throws away, and sharp is an instruction to keep every one of them. The one thing no setting does is blur the image first: the blur radius stays at zero throughout, because softening edges to reduce speck count would also soften the few real edges the picture has.
Anything longer than 1,600 pixels on its longest edge is reduced first. Tracing cost grows with the number of edges rather than with the pixel count, and a twelve-megapixel camera JPG has an edge almost everywhere, so left alone it can spend tens of seconds producing a multi-megabyte file.
This costs less than it sounds. The output is resolution-independent, so a mark traced at 1,600 pixels and the same mark traced at 4,000 render identically at any size; what changes is only how tightly the outlines hug the original grid. On a photograph the reduction is actively helpful, because it averages away exactly the sensor noise that would otherwise become shapes. It does mean a 24-megapixel file gives you no more detail than an 8-megapixel one, so there is no reason to upload the full-size original.
A list of filled paths, one per region, stacked in layers, each with a solid fill and a matching one-pixel stroke. There are no groups, no names, no text elements and no structure: nothing in the file corresponds to "the roof" or "the letter A", only to an area that happened to be one colour after quantisation.
That matters for editing. Inkscape, Illustrator and Figma will all open the file and let you select, recolour, move or delete any shape, and for a four-colour poster that is a workable afternoon. For a thirty-two-colour trace of a photograph it is not: three thousand overlapping unnamed blobs are harder to work with than a blank canvas. Transparency, where the JPG had none to begin with, is carried as an opacity attribute on the affected paths rather than as an alpha channel — relevant only if the SVG is later composited over something.
If the problem is that the picture goes soft when enlarged, no format solves it and SVG least of all; use the largest original you have. If the problem is that re-saving keeps degrading the file, converting the JPG to PNG stops the bleeding: PNG is lossless, so nothing further is lost, though nothing already lost comes back either.
If the problem is that a printer or a design team asked for vector artwork, the answer is a redraw rather than a trace. A simple wordmark takes twenty minutes in Inkscape and produces a file with real curves, real text and real structure, which is what "vector" was being asked for. A trace of a photograph satisfies the file extension and nothing else, and any designer receiving it will say so.
The JPG is decoded, scaled and traced in your browser. Nothing is uploaded, there is no account and there is no daily allowance, which matters here more than on most pages because the photographs people try to vectorise are frequently of their own work, their own family or a client’s brand.
The tracing is done by imagetracerjs — 46 KB, pure JavaScript, released under the Unlicense. It is not the best tracer in existence. potrace and autotrace produce cleaner curves and are GPL; VTracer is better again and properly licensed, but its only browser packaging declares no licence at all, which this project treats as blocked rather than as permissive. On flat artwork the difference between them is modest. On a photograph all four produce a posterised copy, so the choice of tracer is not what is standing between you and a good result.
| JPG | SVG | |
|---|---|---|
| Full name | JPEG Image | Scalable Vector Graphics |
| File extension | .jpg, .jpeg, .jpe | .svg |
| Media type | image/jpeg | image/svg+xml |
| Compression | Lossy — file size is bought with quality | Uncompressed |
| First published | 1992 | 2001 |
| Published by | Joint Photographic Experts Group | W3C |
| Specification | ITU-T T.81 | SVG 1.1 |
| Licensing | Open standard | Open standard |
| Standing today | Current | Current |
| Bit depth | 8 | — |
| Colour it can describe | RGB, greyscale, YCbCr | RGB |
| Largest image | 65,535 px per side | — |
| Opens in a browser | Every browser | Every browser |
| Considered instead | WebP, AVIF, HEIC | PNG, PDF |
SVG supports transparency and JPG does not. That is room the result has and the original never used — converting does not create a transparent background, it only makes one possible afterwards.
SVG is a working format and JPG is a finished one. What comes back is editable text and objects rather than a picture of a page, which is usually the reason for the conversion and also where its limits are.
SVG can hold animation; a JPG is one frame. The result is a single-frame file in a format that could hold more.
SVG supports layers. A JPG arrives already flattened, so the result has one layer — the structure has to be rebuilt by hand if it is needed.
The usual programs do not overlap: JPG opens in Adobe Photoshop, GIMP and Preview, SVG in Inkscape, Adobe Illustrator and Figma — so whoever receives the result needs something from the second list.
The result is larger than the original and no better. JPG has already discarded detail, and SVG stores what is left without discarding more — it prevents further loss rather than undoing the first one.
JPG is Joint Photographic Experts Group's format, published in 1992. It records 8 bits per channel.
SVG comes from W3C and dates from 2001, specified as SVG 1.1. Inkscape, Adobe Illustrator and Figma all read it.
No. This conversion runs entirely inside your browser, so the file never leaves your device. You can confirm it yourself: open the network tab of your browser's developer tools and convert something. You will see the page load, plus the analytics and advertising the site is paid for with — and nothing carrying your file.
Not in the sense you mean. There is no method — here or anywhere — that recovers shapes from a photograph, because the photograph never had any. Every tracer, including the expensive ones, reduces the picture to a few flat colours first and then outlines those. The result is a poster, not a photograph.
Because a JPG stores a compressed grid and an SVG stores the coordinates of every outline. Measured on this site’s own sample photograph: 8,924 bytes as JPG, 200,835 bytes as SVG at eight colours, and 1,137,963 bytes at thirty-two. The comparison is shown before you download, so you can see which way it went.
For a deliberately posterised design, yes, and this is the one photograph job that works. Set colours to four, use smooth detail, and expect to delete stray shapes in Inkscape afterwards. For a cutter you also want to check that each colour has become one closed region rather than fifty.
Better than a scene, but not well. Paper texture, uneven lighting and camera noise all become shapes. Photograph it flat and evenly lit, crop tight, and set colours to four — or find the original artwork, which almost always still exists somewhere.
Yes, more than on any other source here. JPEG stores colour at half resolution and works in eight-by-eight blocks, so a heavily compressed file has ringing along every edge and faint block boundaries in flat areas. The tracer cannot tell those from the picture and draws outlines around them.
If the goal is a bigger picture, keep the pixels: use the largest JPG you have, or convert it to PNG so no further generation of loss is added. If the goal is a scalable logo, the answer is redrawing it in Inkscape, Illustrator or Figma — for a simple mark that is twenty minutes.
The claims this page makes about JPG and SVG are checkable, and these are the documents that settle them.