What does it mean to vectorize a picture?
Every photograph, screenshot and exported logo you download is usually a raster image: a rectangular grid of coloured pixels. Zoom in far enough and you will see the grid. Scale the image up and those pixels stretch, which is why a small JPEG logo turns soft and blocky when it is printed on a banner or cut into vinyl.
Vectorizing — also called tracing or raster-to-vector conversion — replaces that pixel grid with a set of geometric shapes described mathematically: points, straight lines and Bézier curves. The output is normally an SVG file (Scalable Vector Graphics). Because an SVG records "a shape starts here, curves like this, and fills with this colour" rather than "pixel 412 is #4338CA", it can be rendered at any size and stay perfectly sharp.
This tool performs that conversion entirely inside your browser. It reads the pixels through the HTML Canvas API, groups them into a limited palette, traces the boundary of every colour region into polygons, simplifies those polygons, optionally fits smooth curves through them, and writes the result out as standard <path> elements. The downloaded file contains no embedded bitmap and no base64 copy of the original photo — open it in a text editor and you will see only coordinates.
How to vectorize an image with this tool
- Load a picture. Drag a PNG, JPG, JPEG or WebP file onto the upload area, click Browse files, or paste an image straight from your clipboard with Ctrl/⌘+V. You can also press Use a sample image to load a built-in illustration.
- Start from a preset. Eight presets ship with the tool: Logo, Illustration, Line art, Photo, Sketch, Signature, Cartoon and Pixel art. Apply one with a click, or tune each slider yourself. If you find settings you love, press Save preset to create your own.
- Auto-detect the colour count. Not sure whether your logo needs 6 or 16 colours? Click ✨ Auto — the tool samples thousands of pixels, builds a coarse histogram, and suggests a palette size that matches the image's natural colour groupings.
- Remove the background. Choose Auto remove to flood-fill from the image border, Remove a specific colour to pick a hex value, or Pick from image — the cursor becomes a crosshair and clicking anywhere on the preview samples that pixel as the background to remove.
- Exclude stray colours. Once a trace is done, the palette swatches below the preview become buttons. Click any swatch to exclude that colour — its pixels become transparent in the SVG. This is faster than re-tracing when you just want to drop a watermark tint or a stray brand colour.
- Compare, inspect and export. Switch between Split, Original, Vector, Overlay and Difference views. Hover anywhere on the preview to see the exact pixel colour under the cursor. Drag the split handle to compare left and right. Then copy the SVG, download it, or export a PNG raster of the same shapes.
💡 Every change to the settings triggers an automatic re-trace in the background — you never have to click Vectorize manually. That button only becomes necessary when you want to force an immediate re-run after a change you made while the tool was busy, or when you want to cancel an in-progress trace.
Raster vs vector: the difference that actually matters
| Aspect | Raster (PNG, JPG, WebP) | Vector (SVG) |
|---|---|---|
| What is stored | A grid of coloured pixels | Coordinates, lines and curves |
| Scaling up | Blurs or pixelates | Stays sharp at any size |
| Typical file size | Large for high resolution, small for icons | Small for flat shapes, larger for complex artwork |
| Best for | Photographs, textures, screenshots | Logos, icons, line art, diagrams, lettering |
| Editing | Pixel-by-pixel retouching | Move nodes, recolour shapes, restyle with CSS |
| Print quality | Fixed resolution — must be exported at 300 DPI | Resolution-independent |
| Cutting machines | Not usable as cut paths | Directly usable as cut paths |
The practical upshot: if a graphic is made of flat shapes — a logo, an icon, a signature, a sticker design, a simple illustration — vector is almost always the better master format. If the graphic is a photograph with continuous tone, keep it as a raster image and export at the size you need.
How this vectorizer works under the hood
There is no server and no machine-learning model behind this page. The pipeline is deterministic, and understanding it helps you get better results:
- Downscale for tracing. The image is drawn onto a canvas at the chosen processing size (480–1400 px on the long edge). This keeps tracing fast while the exported SVG still uses the original dimensions in its
viewBox. - Optional pre-sharpen. An unsharp mask can be applied before tracing to enhance edges on soft or blurry source images.
- Optional background removal. Matching pixels are set to transparent before anything else happens, so they never become vector shapes.
- Colour quantisation. The remaining pixels are reduced to a palette using median-cut quantisation: the colour space is repeatedly split along its widest channel at the median until the requested number of colour boxes exists, and each box contributes its average colour. Pixels are then mapped through a 32×32×32 lookup table for speed.
- Noise filtering. A mode filter replaces isolated pixels with the colour of their neighbours, and small contours are discarded entirely by area threshold.
- Contour tracing. For each colour, the boundary between that colour and every other colour is walked as a closed loop of edges using a rightmost-turn preference. Interior holes are traced as additional loops, which is why a letter like "O" keeps its counter and two diagonally touching blobs stay separate.
- Path simplification. Each loop is reduced with the Ramer–Douglas–Peucker algorithm, which removes points that sit close to a straight line between their neighbours.
- Curve fitting. When smoothing is enabled, the simplified polygon is converted into cubic Bézier segments using a Catmull-Rom style control-point calculation, so corners soften without the shape drifting away.
- SVG assembly. Every colour becomes a single
<path>withfill-rule="evenodd", which lets outer contours and holes live in the same path and render correctly. - Quality scoring. The finished SVG is rasterised back to a canvas and compared pixel-by-pixel with the original processing image. Mean squared error is converted to a 0–100 quality score so you can tell at a glance how close the trace is.
Everything above is ordinary geometry. That is why the output is editable in any vector editor and why it scales cleanly — and also why photographs, which have no flat regions to trace, produce posterized bands rather than a realistic picture.
What each setting actually does
| Setting | Range | Effect | When to change it |
|---|---|---|---|
| Colour count | 2–32 | How many flat colours the image is reduced to | Lower for logos and icons; raise for illustrations with many tints; press Auto for a suggestion |
| Threshold | 1–254 | Luminance cut-off in black & white mode | Raise if light details disappear; lower if dark areas merge |
| Invert | on/off | Swaps black and white in B&W mode | White artwork on a dark background |
| Detail level | 0–100 | How many points survive simplification | Lower it if the SVG is huge or the outline looks noisy |
| Curve smoothing | 0–100 | How strongly corners are rounded into Bézier curves | Raise for organic shapes; keep low for technical or pixel art |
| Noise removal | 0–100 | Minimum contour size that is kept | Raise for scanned or JPEG artwork full of speckles |
| Background | keep / auto / colour / pick | Whether background pixels become transparent | Pick uses the eyedropper for on-image sampling |
| Tolerance | 0–120 | Colour distance allowed when matching the background | Raise for soft or slightly off-white backgrounds |
| Export background | on/off + colour | Adds a solid rectangle behind the paths | When you need a white or brand-coloured backdrop in the file |
| Processing size | 480–1400 px | Resolution used for tracing | Raise only when fine detail genuinely matters |
| Pre-sharpen | 0–100 | Unsharp mask applied before tracing | Blurry or JPEG-compressed source images |
| Merge adjacent shapes | on/off | Combines neighbouring contours of the same colour | Cleaner output with fewer paths |
| Antialias | on/off | Sub-pixel smoothing on the output edges | Off for pixel art; on for everything else |
Which images vectorize well
| Image type | Result quality | Suggested settings |
|---|---|---|
| Flat logos and brand marks | Excellent | Logo preset · 4–10 colours · smoothing 35–60 |
| Icons and UI glyphs | Excellent | Logo preset · 2–6 colours · high detail |
| Signatures and handwriting | Very good | Signature preset · auto background · smoothing 60–80 |
| Line art and sketches | Very good | Line art preset · B&W · noise removal 30–50 |
| Pixel art and sprites | Good | Pixel-art preset · zero smoothing · hard corners |
| Flat illustrations | Good | Illustration preset · 16–28 colours |
| Cartoons and comic panels | Good | Cartoon preset · bold outlines · moderate colours |
| Screenshots and diagrams | Good | Colour mode · moderate colours · high detail |
| Photographs | Poor | Only for posterized or artistic effects |
When you should not vectorize
Vectorization is not a general-purpose "make any image better" button. It struggles badly with three categories:
- Photographs. A portrait or landscape contains millions of near-identical colours. Reducing them to 32 flat tones produces visible bands and destroys the realism. No tracer can recover detail that was never made of flat regions.
- Gradients and soft shadows. A smooth colour transition has no boundary to trace, so it is chopped into a series of stepped bands. If you need gradients, keep the raster or recreate the graphic natively in a vector editor.
- Highly detailed, noisy artwork. Textured paintings, watercolour scans and grainy images generate thousands of tiny contours. The SVG ends up larger than the original image and is painful to edit.
⚠ If your goal is simply to enlarge a photo without losing quality, vectorizing will not do it. Use an upscaler instead and keep the file as a raster format.
What people do with the SVG
- Cutting machines. Cricut, Silhouette and Brother ScanNCut read SVG cut paths. A clean two-colour trace with high noise removal produces cut-ready outlines.
- Laser engraving and CNC. Laser software wants thin vector paths; engraving wants filled areas. Black & white mode gives you both options.
- Print and signage. A vector logo can be printed on a business card or a billboard from the same file with no resolution compromise.
- Embroidery digitising. Vector outlines are the standard starting point for stitch-file conversion.
- Web icons and illustrations. SVGs are typically smaller than PNG equivalents for flat artwork, and they stay crisp on high-DPI screens.
- T-shirts, stickers and vinyl. Print-on-demand workflows need clean, separated colour shapes.
- Design iteration. Importing a traced logo into a vector editor lets you straighten edges, adjust spacing and rebuild the mark properly.
- Logos for Word documents and slides. Replacing a blurry PNG logo with its SVG trace makes every deck and every letterhead look sharper.
Fifteen tips for cleaner vector output
- Start from the largest, cleanest original you have. A blurry 200 px JPEG cannot produce a crisp trace, no matter what settings you use.
- Try Auto colour count first — it is usually within one or two of the ideal value for a logo.
- Remove the background first if the graphic sits on a plain colour — it removes an entire layer of unnecessary shapes.
- Use the eyedropper when the background colour is not obvious; it samples the exact pixel instead of forcing you to guess.
- Lower the detail level before reaching for smoothing. A noisy outline is usually too many points, not too few curves.
- Use smoothing last. Simplify first, then round the remaining corners.
- Turn noise removal up for scanned artwork and screenshots with anti-aliasing fringes.
- Keep smoothing low for pixel art. Hard edges are the point of the style; the Pixel-art preset already does this.
- Exclude stray palette colours by clicking their swatches instead of re-tracing — much faster when you just want to drop one tint.
- Check the quality score. Above 90 usually means the trace is visually faithful; below 70 usually means you need more colours or more detail.
- Switch to Difference view when you cannot spot what went wrong in Split view — the mismatched pixels glow.
- Inspect corners at 200–400% zoom. The pixel inspector tooltip will show you the exact original colour under the cursor.
- Check the path count. Cutting software often caps the number of paths; if you are close to a limit, reduce colours and detail.
- Save your favourite settings as a preset. Custom presets are stored locally in your browser and appear as chips next to the built-in ones.
- Redraw logos properly when it matters. A trace is an approximation. For a primary brand asset, use the trace as a reference and rebuild the geometry cleanly.
Privacy: nothing is uploaded
All decoding, colour reduction, contour tracing, quality scoring and SVG generation happen in your browser using the Canvas API and plain JavaScript. There is no upload endpoint, no analytics call containing image data, and no storage of your file. Once the page has loaded, the tool works even with the network disconnected. Custom presets you save live only in localStorage on this device, and you can delete them at any time by clicking their × button.
Limitations
- Images are downscaled before tracing, so detail finer than the processing resolution is lost by design.
- Animated GIFs and multi-page files are not supported; only the first frame of a static image would make sense in a vector anyway.
- Very complex traces can produce large SVGs. The tool warns you when the path or node count gets high, but it does not automatically simplify further.
- Text inside an image is traced as shapes, not as editable text. No OCR is performed.
- The tracer is deterministic geometry, not an AI model. It will not "understand" that a circle should be a perfect circle or that a line should be perfectly straight.
- Extremely large uploads (over roughly 25 MB) may fail to decode depending on the browser's memory limits.
- The "Copy as image" button uses the Clipboard API; some browsers and operating systems do not support writing images to the clipboard, in which case the PNG download button is the fallback.
- The Difference view uses a CSS blend mode rather than a pixel-perfect diff — it is a fast visual aid, not a forensic tool.
Frequently asked questions
What does it mean to vectorize a picture?
Vectorizing means converting a pixel-based image (raster) into geometric shapes described by coordinates — points, lines and curves. The result is usually an SVG file that can be scaled to any size without becoming blurry, because it stores mathematical paths rather than a fixed grid of pixels.
Is this image vectorizer free?
Yes. There is no account, no payment, no watermark and no conversion cap. The tool runs entirely in your browser and there is nothing to subscribe to.
What file formats can I upload?
PNG, JPG, JPEG and WebP. Animated GIFs are not supported because vector output is static.
Does it upload my image to a server?
No. The image is decoded and traced entirely inside your browser using the Canvas API. Nothing is uploaded, logged or stored anywhere. The page also works offline once it has loaded.
How many colours should I use?
Use a number close to the actual number of flat colours in the artwork. Logos usually need 4–12, illustrations 12–24, and detailed artwork 24–32. Press the Auto colour count button to let the tool analyse your image and suggest a value.
What does the detail level slider do?
It controls how aggressively the traced outlines are simplified. High detail keeps more points and follows every bump in the shape. Low detail removes points, producing a smaller and cleaner file that follows the silhouette loosely.
Why do my vector edges look jagged?
Contours are traced along pixel boundaries, so they are staircase-shaped before smoothing. Raise the smoothing slider to fit cubic Bézier curves through the simplified outline. Very low smoothing deliberately keeps hard, straight edges.
Why do photographs look bad when vectorized?
Photos contain millions of continuous colour transitions. Vector tracing groups similar pixels into flat colour regions, so a photo becomes posterized bands of colour rather than a realistic image. Vectorization is designed for logos, icons, line art, pixel art and flat illustrations.
Can I vectorize a logo for Cricut or a laser cutter?
Yes. Use Black & White mode or a low colour count, set noise removal fairly high, and keep smoothing moderate so edges stay clean. The downloaded SVG contains real paths, not an embedded bitmap, so cutting software can read the outlines. Check path counts before importing into tools with path limits.
Does the SVG contain the original photo?
No. The output is built from path elements only — there is no base64 image, no embedded raster and no traced bitmap fallback inside the file. You can open the SVG in a text editor and read every coordinate.
How do I remove the background?
Set the background option to Auto remove to flood-fill from the image border using a detected background colour, to Remove colour to delete every pixel matching a colour you pick, or to Pick from image to sample a spot directly on the preview. The tolerance slider controls how close a pixel must be to count as background.
Why is my SVG file so large?
SVG size grows with the number of colour layers and the number of outline points. Lower the colour count, reduce the detail level, raise noise removal, or choose a smaller processing size. A logo should typically export as a few kilobytes, not hundreds.
Can I edit the SVG afterwards?
Yes. The file uses standard path elements with flat fills, so you can open it in Inkscape, Illustrator, Affinity Designer, Figma or any other vector editor and change nodes, colours and shapes.
What image size should I upload?
Upload the highest-quality version you have, then choose the processing size in the settings. Higher processing sizes capture more detail but take longer. For logos and simple artwork, Small or Medium is usually enough.
Can I use the result commercially?
The tool adds no watermark and claims no rights over your output. Whether you may use the result commercially depends on the rights you hold in the original image — this page cannot give legal advice.
Does it work on mobile?
Yes. The layout stacks on small screens, the preview supports pinch zoom, and all sliders and buttons are sized for touch.
What does the Overlay view do?
Overlay draws the original image at half opacity on top of the vector result. Where the trace is accurate, the colours merge cleanly; where it drifts, ghosting appears. It is a fast way to spot small errors that the split view misses.
What does the Difference view show?
Difference uses a CSS blend mode to highlight only the pixels where the vector and the original disagree. Black or white areas mean the two layers match; coloured edges mean the trace has drifted. It is the quickest way to find problem regions.
What is the quality score?
After each trace the tool rasterises the SVG at processing size and computes the mean squared error against the original image. That is converted into a 0–100 quality score displayed in the stats row. A score above 90 usually means the trace looks very close; below 70 usually means you need more colours, more detail, or a different mode.
How does the auto colour count button work?
It samples thousands of pixels, builds a coarse colour histogram, and counts how many distinct colour buckets contain a meaningful share of the image. The suggested colour count is roughly 1.5× that number, clamped between 4 and 32. It is a starting point, not a rule.
Can I save my own presets?
Yes. Once you have tuned the sliders to values you like, click Save preset, give it a name, and it becomes a chip in the presets row. Custom presets are stored in this browser's localStorage and can be deleted at any time.
What is the eyedropper in the background section?
When Pick from image is selected, the cursor becomes a crosshair. Clicking anywhere on the preview samples that pixel and uses its colour as the background colour to remove. It is faster than typing a hex code when the background colour is not obvious.
Can I exclude a specific palette colour from the trace?
Yes. In the palette row, each colour is a clickable swatch. Clicking it toggles it as excluded — that colour's pixels become transparent in the SVG. Useful for removing a stray brand colour, a watermark tint, or a shadow colour without re-tracing the whole image.
Can I export as PNG instead of SVG?
Yes. Click Export PNG to rasterise the SVG at the original image dimensions and download it as a PNG. The PNG keeps the exact shapes the vector produced — useful when you need a raster for a system that cannot display SVG.
Is there a keyboard shortcut panel?
Yes. Press the ⌨ button in the toolbar or press Shift+? to open the shortcuts list. Common shortcuts include 1–5 to switch views, 0 to fit, F for fullscreen, G for grid, and Ctrl/Cmd+Z to undo settings changes.
Can I cancel a slow trace?
Yes. While tracing is in progress the Vectorize button becomes a Cancel button. Clicking it aborts the current run and leaves the previous SVG intact.
Can I share a link that reopens my settings?
Yes. Click Share to copy a URL whose hash contains every setting — mode, colours, sliders, background and processing size. Opening the link on another device restores the same settings without uploading the image itself.
What are the sketch, signature, cartoon and pixel-art presets for?
Sketch is tuned for pencil drawings with high detail and low smoothing. Signature is tuned for black ink on white paper with a strong threshold and auto background removal. Cartoon is tuned for bold outlines and flat fills. Pixel-art uses zero smoothing and a small palette so hard edges are preserved.
Related image and design tools
References & methodology
- W3C — Scalable Vector Graphics (SVG) 1.1 / 2 Specification: path data commands (M, L, C, Z) and the
fill-ruleproperty used by the generated output. - Heckbert, P. (1982) — Color Image Quantization for Frame Buffer Display: the median-cut algorithm used for palette reduction.
- Ramer (1972), Douglas & Peucker (1973) — the polyline simplification algorithm used to reduce contour points.
- Selinger, P. — Potrace: a polygon-based tracing algorithm: background on the edge-following approach used for contour extraction.
- MDN Web Docs — Canvas API, ImageData, createImageBitmap(), Clipboard API, and
fill-rule. - Cricut Help Center — Design Space SVG path-count limits, relevant when exporting cut files.