Project · open source · laser tooling

svg2wws — the open-source engine that
speaks WeCreat .wws.

svg2wws is the command-line toolkit that reverse-engineers WeCreat MakeIt!'s closed .wws laser format. It converts SVG, PDF, Illustrator, DXF and raster images into nested, ready-to-cut projects — and reads .wws back to SVG. Three single-file Go binaries, parsed in pure Go with no external tools. It's the engine behind wwsgen.com.

From any vector to a cut file, in one command

Point it at a design and a material size; get a genuine MakeIt! project that opens straight in the app.

svg2wws — terminal
$ svg2wws --in wooden_mug.svg --material 304.8x304.8
Wrote wooden_mug.wws
  57 piece(s) nested onto 2 sheet(s) of 305x305 mm
  10.0 mm margin, engrave-align on; engraving consolidated onto sheet 2
  ✓ opens in WeCreat MakeIt! v3.0.4

$ svg2wws --in design.pdf  --material 300x200   # PDF · AI · DXF · PNG too
$ wws2svg  --in design.wws  --out ./svg/      # …and back to SVG
SVGPDFAI (Illustrator)DXF incl. splinesPNG / JPG / GIF.wws.wws → SVG

What it does

🔓

Reverse-engineered .wws

WeCreat markets .wws as closed and no-export. It's actually plain JSON over Fabric.js — svg2wws emits the genuine MakeIt! v3.0.4 envelope, confirmed to open in the app.

🧩

Native multi-format input

SVG, PDF, Adobe Illustrator .ai, DXF (lines, arcs, ellipses, NURBS splines) and raster PNG/JPG/GIF — all parsed in pure Go, no poppler, Inkscape or other external tools.

🎨

Colour → operation

Red stroke #E61F19 → cut, any fill → engrave, any other stroke → score. Per-colour layers and matching processModes, just like MakeIt! itself.

📐

True-polygon nesting

Packs parts by their real filled footprint with free rotation; holes are free space and small parts tuck into bigger parts' holes. Engraving is laid flat and consolidated for faster rastering; overflow spills onto extra sheets.

♻️

Both directions

svg2wws writes cut files; wws2svg and wws2json read a .wws back into SVG or a detailed render model — every object type and colour preserved.

🧪

Small, fast, hammered

Standard-library Go (plus one vendored PDF reader). An adversarial test suite pounds every format and edge case — malformed input errors cleanly, never crashes.

Get it

Grab the source and build the binaries, or skip the CLI and use the hosted converter at wwsgen.com — free, no account.

View on GitHub →