how to vectorize a photo

How to Vectorize a Photo (and When Not To)

By Swiss Vector SVG Team ·

TL;DR. Photographs vectorize poorly because they have continuous tones and no flat colour regions for a tracer to follow. To get a usable SVG, simplify the photo first — crop to one high-contrast subject, boost contrast, and posterize it down to a handful of colours — then trace that. For a realistic portrait or landscape you want to keep as-is, stay with the PNG or JPG; vectorizing it will only add thousands of jagged paths.

Convert your file now

Vectorizing a logo or a piece of line art is quick and clean. Vectorizing a photograph is the one case where every tracer struggles — and where the fix has more to do with prepping the image than with the converter. Here's what actually happens, and how to get a usable SVG when you genuinely need one.

Why won't my photo vectorize cleanly?

A vectorizer works by finding the boundaries between flat regions of colour and drawing a path along each one. Logos and flat illustrations are full of those boundaries, so the trace is tidy. A photo is the opposite: it's continuous tone — millions of subtly different pixels blending into one another, plus sensor noise and JPEG compression artefacts.

When you hand that to a tracer, it has no clean edges to follow, so it manufactures one around every faint tonal step. The output is thousands of overlapping, jagged paths, a file far larger than the original, and a picture that looks blotchy rather than sharp. This isn't a flaw in one tool — it's true of VTracer, Illustrator's Image Trace, Inkscape, and every other vectorizer, because they all follow the same colour-region logic.

What kinds of photos actually work?

The more a photo already resembles flat artwork, the better it traces:

  • High-contrast, single-subject shots — a dark object on a plain light background traces almost like a logo.
  • Silhouettes and stencils — anything you want reduced to one or two colours.
  • Product or sign photos with bold, flat areas of colour.

And the ones to leave alone:

  • Portraits — skin tone is all gradient; vectorizing flattens it into ugly bands.
  • Landscapes and scenery — endless subtle colour, no flat regions.
  • Anything with fine texture — hair, foliage, fabric, fur.

How do I vectorize a photo, step by step?

The trick is to give the tracer flat regions before it ever sees the image. Do the simplification in any photo editor (Photoshop, GIMP, Photopea, even your phone), then trace the result:

  1. Crop to one subject. Remove busy backgrounds and keep a single, clear shape. Less detail means fewer stray paths.
  2. Boost contrast and cut saturation. Push the tones apart so light and dark separate cleanly. Converting to black and white first often helps.
  3. Posterize to a few colours. Reduce the image to somewhere between two and six flat colours (the "Posterize" or "Reduce colours" tool). This is the step that turns a photo into trace-friendly artwork.
  4. Export as a PNG at the largest sensible size — a sharper source gives tighter paths.
  5. Trace it. Drop the posterized PNG on swiss-vector-svg.com and check the free watermarked preview. Re-trace with a higher speckle filter to drop leftover noise, or tighter colour precision to hold your reduced palette. Download the clean SVG for one credit.

The result won't be a photorealistic vector — it'll be a stylised, poster-like version of the photo. That's the honest goal, and it's exactly what scales and cuts well. If the first trace still looks noisy, step back to the editor and posterize to fewer colours rather than fighting it in the tracer: two or three flat tones almost always beats a fussy re-trace of a ten-colour source. Each colour you remove is a whole layer of stray paths the vectorizer no longer has to guess at.

Photo vs prepared image: what the trace sees

Raw photographPosterized version
Colour structureContinuous gradientsA few flat regions
Edges to followNone — inventedClear boundaries
Trace resultThousands of jagged pathsClean, layered paths
File sizeBloatedCompact
Best useKeep as PNG/JPGVectorize

When should I just keep the photo as a raster?

If you want the photo to look like a photo — realistic tones, depth, texture — don't vectorize it at all. A PNG or JPG is the right format, and converting to SVG only degrades it. Vectorizing pays off when the goal is a graphic derived from the photo: a logo lifted from a product shot, a single-colour silhouette for a cutting machine, or a stylised poster that has to stay crisp from a business card to a billboard. Match the tool to the intent, and a photo becomes a clean SVG only when it deserves to be one.

Frequently asked questions

Can you vectorize a photograph?
You can run any photo through a tracer, but the result is only clean if the photo has flat, high-contrast regions. A realistic portrait or landscape produces thousands of tiny jagged paths and a bloated file. Simplify the photo to a few colours first, then vectorize that reduced version.
How do I turn a photo into an SVG?
Crop the photo to a single high-contrast subject, raise the contrast, and posterize it down to two to six colours in any photo editor. Export that as a PNG, drop it on swiss-vector-svg.com, and download the traced SVG. The simplification is what makes the trace clean.
Why does my vectorized photo look messy?
A tracer follows edges between flat colour regions. Photos have smooth gradients and noise instead of flat regions, so the tracer invents an edge around every subtle tonal shift — producing a mess of overlapping paths. Posterizing the photo first gives it the flat regions the tracer needs.
Should I vectorize a photo or keep it as a raster?
Keep a realistic photo as a raster (PNG or JPG) — that is what photos are for. Only vectorize when you want a stylised, poster-like graphic that must scale infinitely or cut cleanly, such as a logo, stencil, or single-colour silhouette derived from the photo.

Ready to convert?

Drop your file, preview the trace free, and download a clean SVG.

Open the converter