storytold /designcraft

DesignCraft: An open-source page and layout design editor written from scratch in pure Rust

★ 5,218⑂ 3,574👁 41⑃ 1,521● 965▤ 21◈ 0
RustApache-2.0Created 2026-10-01getartcraft.com/apps/designcraft
5,218
stars
+22
3,574
forks
41
watchers
1,521
prs
965
issues
21
releases
0
discussions

README

DesignCraft


  Page layout and publishing; an open-source, modern desktop publishing and page layout studio, built in pure Rust.



  A fast, open-source desktop publishing and page layout workflow. It runs natively on macOS,
  Windows and Linux, and in the browser via WebAssembly.
  By the ArtCraft team.



  
  
  
  
  
  
  



  



  DesignCraft on getartcraft.com ·
  ArtCraft ·
  All Crafting Apps





  
  Quarterly, Spring Issue: threaded three-column body text, a wrapped pull quote and parent-page folios, all set by DesignCraft's own paragraph composer.


 [!NOTE]
 ArtCraft is a community of artists from all walks of life. Digital, generative, music,
 games — if you make things, you're one of us. Come say hi on Discord.


  The sample magazine ·
  Why DesignCraft ·
  Quick start ·
  Web ·
  Architecture ·
  Downloads ·
  The Crafting Apps ·
  License and credits


 The sample magazine

Every page below was laid out by DesignCraft from code (crates/engine/src/sample.rs) and exported
by its own renderer. Try it yourself with Help → Sample Document, or start the app with
--sample.



Cover. A full-bleed graphic frame, display type and an italic deck.
Styles. Kicker rule, headline, deck, caption and justified two-column body.


Threading, columns and text wrap. One story flows through three columns and around the pull quote.
Swatches. Named colors and a CMYK process swatch, laid out as a palette.



 Why DesignCraft

- Familiar. A familiar layout, tools, menus, panels and shortcuts: spreads and parent pages,
  master pages, text frames, threaded text, paragraph and character styles, tables, text wrap and
  more. Everything is right where you expect it.
- Beautiful type. A Knuth–Plass paragraph composer (plus single-line), dictionary hyphenation
  (the public-domain Moby word list plus our own trained patterns), word, letter and glyph-scaling
  justification, keeps, optical margin alignment, columns, baseline grid, tabs, rules and shading.
  Line breaks are identical on screen and in PDF.
- Fast. Multithreaded SIMD rendering (vello_cpu), copy-on-write documents with O(1) undo
  snapshots, and cached composition.
- Open. A documented native format, IDML import and export, INDD import (through
  indd-utils), editable .pptx export, and PNG, PDF
  (PDF/X-4, PDF/A-2b) and EPUB export.

  No subscription, no licence server, no telemetry.
- Agent-native. Every menu item, tool gesture, panel control and dialog can be driven over a
  JSON control channel and an MCP server, so Claude and other agents can lay out and edit
  documents like a designer. See docs/control-protocol.md and
  docs/mcp.md.
- Everywhere. One Rust codebase for desktop and the web.

 Quick start

The egui frontend requires Rust 1.95 or newer (including its shared craft-ui components).

sh
cargo run --release -p designcraft                          desktop app (start screen)
cargo run --release -p designcraft -- --sample              open the sample magazine
cargo run --rele

Top issues

Latest release

DesignCraft v0.18.0 v0.18.0 2026-11-06
What's Changed
 M5: keep out-and-back cubic segments in striped strokes by @MMexicann in https://github.com/storytold/designcraft/pull/2323
 Pass the Linux signing key to the release workflow by @dylanmtaylor in https://github.com/storytold/designcraft/pull/2328
 About: credits tables fit without side-scrolling and their columns resize by @FredApps in https://github.com/storytold/designcraft/pull/2264
 Pages: parents and alternate layouts; export and print layouts and versions by @Gamedirection in https://github.com/storytold/designcraft/pull/1342
 Copy: a text frame anchored in a copied frame

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON