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_panelandscreenshotwithwindow: truedon’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_previewfails 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
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 →
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.