Reduce the nodes in a traced SVG.

Clean the image before you trace it: on our test logo, a cleaned-up scan traced with 99% fewer nodes than the raw scan. Then Inkscape's Simplify at 0.0005 removed another 68% without rounding the corners. Below: the files, every count, and the order of fixes that worked.

Why does a traced SVG have so many nodes?

A tracer outlines every patch of colour it finds. In a clean logo file that is a handful of shapes: our test logo traced as 8 paths and 314 nodes. Simulate a scan of a printed copy — cream paper, uneven light, sensor noise — and trace that, and the texture and noise become patches too: 1,779 paths and 35,072 nodes, 1,643 of those paths specks smaller than about 32 × 32 pixels. So the biggest cut happens before tracing — a cleaner copy, or a scan cleaned up with three image-editor steps, which brought ours back to 8 paths and 277 nodes. After tracing, Inkscape's Path > Simplify at a gentle setting took the clean trace from 314 to 102 nodes with the same pixel score and only tiny bumps visible when zoomed in. SVGO halved the file size but kept 310 of the 314 nodes.

.png.jpg.webp.gif
Drag images here to trace
Paste:⌘V
Trace preset:Balanced▼

Applies to images you add next — each one traces as it lands.

The SVG download is free — no account needed.

Transparent areas become white shapes, and larger images are scaled down to about 0.6 megapixels before tracing.

Your image is uploaded to pic2svg's own server to be traced. What we keep, and for how long

Other formats, plans and licences

PDF, EPS, AI (EPS-based) and DXF come with a paid plan, and every new account gets 7 days of Pro free. The free plan and Starter carry a personal-use licence; commercial use needs Pro, and resale needs Advanced — see the licence row on the pricing page.

What do the traces look like?

Real files, all from one logo drawn for this page (nothing licensed). Each was traced on 2026-10-23 with pic2svg's engine on the default Balanced preset, prepared the way this website uploads an image; simplification ran in Inkscape 1.2.2. Sizes and path counts are read from the files; node counts are in the table below.

A clean logo file, traced

Input
A test logo on white: a navy ring around an orange five-pointed star, a teal swoosh across the bottom of the ring and a small orange dot
Traced SVG
The traced SVG of the clean logo: the ring, star, swoosh and dot as smooth filled shapes, matching the original
Input: PNG, 1,000 × 600 px, 37.2 KBOutput: SVG, 14.7 KB, 8 paths, spline mode, Balanced preset8 paths and 314 nodes. This is the baseline the other traces are compared with.

The same logo as a simulated scan, cleaned up before tracing

Input
The simulated scan after clean-up with Levels, a median filter and indexed colours: white background, flat navy, orange and teal shapes, no paper texture
Traced SVG
The traced SVG of the cleaned-up scan: the same ring, star, swoosh and dot as the clean file's trace
Input: PNG, 1,000 × 600 px, 6.1 KBOutput: SVG, 13.2 KB, 8 paths, spline mode, Balanced presetTraced as it was, the simulated scan came back as 1,779 paths and 35,072 nodes in a 1,168.2 KB SVG (not shown). After the three clean-up steps an image editor offers — Levels, a median filter and five indexed colours, run here in Pillow — it traced as 8 paths and 277 nodes: the same shapes as the clean file's trace, though the fills drifted by up to 15 colour levels, so re-pick brand colours afterwards.

The clean trace after Inkscape Simplify, default setting

Input
The clean test logo, the input to the trace that was then simplified
Traced SVG
The trace after Simplify at threshold 0.002: the star's points are rounded and bent, and the ring has notches where it meets the swoosh
Input: PNG, 1,000 × 600 px, 37.2 KBOutput: SVG, 3.4 KB, 8 paths, spline mode, Balanced presetInkscape output from the Balanced trace: Path > Simplify (Ctrl+L) once at the default threshold, 0.002: 314 → 58 nodes. Look at the star — its points are rounded and bent — and at the notches where the ring meets the swoosh.

The clean trace after Inkscape Simplify, threshold 0.0005

Input
The clean test logo, the input to the trace that was then simplified
Traced SVG
The trace after Simplify at threshold 0.0005: the star's points stay sharp, with a few tiny bumps on its points and inner corners when zoomed in
Input: PNG, 1,000 × 600 px, 37.2 KBOutput: SVG, 5.6 KB, 8 paths, spline mode, Balanced presetInkscape output from the Balanced trace, same command at 0.0005: 314 → 102 nodes, 68% fewer. The pixel score is unchanged; zoomed in, a few tiny bumps show on the star's points and inner corners.

How much did each change remove?

One logo, one change per row. Pixels off is the share of pixels more than 48 colour levels away from the original artwork once Inkscape renders the SVG at 1000 × 600; anti-aliasing alone keeps it near 0.8%, so compare rows rather than reading it as an error rate. The raw scan scores high mostly because the trace keeps the paper's colour. The photo has no original artwork to compare with.

Input and stepPathsNodesSVG sizePixels off
Clean PNG logo, Balanced (baseline)831414.7 KB0.80%
Clean logo, Compact832915.4 KB0.80%
Clean logo saved as a quality-50 JPEG731114.8 KB0.76%
Simulated scan from paper1,77935,0721,168.2 KB47.40%
Scan, Compact40210,465384.6 KB50.49%
Scan, then Inkscape Simplify (0.002)1,7796,126315.1 KB47.61%
Scan, then SVGO1,77733,810305.6 KB47.41%
Scan cleaned up: Levels, median, 5 colours827713.2 KB0.80%
Scan cleaned up with 4 colours (navy and teal merged)622210.6 KB7.19%
Clean trace, Simplify at 0.000581025.6 KB0.80%
Clean trace, Simplify at 0.0018804.5 KB0.82%
Clean trace, Simplify at 0.002 (Inkscape's default)8583.4 KB0.92%
Clean trace, then SVGO83107.3 KB0.80%
Photo (320 × 213 JPEG), Balanced1683,674137.9 KB—
Photo, Compact651,55661.5 KB—

How do you reduce the nodes, in order?

Most to least effective in our test. Stop when the file does what you need.

  1. Step 1

    Start from the cleanest copy you can get

    Ask for the original export, take the logo from the company's own website or from a PDF: anything made on a computer rather than photographed. The source mattered more than any setting: 314 nodes from the clean file, 35,072 from a scan of it. Heavy JPEG compression of the clean file was not the problem — at quality 50 it traced to 311 nodes, because the engine snaps flat artwork to its own few colours before tracing.

  2. Step 2

    If all you have is a scan or photo, clean it first

    Three steps in an image editor (we ran the same three in Pillow on our simulated scan). Levels, with the white point set on the paper (GIMP: Colors > Levels; Photoshop: Image > Adjustments > Levels), so the background turns white. A median filter with radius 2 to remove grain (GIMP: Filters > Blur > Median Blur; Photoshop: Filter > Noise > Median). Both take a radius, and 2 gives the 5 × 5 window we used; larger values round off points and small text. Then indexed colour without dithering (GIMP: Image > Mode > Indexed; Photoshop: Image > Mode > Indexed Color), starting from the logo's colours plus the background and raising the count until every brand colour survives: with four colours our navy and teal merged into one; with five they stayed apart.

  3. Step 3

    Trace on Balanced; use Compact only for noisy images

    Compact uses coarser settings that merge near-identical colours. On the raw scan it cut the nodes by 70% (35,072 → 10,465) and on the photo by 58%; on the clean logo it added a few (329 against 314), and on the scan it cost some accuracy: pixels off rose from 47.40% to 50.49%. Tracing, preview and the SVG download are free on this page.

  4. Step 4

    Simplify gently in Inkscape

    Open the SVG in Inkscape, set Edit > Preferences > Behavior > Simplification threshold to 0.0005 (the default is 0.002), select everything (Ctrl+A) and press Path > Simplify (Ctrl+L) once. Zoom in on points and corners before you save. Press Ctrl+L again only if you need fewer nodes and can accept rounder corners: the pixel score barely moves when corners go, so judge by eye.

  5. Step 5

    Delete leftover specks; minify for the web last

    Simplify thins out each path; in our test it deleted none: the scan still had 1,779 paths afterwards. Remove stray specks by hand, or go back a step and clean the source. For a website, run SVGO at the end: it cut the clean trace from 14.7 KB to 7.3 KB and kept 310 of 314 nodes, so it fixes file size, not node count.

Which fix answers which problem?

“Too many nodes” is three different complaints. Match the fix to the one you have.

  • The cutter or laser makes confetti, or takes forever

    That is usually specks, not nodes: each small closed path is its own shape to cut. Simplify will not remove them. Fix the source or delete them by hand; our Cricut and laser engraving guides cover the rest of a cut file's clean-up.

  • The SVG is too heavy for a web page

    Simplify, then SVGO. On the clean trace, Simplify at 0.0005 alone took the file from 14.7 KB to 5.6 KB. A traced photo stays heavy whatever you do — 1,556 nodes on Compact for a 320 × 213 image — so keep photos as JPEG or WebP.

  • Editing the curves by hand is painful

    Simplify at a low threshold, then fix the few corners it softened. If you only need the shape for a sign or a print shop, see logo to vector for what else a traced logo needs, and how to check if an SVG is a real vector before you send it.

Node reduction questions

Does pic2svg have a detail or node-count slider?
No. There are two presets: Balanced, the default, and Compact, which merges near-identical colours, which helps noisy images and does nothing useful for clean ones. There is no smoothing slider, so the cleanest source is the main control you have.
Will saving my JPG as a PNG reduce the nodes?
No. Saving keeps the pixels exactly as they are, compression artefacts included. For flat logos the artefacts were not the problem in our test anyway: a quality-50 JPEG traced to 311 nodes against 314 for the PNG. The JPG to SVG page covers photos and scans, where compression does show.
Does SVGO reduce the number of nodes?
Hardly. It rewrites path data more compactly: the clean trace kept 310 of 314 nodes while its file shrank 50%; the scan kept 33,810 of 35,072.
Why didn't Simplify get rid of the specks?
Simplify removes nodes inside each path; in our test it deleted no path at all. The scan had 1,779 paths before and 1,779 after; its nodes fell from 35,072 to 6,126.
How many nodes is too many?
It depends on where the file goes, and we have not measured cutting machines or design software. What we can say: for cutting, the number of separate small paths matters more than the node count, and a trace of a clean logo has roughly one path per visible shape — 8 for our test logo, against 1,779 for its scan.
Does a GIF or a dithered image need anything different?
Dithering scatters dots that trace as specks, like a scan does. Reduce the colours without dithering first; the GIF to SVG guide measured 150 paths for a dithered GIF against 24 without dithering.

How these numbers were made

Research date
2026-10-23
Environment
pic2svg's engine (python/pic2svg_engine.py, vtracer 0.6.15) with the production server's flags, each image prepared as the website uploads it; Inkscape 1.2.2 (b0a8486541, 2022-12-01); SVGO 4.1.0 with its default preset.
Sample size
One logo drawn for this page at 1000 × 600, in four versions: clean PNG, quality-50 JPEG, a simulated scan (cream paper, uneven light, seeded noise, quality-85 JPEG; no real scanner was used) and that scan cleaned up in Pillow with 5 colours (and with 4, for comparison). Plus the 320 × 213 photo-like JPEG from the JPG to SVG page.
Metrics defined
Paths: <path> elements. Nodes: anchor points, one per drawing command's end point in every path. SVG size: bytes / 1024. Pixels off: share of pixels more than 48 levels away, in any colour channel, from the original artwork after Inkscape renders the SVG at 1000 × 600. Specks: paths whose bounding box is under 1,000 px².
Not tested by this run
Real scans from a scanner or phone, other tracers, Illustrator's Simplify, and the limits of cutting-machine or laser software.
Known variance
Deterministic: the scan's noise is seeded, and two consecutive runs of the script wrote byte-identical measurements.

Related converters and guides