"Just vectorize it" hides a fork. A logo and a photo need opposite strategies, and using one tool for both is why half your exports come back as blobs.
Logos and icons want sharpening
A logo is flat regions with hard edges and flat color. The right pipeline finds the boundaries between color regions and fits closed paths to them. You want few nodes, exact corners, and solid fills. Trace with too much path detail and you get wobbly edges and thousands of nodes for a shape that should be a dozen control points.
What to check on the output:
- Fill the shape with a new color — it should take, because it is a real region.
- Count nodes. A clean 4-color logo should land in the low hundreds, not tens of thousands.
- Zoom to 800% and look at a straight edge. It should stay straight, not ripple.
Photos want smoothing, not detail
A photograph has no hard regions. Chasing per-pixel detail produces a noisy mess of speckles that is larger than the original and looks worse when scaled up. Here you want aggressive merging of near-collinear points, a speckle filter, and a limited palette. The goal is a poster-like reduction that reads cleanly, not a node-per-pixel reproduction.
The test that separates them
Open the output in a text editor:
<svg ...>
<path d="M12 4 L28 4 L28 20 Z" fill="#1a73e8"/> real geometry, good for a logo
<image href="data:image/png;base64,...."/> wrapped bitmap, not a vector
</svg>
If you see <image>, the extension lied. If you see a handful of <path> elements, you have something you can scale, recolor, and cut.
Why the distinction changes your tooling
- Cutting (CNC, plotter, Cricut): needs closed paths. A wrapped bitmap cannot be cut at all.
- Theming (dark mode, brand recolor): needs fills, not pixels.
- Web weight: a few KB of path data beats a 400 KB base64 blob, and it stays crisp at every DPI.
I benchmarked a converter on both classes of image and wrote up the measured differences — edge fidelity, node counts, file sizes — at pic2svg. The takeaway is boring but load-bearing: match the strategy to the image type, then measure what came out instead of trusting the file extension.
Top comments (0)