Antoine Beyeler vpype (Free)
Optimizes any SVG for plotting — merges lines, reorders strokes, crops to paper. Run everything through vpype before it goes to the machine.
Best for: Everyone — mandatory step between generative art and plotting
Best Software
From SVG optimization to generative art to direct machine control — the essential software tools every plotter artist needs, and when to reach for each one.
The software side of pen plotting is where most beginners get lost — there are too many tools, and it’s not obvious which ones you actually need versus which ones are optional. Here’s the honest breakdown.
A vector editor — Inkscape is free and does everything you need: import art, design directly in vectors, install plotter-control plugins. Most people never need anything else for the design-to-plotter pipeline.
An optimizer — vpype sits between your design tool and the plotter. It takes whatever SVG you produce and makes it plot-ready: merged lines, reordered strokes, clean boundaries. Skipping this step is the single most common cause of unnecessarily slow plots and excessive pen wear.
A machine controller — this depends on your plotter. AxiDraw uses its Inkscape plugin; GRBL machines use LaserGRBL or similar. Your plotter’s documentation will specify.
If you want to make art that couldn’t exist any other way — flow fields, recursive systems, particle systems, l-systems — you need a way to generate SVGs from code. The two main options:
Processing / p5.js — designed for artists, approachable syntax, enormous community. p5.js runs in a browser with no installation. Both export SVGs via a library.
Python (with svgwrite or vsketch) — more powerful for complex math; vsketch in particular is built specifically for plotter artists and integrates with vpype natively.
Start with p5.js if you’ve never coded before. Start with Python if you’re already comfortable in it.
| Comparison | Antoine Beyeler vpype (Free) | Casey Reas & Ben Fry Processing: A Programming Handbook | Daniel Shiffman The Nature of Code | Hartmut Bohnacker et al. Generative Design |
|---|---|---|---|---|
| Best for | Everyone — mandatory step between generative art and plotting | Properly learning the language behind plotter art | Learning to generate art worth plotting | Finding generative forms worth plotting |
| Platform | macOS, Windows, Linux (Python) | — | — | — |
| License | MIT (free, open source) | — | — | — |
| Input | SVG | — | — | — |
| Output | SVG, HPGL, G-code, preview | — | — | — |
| Plugin ecosystem | Active — 30+ community plugins | — | — | — |
| Buy | Check Price | Check Price | Check Price | Check Price |
Optimizes any SVG for plotting — merges lines, reorders strokes, crops to paper. Run everything through vpype before it goes to the machine.
Best for: Everyone — mandatory step between generative art and plotting
The Processing language is where most plotter artists start coding — this handbook teaches it thoroughly, from first sketches to complex generative systems.
Best for: Properly learning the language behind plotter art
Flocking, physics, neural networks — the patterns in this book produce some of the most compelling plotter art there is.
Best for: Learning to generate art worth plotting
A catalog of generative design techniques with full source code — doubles as inspiration and a practical implementation guide.
Best for: Finding generative forms worth plotting
It depends on the plotter. AxiDraw uses Inkscape (with the AxiDraw plugin) or its own CLI. Most GRBL-based plotters (iDraw, EleksDraw, drawing robot kits) use LaserGRBL or a serial terminal. Some plotters have dedicated apps. vpype can export to most of these formats.
No — both are completely free and open source. Inkscape is a full vector editor (like Illustrator, but free); Processing is a free coding environment designed for artists.
p5.js is free, runs in any browser, and is almost identical to Processing. It has an enormous community of tutorials and examples. There's no reason to pay for generative art software as a plotter artist — the best tools are free.
Inkscape (design and send to plotter) plus ScribblePlot or Hatch (Inkscape plugin for filling shapes with lines). This gets you plotting your first art in an afternoon without writing any code. Add vpype for optimization. Add p5.js when you want to code.