svg2gcode icon indicating copy to clipboard operation
svg2gcode copied to clipboard

Convert vector graphics to g-code for pen plotters, laser engravers, and other CNC machines

svg2gcode

Build, test, and publish coverage for svg2gcode

Build svg2gcode-cli

Build svg2gcode-web Deploy svg2gcode-web

codecov

Convert vector graphics to g-code for pen plotters, laser engravers, and other CNC machines

Usage

Web interface

Check it out at https://sameer.github.io/svg2gcode. Just select an SVG and click generate!

SVG selected on web interface

Command line interface (CLI)

Input

cargo run --release -- examples/Vanderbilt_Commodores_logo.svg --off 'M4' --on 'M5' -o out.gcode

Vanderbilt Commodores Logo

Output, rendered at https://ncviewer.com

cat out.gcode

Vanderbilt Commodores Logo Gcode

Library

The core functionality of this tool is available as the svg2gcode crate.

Blog Posts

These go into greater detail on the tool's origins, implementation details, and planned features.

  • https://purisa.me/blog/pen-plotter/
  • https://purisa.me/blog/svg2gcode-progress/

FAQ / Interesting details

  • Use a 3D printer for plotting: (thanks @jeevank for sharing this) https://medium.com/@urish/how-to-turn-your-3d-printer-into-a-plotter-in-one-hour-d6fe14559f1a

  • Convert a PDF to GCode: follow this guide using Inkscape to convert a PDF to an SVG, then use it with svg2gcode

  • Are shapes, fill patterns supported? No, objects must be converted to paths in Inkscape with Object to Path for use with this program. See #15 for more discussion.

Reference Documents