WordCraft: a Rust word processor with native and agent interfaces
An open-source, clean-room reimplementation of Microsoft Word in pure Rust
At a glance
- What is it?
- WordCraft is a clean-room word processor built in Rust for people who want a familiar document workflow across desktop systems and the browser. Its command architecture is notable, but document compatibility and the maturity of individual editing features still require project-specific verification.
- Who is it for?
- WordCraft fits developers and organizations evaluating a Rust-based, self-hosted word processor with a command-driven control surface. It is a poor first choice for users who require proven Microsoft Word compatibility without extensive file testing.
- Can I use it commercially?
- Yes. Apache-2.0 is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
- Is it still maintained?
- Yes. The repository received new commits within the last day.
- What is it written in?
- Mainly Rust, according to GitHub's language statistics.
Answers come from the project's GitHub data, last synced on October 24, 2026, and from our analysis. They are not legal advice.
Editorial analysis
WordCraft's Rust document workspace
WordCraft addresses document creation and editing for people who are already familiar with Microsoft Word's ribbon-oriented workflow. It is a clean-room reimplementation, not an interface for automating Microsoft Word or an Electron or Tauri wrapper around another application. The project describes native operation on macOS, Windows, Linux, and BSD, plus browser execution through WebAssembly. That makes it relevant to developers who want one Rust codebase across desktop and web targets, as well as organizations interested in controlling where document processing runs.
The application targets conventional office documents rather than a narrow developer workflow. The README lists styles, tables, tracked changes, comments, references, mail merge, templates, headers, footers, fields, spelling and grammar, and PDF export. It also supports several import and export formats beyond `.docx`, including `.odt`, `.rtf`, `.html`, `.md`, `.tex`, and `.txt`, and it can open Word 97-2003 `.doc` files. These are declared capabilities, not independently verified compatibility guarantees. File fidelity should be tested against the exact document features used in production.
WordCraft also includes a built-in sample called The Open Studio Handbook. According to the README, that sample exercises the Home ribbon, live Styles gallery, rulers, and Navigation pane. It offers a practical starting point for evaluating the interface, although the README does not provide build instructions or a verified command for creating a document through the CLI.
One command model behind WordCraft's interfaces
The most distinctive design choice is the shared command model. The README states that every WordCraft action has an identifier and that the same 422 commands drive the ribbon, keyboard shortcuts, command search, command-line interface, JSON control channel, and MCP server. This separates user actions from the interface that exposes them. A keyboard shortcut and a ribbon control can invoke the same underlying command, while automation does not need to reproduce clicks or navigation through a desktop widget tree.
The workspace layout supports that separation. `Cargo.toml` defines internal crates for the document model, geometry, fonts, layout, `.docx` handling, format conversion, rendering, PDF output, proofreading, the editing engine, MCP integration, Zotero support, control keys, and the `egui` user interface. Applications live under `apps/`, including `apps/wordcraft` and `apps/wordcraft-cli`. The repository also contains an `xtask` crate. Based on this structure, the command and engine layers sit between interaction surfaces and lower-level document components.
That architecture makes WordCraft relevant to agents and tool builders, not only interactive users. The project describes MCP support and a CLI as two ways to control the application. However, the README does not provide the exact MCP startup command, JSON schema, authentication assumptions, supported transport, or a complete CLI invocation. Those omissions matter during adoption because an automation surface is only useful once command identifiers, parameters, error behavior, and document-save semantics are known.
WordCraft's document, layout, and rendering pipeline
The crate names expose a layered document pipeline. `wordcraft-doc` represents core document concepts, while `wordcraft-geom`, `wordcraft-fonts`, and `wordcraft-layout` cover geometry, fonts, and text layout. Dedicated crates named `wordcraft-docx`, `wordcraft-formats`, `wordcraft-render`, and `wordcraft-pdf` isolate document-file handling, other formats, rendering, and PDF output. `wordcraft-proof` corresponds to spelling and grammar features described in the README, and `wordcraft-engine` is positioned between those foundations and interactive use.
The README states that paragraph layout is cached and pages render on demand. It also gives a specific timing example for typing in a 188-page document, but that figure is a project claim rather than an independent benchmark. The architecture nevertheless suggests an incremental layout strategy: cached paragraph layout can be reused after an edit, while page rendering occurs only where needed. Features such as automatic hyphenation, text wrapping around images and shapes, line numbering, and drop caps imply substantially more page composition than basic text emission.
Font handling also receives its own crate, while external workspace dependencies include `skrifa` and `harfrust`. The repository supports Unicode-oriented text libraries and uses `rayon` as a workspace dependency, but the README does not explain which paths execute concurrently. The project is also rendered through native `egui` rather than Electron or Tauri. That choice supports the stated cross-platform design, but GPU rendering, font availability, and WebAssembly behavior remain platform-sensitive areas to verify.
Install path and the first WordCraft evaluation
The README directs users to the WordCraft page at `https://getartcraft.com/apps/wordcraft` for information about the application. It does not give complete installation commands, package-manager instructions, release artifact names, or a source-build procedure. The Cargo workspace declares Rust edition 2024 and `rust-version = "1.90"`, so Rust source development has a stated compiler floor, but that alone is not an installation guide. This article therefore does not invent a `cargo install` command or platform package.
For a first real use, obtain the application through the documented project route and open The Open Studio Handbook, if the distributed build includes it. The README identifies that sample as a document demonstrating the Home tab, ribbon, live Styles gallery, rulers, and Navigation pane. Start by checking whether the ribbon, page canvas, sample content, and navigation headings render as expected on the target operating system. Then open a representative `.docx` file and save a copy before changing it.
The evaluation should focus on the features your documents actually contain. Track changes, comments, APA, MLA, Chicago, or IEEE citations, tables of contents, indexes, captions, fields, mail merge, and text wrapping are all documented. Select a small test set containing each relevant feature, inspect the result after saving and reopening, and compare PDF output when selectable text, hyperlinks, and bookmarks matter. The README does not document rollback behavior, recovery after a failed save, or a compatibility matrix, so those checks cannot be replaced by the feature list.
Where WordCraft differs from other document editors
The closest functional alternatives are other word processors with `.docx` support, such as LibreOffice Writer, Microsoft Word, or browser-based editors. The documented difference is WordCraft's implementation and control model rather than an exclusive document format. It uses a pure-Rust workspace, native `egui`, a shared command set, and agent-facing CLI, JSON, and MCP surfaces. LibreOffice or Word may already match an organization's established document workflow better if that workflow depends on exact round trips, macros, embedded objects, or centrally managed desktop integration.
Compared with Microsoft Word, WordCraft attempts to preserve familiar ribbon tabs, shortcuts, and behaviors such as Enter and Tab in lists, bolding with Ctrl or Command plus B, F4 repetition, F7 spelling, and F8 selection extension. That familiarity is useful, but a matching shortcut does not establish equivalence across all commands. The README is especially detailed on references and review features, yet it does not document complex field updating, embedded objects, macro compatibility, or every layout behavior. This makes WordCraft different as an open, Rust-based implementation, not automatically safer for files created in Word.
Compared with simple Markdown editors, WordCraft supports page layout, styles, tables, review metadata, references, and PDF export. Compared with a general document automation library, it offers an interactive UI and command-driven agent controls. The tradeoff is scope: an application with many document subsystems creates more compatibility and upgrade questions than a format-specific converter. The recent version history should therefore be read as active product movement, not proof that every feature is stable.
WordCraft releases, licensing, and adoption cost
The repository is not archived. Its last push was on 2026-10-15, and the release list includes v0.7.0 on 2026-10-14, v0.6.1 on 2026-10-12, and v0.5.0 on 2026-10-11. That cadence indicates recent development activity, although the rapid sequence also means upgrade planning should account for changing interfaces. The workspace version is `0.7.0`, matching the newest listed release, and `Cargo.lock` is present at the repository root.
The project metadata specifies `MIT OR Apache-2.0`, while the repository includes `LICENSE-MIT`, `LICENSE-APACHE`, and `NOTICE`. The README badge and `Cargo.toml` both state the dual-license expression. Organizations should verify which license files and NOTICE obligations apply to the version they distribute, and separately account for fonts, libraries, documentation, and other bundled assets. No legal conclusion can be drawn from the short repository summary.
Maintenance work will likely involve more than replacing a binary. Agent-driven users may need to review changes to command identifiers and JSON behavior, while Rust source builders must account for the Rust 1.90 requirement and dependency updates recorded in `Cargo.lock`. Document engineers should keep reusable `.docx` fixtures because layout, review, and reference regressions can be subtle. The Apache-2.0 or MIT licensing offers permissive repository terms, but it does not remove the cost of compatibility testing and release review.
Editorial conclusion
WordCraft fits developers and organizations evaluating a Rust-based, self-hosted word processor with a command-driven control surface. It is a poor first choice for users who require proven Microsoft Word compatibility without extensive file testing. Verify a representative .docx corpus, especially comments, tracked changes, references, fields, and exported PDF output, before adopting WordCraft for production documents.
Frequently asked questions
Does WordCraft open and save Microsoft Word .docx files?
The README states that WordCraft opens and saves `.docx` files using OOXML. It also supports several other formats, but it does not publish a compatibility matrix, so round-trip testing is still necessary.
Can WordCraft run on macOS, Windows, Linux, BSD, and in a browser?
The README states that WordCraft runs natively on macOS, Windows, Linux, and BSD, and in the browser through WebAssembly. The desktop interface uses native `egui` rather than Electron or Tauri.
Does WordCraft provide an API for AI agents?
The project documents a shared set of 422 commands exposed through a CLI, JSON control channel, and MCP server. The README does not document the MCP transport, configuration, authentication, or command schema.
Official sources
Add this badge to your README
If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.
[](https://hysenlabs.com/projects/storytold-wordcraft)Was this useful?