Antoine Beyeler vpype (Free) illustration
Software & Tools

Antoine Beyeler vpype (Free)

4.9 (480)

The command-line Swiss-army knife for pen plotter SVGs — optimizes, reorders, merges, crops and prepares vector files for cleaner, faster plots.

4.9/5

Our verdict

The most important free tool in the plotter workflow. If you're sending raw SVGs to your plotter without running them through vpype first, you're leaving quality on the table.

Best for: Everyone — mandatory step between generative art and plotting

We earn a commission on qualifying purchases made through links on this page, at no extra cost to you. Learn more.

What we like

  • Reorders strokes to minimize pen travel, cutting plot time dramatically
  • Merges connected paths to eliminate unnecessary pen lifts
  • Crops to exact paper size, removes stray out-of-bounds elements
  • Plugins add noise, hatching, stippling, text rendering and more
  • Fully scriptable — chain commands in a single pipeline

What to watch

  • Command-line only — no GUI (though vpype-viewer provides a preview window)
  • Python installation required
  • Steep-ish learning curve if you've never used a terminal

Every generative art tool — p5.js, Processing, Inkscape, any of them — produces SVGs that are efficient for the screen but wasteful for a plotter. Paths are ordered by when they were drawn, not by where they are on the page. A plotter following that order lifts the pen hundreds of times to cross the bed for a nearby stroke. vpype fixes that.

What it actually does

At its core, vpype does two things: line merging (connects paths that share an endpoint into one continuous stroke, eliminating pen lifts) and stroke reordering (sorts the remaining strokes using a nearest-neighbor algorithm so the pen travels the shortest possible path between them).

On a complex generative plot, these two steps alone can cut plot time in half and reduce pen wear substantially.

The pipeline model

vpype works as a command pipeline. Each command reads the current state, transforms it, and passes it on:

vpype read art.svg \
  linemerge --tolerance 0.5mm \
  reorder \
  crop 0 0 297mm 420mm \
  write optimized.svg

You build up complex processing steps from simple, composable commands. The community has published plugins for everything from Gaussian noise to hatching fills to text rendering using Hershey fonts — all chainable in the same pipeline.

Why it’s the missing step

Most plotter tutorials cover generative art tools and plotter software but skip the middle. vpype is that middle: the translation layer between “SVG that looks right on screen” and “SVG that plots efficiently and cleanly.” Once you run a complex plot before and after vpype optimization, you won’t skip it again.

Install with pip install vpype[all] and start with vpype --help. The official documentation is thorough.

Specifications

Platform macOS, Windows, Linux (Python)
License MIT (free, open source)
Input SVG
Output SVG, HPGL, G-code, preview
Plugin ecosystem Active — 30+ community plugins

Ready to plot?

Prices and availability change often — check the latest on Amazon.

Check Price on Amazon
DrawingBotV3 DrawingBotV3 (Free) illustration
Software ~$0

DrawingBotV3 DrawingBotV3 (Free)

4.6 (320)

Free, open-source software that turns photos into plottable line art — sketch, stipple and hatch styles that export clean SVGs for your plotter.

Best for: Converting photos into plottable sketches and stipple art