Home Blog My Projects Sillage
A hand holding a stylus and drawing on a tablet, next to a keyboard and a mug

Photo by Kelly Sikkema on Unsplash

VectorCraft: open-source Illustrator in Rust, what it draws

VectorCraft is a free vector illustration editor written in pure Rust. It presents itself as a “clean-room” reimplementation of Illustrator, with the same tools, menus and shortcuts you already know. It runs on macOS, Windows, Linux and FreeBSD, and in a browser through WebAssembly. Its self-assessment, dated 9 October 2026, says it covers 69 to 75% of Illustrator’s features, but only 40 to 55% of what an expert user would perceive as equivalent.

That gap between features and feel is the key to reading the project.

What it draws

The vector tools are there: the pen, direct selection with anchors and Bézier handles, Pathfinder, Shape Builder, Smart Guides, layers and swatches. The Appearance panel lets you stack several strokes and fills on one object.

Live effects include Live Blends, which create editable gradients between shapes, Radial Repeat, Envelope Distort, Gradient Mesh, a perspective grid, clipping masks and the glow outline.

Text supports character styles and bidirectional layout for Hebrew and Arabic. Vertical text is handled at a basic level, without full CJK composition.

The formats

The native .vectorcraft file is JSON. SVG imports and exports. PDF and PDF-compatible .ai import and export, including PDF/X. EPS, DXF, EMF, WMF and PSD can be read, and PNG, JPEG and WebP export as raster.

Affinity files (.af, .afdesign, .afpub) import without needing an export step. Export for Screens is included, and batch processing can run headless.

What’s missing

The project lists its gaps ahead of version 1.0: 3D and materials, raster effects in the style of Effect Gallery, vertical CJK composition, variables and scripting, and polish on the interaction of some tools. The announced next steps are interaction fidelity, then raster effects, then 3D and advanced text.

One note on the page: it lists the Windows and Linux packages among the gaps, even though installers are already listed in its Downloads section. So the list of gaps is itself still being updated.

The performance claims

The project publishes three measurements:

  • 20,000 shapes rendered in about 27 ms at full Retina resolution;
  • an interface running at 120 frames per second during rendering;
  • multithreaded, SIMD rendering that runs off the interface thread.

Undo is unlimited, thanks to structural sharing in the document model. These are the project’s own numbers, on a configuration it doesn’t specify. The CLI includes a bench command, so you can measure rendering on your own file.

A guide for an LLM agent

VectorCraft exposes an MCP server over stdio, so an agent can draw, edit and export the way a user would. The server reads and answers one line at a time: while a tool call is running, it reads nothing else.

Launch it after compiling:

cargo build --release -p vectorcraft-cli
claude mcp add vectorcraft -- "$PWD/target/release/vectorcraft-cli" mcp

The server has two modes. By default, it tries to connect to an app opened with --control 7979, then falls back to headless if that fails. You can force a mode with --connect 127.0.0.1:7979 or --headless, which uses CPU rendering.

The main tools are command_list, command_run, command_batch, doc_inspect and render_preview. The repository also lists legacy tools that are still exposed: run_command, inspect_document, select_tool, pointer_gesture, draw_path, draw_shape, set_paint, add_text, apply_effect, pathfinder, transform, open_file, save_file, export, undo and redo.

For the CLI, vectorcraft-cli commands returns the command catalogue as JSON. vectorcraft-cli run --in file --cmd … --params … --export output chains steps without a window, and convert and info handle conversion and inspection.

Limits to know:

  • transport is stdio only, with no HTTP or SSE;
  • exports are synchronous, with no progress or cancellation during a call;
  • in headless mode, inspect_ui, type_text, open_panel and screenshot with window: true don’t work;
  • command parameters aren’t validated against a schema, because the registry describes them in prose: an unknown top-level key returns -32602, but a typo in a nested parameter gets through more easily;
  • render_preview fails if the artboard exceeds the allocation limit.

A good habit for an agent: read the catalogue with commands, draw a test shape, render it with render_preview, and only then chain the edits.

Verdict

VectorCraft is already enough for pictograms, simple paths, SVG or PDF exports and batch automation. It isn’t ready for a complex illustration that depends on vertical text, raster effects or 3D. The right test: open one of your SVGs, edit it, export it, then compare the result with the original, pixel by pixel if you can.

Related articles

Man sitting in front of several video editing screens, with colour curves and a timeline

ArtCraft: the open-source Rust suite that mimics Adobe

ArtCraft brings together seven free Rust apps that rebuild Photoshop, Premiere, Lightroom and their cousins: status, licences, MCP and limits.

Lire l'article →
Tablet resting on dark fabric, showing a drawn portrait of a woman and its layers panel

PhotoCraft: open-source Photoshop in Rust, what it can do

PhotoCraft, free image editing written in Rust: layers, PSD files, 500 commands for agents, claimed performance, and what's still missing from the project.

Lire l'article →

Sources

What I read, watched or checked while writing this article.

  1. storytold/vectorcraft GitHub repository: features, formats, self-assessment dated 9 October 2026 and figures noted github.com (opens in a new tab)
  2. docs/mcp.md in the vectorcraft repository: MCP tools, launch, client configuration and limits raw.githubusercontent.com (opens in a new tab)