Which vectorizer engine should you use? A guide to all four SVGSnap modes
Trace, sketch, strokes, or pixel: SVGSnap has four vectorizer engines, each tuned for a different kind of image. Here is how to pick the right one.

A friend messaged me last week with a screenshot of the upload screen and a single question: "Why are there four buttons here? Which one am I supposed to pick?" Fair question. The defaults work most of the time, but if you have ever wondered what the other three do, this is the post.
SVGSnap ships four vectorizer engines. Each one is built for a different kind of image, and picking the wrong one is the single biggest reason a conversion looks worse than you expected.

Why four engines instead of one
The first version of this site shipped with one tracer, vtracer. It is excellent at color illustrations, logos, and most photo-derived art. But "most" leaves a lot of cases on the floor.
A pencil sketch traced as a color region produces two outlines for every line, one for each side of the pen stroke, which doubles the file size and looks like double vision when you re-color it. A pixel art sprite traced with curves loses the whole point of being pixel art. A signature traced with regions becomes a fat blob instead of a single editable stroke. Different problems, different math.
So the worker grew. Today there are four engines and each one is built around a specific kind of image.
Illustration: the all-purpose tracer
This is the default. Under the hood it is vtracer, a Rust region tracer that reads the image, groups nearby pixels by color, and draws Bezier curves around the edges of each group. Use it for anything with color: logos, icons, illustrations, vector portraits, screenshots of UI, traced photos.
The three settings you can tune are color mode, detail level, and smoothing.
Color mode controls the palette. Full color preserves gradients (right for illustrations) but produces bigger files. Limited or black-and-white forces flat shapes, which is what you want for logos and screen printing.
Detail level decides how aggressively the tracer simplifies. Low gives you fewer paths and cleaner curves at the cost of fine detail. High preserves every wrinkle of the source, including noise. For a flat logo, drop it. For a watercolor, raise it.
Smoothing maps to vtracer's corner threshold. Higher values round off corners; lower values keep sharp angles. If your geometric mark looks like a balloon animal after the convert, your smoothing is too high.
Use the Illustration engine first. If the result looks worse than the source for a reason that is not 'too few colors,' the issue is probably that you should be on a different engine entirely.
Sketch: black ink on white paper
Behind the Sketch button is potrace, the same tracer Inkscape and a hundred other tools have used for two decades. It is the reference implementation for one specific input: a black-and-white bitmap. Pencil on paper. Ink drawings. Tattoo flash. A scanned signature. Shadow puppets. Anything that boils down to dark marks on a light background.
It will not take color from the source, even if there is some, because the first thing it does is threshold the image to pure 1-bit. Pixels darker than the threshold become foreground; everything else becomes background. The tracer then draws clean Bezier outlines around the foreground regions.
The three knobs are threshold, speckle, and smoothing.
Threshold is the line between "this pixel is part of the drawing" and "this is paper." Move it up if the scanner picked up too much paper grain. Move it down if light pencil strokes are disappearing.
Speckle is potrace's --turdsize (yes, really). It drops connected regions smaller than the value. A speckle of 2 keeps the dot on every i; a speckle of 10 will eat your punctuation. Start at 2 to 4.
Smoothing maps to potrace's alphamax, which controls how willingly the tracer rounds corners. Pen and pencil lines are slightly wobbly even when you draw carefully, and a higher smoothing turns the wobble into clean curves. For an inked logo with sharp angles, drop it.
If you have a real sketch on paper and want a deeper walk-through, I wrote a separate post on vectorizing pencil sketches and scanned drawings that covers how to scan well in the first place.
Strokes: editable single-line vectors
The third button says Strokes. Internally it is the centerline engine, and it does something completely different from the first two.
Trace and Sketch both outline lines. If you draw a 4-pixel-wide black line and run either of them, you get a vector with two parallel paths, one for each side of the stroke, and a fill in between. The result looks right but you cannot "thicken" the line because there is no line to thicken. There is only a thin filled rectangle.
Strokes mode skeletonizes the image first. The 4-pixel-wide line becomes a 1-pixel-wide spine, and the engine draws a single SVG <path> with stroke styling along that spine. Now the path has a real stroke-width attribute. You can change it from 2 to 8 in any vector editor and the line gets thicker. You can re-color it by changing the stroke attribute. You can animate it as a draw-on effect.
This is the engine you want for hand-drawn art that you plan to edit. Tattoo flash you will recolor in Illustrator. A signature you want to animate. A botanical sketch that needs to ship in three different stroke weights without re-tracing.
Settings are threshold (same idea as Sketch), stroke width, and stroke color. The output also runs through Ramer-Douglas-Peucker simplification, which is a fancy way of saying "drop redundant points." If your strokes look choppy, the simplification was too aggressive. If they look noisy, it was not aggressive enough.
Pixel: 1:1 vector for sprites and icons
The fourth engine is the most opinionated. It exists because curve tracing destroys pixel art.
If you trace a 32x32 sprite with vtracer, the tracer averages adjacent pixels of similar color, fits curves to the result, and the crisp pixel edges turn into soft Bezier blobs. Your sword icon now looks like a wet noodle.
Pixel mode takes the other path. Every contiguous run of same-color pixels becomes an axis-aligned <rect> with shape-rendering="crispEdges". Two passes of run-length encoding (one horizontal, one vertical) merge runs that are identical across rows so you do not end up with one rect per pixel. The result is a real vector. Every pixel is an editable shape, and it scales without losing the pixelated character that made it pixel art in the first place.
It is hard-capped at 2048 pixels per side. Pixel art is small by definition, and uncapping it means a 4K screenshot turning into a 200MB SVG.
The only setting is palette size. If your input has more unique colors than the target (default 256), the engine quantizes them down with median-cut. This is what lets you feed in a digital painting and get a clean pixel-art-style output instead of a failure. Drop it to 16 or 32 for chunky retro-game looks; keep it at 256 for accurate sprites.
Pixel mode rejects oversize images on purpose. Upload a 4000-pixel-wide screenshot with Pixel selected and you will get an error telling you to use Illustration instead. The Illustration engine is what you want for screenshots.
How to pick, in 30 seconds
If you are not sure which engine to use, here is a decision tree you can run in your head.
Does the source have color you want to keep? Use Illustration. This is true for almost every logo, every icon, every illustration. Default in, then adjust the color mode and detail level if the first pass is not right.
Is the source a black-and-white drawing on white? Sketch. Cleaner output than Illustration on the same input, every time.
Is it a line drawing you plan to edit, recolor, or animate the strokes of? Strokes. The output gives you actual paths with stroke attributes you can change in Illustrator, Figma, or directly in the SVG file.
Is it pixel art, a small sprite, or an icon under 256x256? Pixel. Anything else with that engine will look wrong or hit the size cap.
Most of the time the answer is Illustration. The other three exist for the cases where Illustration is technically a tracer but not the right tracer.
Mistakes I have watched people make
Running Sketch on a colored logo. The threshold step throws away the color. You get a black silhouette of your logo and wonder where the brand color went. Run Illustration on a colored logo. Sketch is for black-and-white sources only.
Running Pixel on a photograph. Either the size cap rejects it (good) or the palette quantization runs and gives you a posterized version that may or may not be what you wanted. If you want a real vector of a photo, use Illustration with high detail. If you want the posterized look on purpose, that is what Pixel quantization is for.
Running Illustration on a hand-drawn sketch. You will get a usable result. You will also get double-outlined lines, paper-grain noise baked into shapes, and a file twice as big as it needs to be. Sketch handles that input in one pass.
Expecting Strokes to handle filled regions. The skeletonization step assumes thin lines. Feed it a solid black square and it skeletonizes to a single point in the middle. Use Strokes for line art, not for fills.
The right engine is the one that matches what you drew, not the one with the most settings.
β SVGSnap Team
When you want to combine
One workflow worth mentioning: if your source is a low-resolution sketch or icon, run it through the image upscaler at 2x or 4x first, then convert. Every engine works better with more pixels to read. I have watched the same scan go from "barely usable" to "perfect" with one upscale step in between.
You can also remove the background before converting if your source has noise, a colored backdrop, or paper texture. Cleaner input gives you a cleaner vector, regardless of which engine you pick.
If you want a closer look at a specific use case, there are walk-throughs for vectorizing logos for print and merch and for vectorizing scanned drawings that go deep on the settings side.
The converter itself is at svgsnap.com. The engine selector is the row of four buttons under the file preview. Pick one, hit convert, see how it looks. If the output is wrong, change the engine, not the settings. That is usually the faster fix.