Kurvengefahr Review 2026: Free Browser CAM for Pen Plotters

Kurvengefahr is a free, GPL-licensed browser CAM for pen plotters. It has a long feature list, a tiny community and almost no independent evidence yet.

Introduction

Kurvengefahr is a CAD/CAM tool for pen plotters that runs in the browser. You compose artwork on a virtual bed using handwriting, text, shapes, generative patterns or imported vectors. You then preview the toolpath and either download G-code or plot live over USB. The project's GitHub README says it runs client-side and that "nothing is uploaded."

The project is small. Its repository (tibordp/kurvengefahr) shows 22 stars, 2 forks, 2 open issues and 138 commits on main at the time of writing, and it reached a wider audience through a Show HN post. That matters for how much weight you put on the feature list. Nearly everything below comes from the developer's own README and homepage, because there is very little independent coverage to check it against.

scored.tools gives Kurvengefahr an overall rating of 5.4/10. The score is pulled down mostly by thin outside evidence and the lack of any API. Pricing is the one area where it scores well.

Key Features

Handwriting and text

The README describes a recurrent neural network that writes text in a handwriting style instead of setting it in a font. For ordinary type, it offers single-stroke engraving fonts and outline fonts that can be hatch-filled, with kerning, word wrap and justification. Single-stroke fonts matter on a plotter because outline fonts get drawn as two edges of each letter, which rarely looks like writing.

Shapes, paths and generative art

Drawing tools cover rectangles, ellipses, polygons, Béziers and freehand paths, with node editing and boolean operations. Per the README, the generative side includes spirographs, L-systems, Truchet tiles, Voronoi diagrams and flow fields, all reproducible from a seed. There is also a Logo interpreter for turtle graphics. For anyone who currently writes generative sketches in Processing or p5.js and exports SVG, this puts some of that work inside the CAM tool itself.

Fills and pen handling

Closed shapes can take hatch fills in lines, rings, spirals, Hilbert curves or mazes. A flood fill uses visible strokes as boundaries. Pen features listed in the docs include grouping by pen colour, pressure mapped to line weight, and dashed strokes. Grouping by colour is what you need for multi-pen plots where you swap pens between passes.

Import and tracing

Kurvengefahr imports SVG and DXF, traces raster photos into strokes, and renders STL files as wireframes. Output formats are G-code, layered SVG, PNG and PDF. The native format is a .kgz file whose structure is documented in the repo under docs/file-format.md.

Toolpath preview

Before anything is sent to the machine, you can preview the exact toolpath. A third-party tutorial on aiindigo.com warns that wrong machine settings can cause collisions, so the preview is there to catch bed-size and offset mistakes before they cost you a pen or a sheet of paper.

Machine support and connection

The README lists these targets:

  • GRBL 1.1 machines with either a Z-axis or servo pen, with optional homing
  • AxiDraw-style EBB plotters
  • Prusa printers fitted with a pen attachment, via PrusaLink and a companion Bridge browser extension
  • Any other G-code machine, through plain G-code export

Live plotting uses the Web Serial API and supports pause, resume and a moving playhead. The README does not name supported browsers. Per MDN's compatibility data, Web Serial is available in Chromium-based browsers such as Chrome and Edge and is not supported in Firefox or Safari, so plan on Chrome or Edge if you want direct USB plotting.

Editor and sharing

The editor autosaves multi-document tabs, keeps undo/redo across page refreshes, and has a command palette with light and dark themes. Sharing produces encrypted read-only links, with the key kept inside the link itself. The app installs as a PWA and the README says it works offline.

Pricing Breakdown

The homepage lists no pricing. The GitHub repository is licensed GPL-2.0-only, and a directory listing on aiindigo.com describes Kurvengefahr as free and open-source with no required paid dependency. That is why it scores 9/10 on pricing value.

OptionCostWhat you get
Hosted app at kurvengefahr.orgFreeFull editor, G-code export, Web Serial plotting, installable PWA
Self-hosted buildFree (GPL-2.0)Build with npm plus the Rust wasm32-unknown-unknown target and wasm-pack; sharing is optional via VITE_SHARE_API_URL

There is no paid tier, no support contract and no stated commercial licence. If you plan to modify the code and ship it inside a product, read the GPL-2.0 terms first. For plotting your own artwork, the licence doesn't restrict anything.

Scores

CriterionScoreBasis
Output quality4/10Only one third-party tutorial and a Show HN mirror with a single comment; little independent evidence of plot quality
Ease of use7/10Browser-based, no install, simple click-to-select and marquee editing on the homepage; no dedicated docs site found
Pricing value9/10Free and open-source per a directory listing; GPL-2.0 per GitHub
API and integration2/10No API or integrations found
Problem fit5/10G-code generation with preview is shown, but evidence is limited to the vendor page and one tutorial
Overall5.4/10

Pros and Cons

Pros

  • Runs in the browser with no desktop install, and works offline as a PWA per the README
  • Free, with source under GPL-2.0
  • Toolpath preview before the pen touches paper
  • Wide input range: SVG, DXF, STL and raster tracing
  • Covers GRBL, AxiDraw-style EBB boards and PrusaLink, plus generic G-code
  • Generative tools, hatch fills and handwriting synthesis in one app, so less round-tripping through other software
  • Client-side processing; the README says nothing is uploaded

Cons

  • Very small project: 22 stars and 2 forks, with no visible track record of long-term maintenance
  • Almost no independent reviews or user reports on plot quality
  • No standalone documentation site; the README and one file-format doc are most of what exists
  • Live USB plotting depends on Web Serial, which limits you to Chromium-based browsers
  • No API, scripting hooks or integrations beyond the built-in Logo interpreter
  • Built for pen plotters only; laser, CNC router or vinyl cutter users will need something else

Who Is It For

The best fit is a hobbyist or artist with a GRBL-based DIY plotter, an AxiDraw clone or a Prusa printer with a pen mount, who is tired of moving between Inkscape, a generative script and a separate sender app. Kurvengefahr puts composition, fills, path preview and sending in one browser tab. If you already like tinkering, the open source and small codebase are an advantage, because you can read the code when something misbehaves.

It is a weaker fit for anyone running a plotter as part of paid production work. With no support, no documentation site and a single maintainer, a bug in the G-code output is your problem to diagnose. If you own a genuine AxiDraw and rely on its official software, there is no evidence yet that Kurvengefahr does a better job, only that it does more things in one place.

Verdict

Kurvengefahr has an unusually long feature list for a free tool, and the core pen-plotter workflow is all there: create or import artwork, check the toolpath, then export G-code or plot over Web Serial. The weak spot is evidence. Almost everything known about it comes from the developer's own README, and the community around it is tiny, which is why it lands at 5.4/10.

Recommendation: if you own a GRBL, EBB or PrusaLink plotter and use Chrome or Edge, try Kurvengefahr. It costs nothing, needs no install, and the preview lets you catch setup mistakes before plotting. Start with a cheap pen and scrap paper, check your bed dimensions against the preview, and keep your existing toolchain until you trust its output. If you need vendor support or documented compatibility for a specific machine, wait until the project has more users and documentation behind it.

Scored this week

One email a week: new reviews, score changes and one pick. You confirm by email, and unsubscribe in one click.