Commentary#Coding agent#File management

DesignCraft tested: the free InDesign alternative that cannot thread text yet

DesignCraft is a free, open-source InDesign alternative in Rust, self-rated 80% feature breadth and 47% ready for real work — still pre-alpha.

DesignCraft is an open-source InDesign alternative rebuilt from scratch in Rust by the ArtCraft team, covering page layout and publishing: spreads and parent pages, frames and threaded stories, paragraph and character styles, swatches and text wrap, all positioned where InDesign puts them and bound to its shortcuts, running natively on macOS, Windows and Linux and in the browser. As of October 12, 2026 it has 3,192 GitHub stars (959 at the seven-app comparison on October 8), with v0.6.0 shipped on October 11. It is the youngest of the seven alternatives — the roadmap (last reviewed 2026-10-10, updated 2026-10-11) marks its stage as pre-alpha, for a reason stated with unusual precision: it cannot yet thread a story of text from one frame into another. This article starts from that fact, because it describes both the opportunity and the risk.

Key points

  • It admits it fails the alpha gate. Threading a story between frames — an InDesign core workflow — is broken: the in and out ports are drawn, but clicking the out port does nothing and there is no thread or unthread command. The roadmap puts alpha at roughly 15–25 agent-hours away, and that estimate’s weight depends on how you read “manual threading.”
  • The typography engine is the real thing. A Knuth–Plass paragraph composer plus a single-line mode, dictionary hyphenation (the public-domain Moby word list plus the project’s own trained patterns), word-, letter- and glyph-scaling justification, keeps, optical margin alignment, columns and a baseline grid — with line breaks identical on screen and in the PDF.
  • File exchange runs through IDML. IDML import and export both work, and output includes PDF/X-4 and PDF/A-2b; .indd files cannot be opened, and that sits squarely in the beta gate.

Pre-alpha, and honest about it

Start with the roadmap’s headline numbers (reviewed 2026-10-10): feature breadth about 80% (69% of InDesign 21.6’s in-scope menu items matched, 99% of the project’s own 275-row checklist), “ready for real work” about 47% with a range of 42–52%, mainstream practitioner about 42%, essentials user about 54%. The stage is pre-alpha; the distance to alpha is written as “about 0% and about 15–25 hours,” with beta adding roughly 420–750 agent-hours beyond that.

That “about 0% and 15–25 hours” phrasing is unusual, and worth parsing. It concedes that the percentage has already cleared the bar (47% is above the alpha threshold) and that what blocks the stage is a core workflow. The project’s own explanation: five of the six items in its alpha gate — document setup, styles, images, object editing, PDF export, and save-and-reopen — work end to end on macOS, while “threading a story from one frame to another” does not. The ports are drawn; clicking the out port does nothing; there is no thread command. Long text flows only through autoflow on Place and the Primary Text Frame, and users report that it adds and keeps pages wrongly (issues #165, #140, #194, #352).

That candor deserves its own sentence, because DesignCraft is the only one of the seven whose documentation explains “why it cannot be used yet” in terms a reader can verify. The others publish percentages; this one publishes a specific defect down to the click that does nothing.

It is also the youngest: the first commit landed on October 1, 2026, and the roadmap’s own framing is that reaching roughly 95% of the full target takes 1,150–1,950 agent-hours, about 70% of it parallelizable. That estimate is worth reading twice. It implies the remaining work is broad rather than deep — dozens of areas in parallel — which is the pattern of an AI-assisted build with a thin human layer over it, and it is the same bet the sibling projects made. What differs here is that the roadmap says which area dominates, and for a mainstream practitioner it names the same three things this article keeps returning to: INDD import and an IDML corpus, composition fidelity, and weekly-area depth.

For readers, the practical translation is simple. Single-page and single-column work — posters, covers, forms, one-pagers — is probably workable today. A magazine, catalogue or anything with multi-column body text and a pull quote runs into the missing main path.

The typography engine is the real thing

DesignCraft’s typographic choices are professional, and each one maps to something InDesign users fight with daily.

The paragraph composer implements Knuth–Plass (plus a single-line mode), so line breaks are globally optimal rather than greedily local; hyphenation comes from a dictionary — the public-domain Moby word list plus patterns the project trained itself. Justification scales at three levels: word spacing first, letter spacing only when words will not move, glyph scaling beyond that, which is what an experienced typesetter actually does. Keeps (a heading never stranded at the foot, a figure never split), optical margin alignment for punctuation hanging and glyph side bearings, columns, a baseline grid, tabs, rules and shading are all present.

The line that says most about quality is that line breaks on screen are identical to line breaks in the PDF. Plenty of layout tools look right in preview and reveal different line breaks on export, which means manual correction afterwards. DesignCraft puts this in its feature list because it decides whether “what you see is what you get” is real.

The interface follows InDesign: spreads and parent pages, frames and threaded stories, the Control panel, paragraph and character styles, swatches and text wrap, plus the tools, menus and shortcuts. If you know InDesign you already know how to use it — which is its biggest migration advantage over Scribus, whose interface follows its own logic. Typesetting is a craft, and migrating means migrating muscle memory too.

The sample magazine was laid out by code

The sample document in the README — Quarterly, spring issue, four pages: a cover, a feature opener, a three-column body page and a swatch page — was laid out by DesignCraft from code and exported by its own renderer, in crates/engine/src/sample.rs. Nobody nudged a single text frame with a mouse. You can open it with File → New → Sample Document, or start the app with --sample.

That matters beyond the demo. Body text flowing through three columns and around a shaded pull quote, a full-bleed graphic cover with display type and an italic deck, and a palette page carrying a CMYK process swatch labeled C=100 M=0 Y=0 K=0 are executable proof of layout capability. The engine’s color layer covers CMYK, RGB and Lab with swatches, tints and gradients in the first architectural layer, so these are not placeholders.

One caveat belongs next to that: a CMYK process swatch on a sample page is not the same as a finished print workflow. The roadmap puts print fidelity and PDF/X-1a behind beta. If you deliver to a print shop, this is not the tool today.

The missing piece: threading

If one fact decides whether you wait, it is threading. In InDesign, connecting one body of text to the next frame is a core operation: edit the text once and every threaded frame updates, and columns and pull quotes depend on it. DesignCraft draws the ports and cannot make the connection.

The roadmap says alpha is this one item away, reachable with manual threading. That sentence reads two ways. The optimistic reading is that the gap is narrow and well defined. The careful reading is that threading is not only a button — it pulls in flow ports on frames, the rules for automatic page insertion, column behavior across threads, and the interaction between keeps and threading, each of which can affect composition fidelity. Composition fidelity, in the roadmap’s dimension table, sits at 45%.

The useful response is to bring a real publication that needs threading, run the parts that do work on top of the sample document, and then decide whether to wait.

There is a partial workaround worth knowing, even if it is not a fix: place the text into the first frame, let autoflow continue it, and treat each resulting frame as independent. That is workable for body copy that never changes after the first fit, which is a real category — catalogue copy, legal boilerplate, a fixed footer block. It collapses the moment a client edits a word in paragraph twelve, because every frame below it needs manual reflowing. If your documents are like that, the tool is usable today with discipline; if they are edited often, you are waiting.

File exchange: IDML in, INDD out

DesignCraft’s exchange strategy centers on IDML, InDesign’s own XML format: import and export both work, the native format is documented JSON, and output covers PNG, PDF (PDF/X-4, PDF/A-2b) and EPUB, with no subscription, no license server and no telemetry.

That .indd files cannot be opened is stated in the beta gate, alongside proving IDML on real files, comparing composition against InDesign’s, and fixing basic editing on Windows and Linux. Translated into workflow: when a client hands you an .indd, you need them to export IDML first, or you deliver IDML and PDF and they import it. For designers who deliver rather than take over other people’s projects that is workable; for freelancers whose work starts from someone else’s InDesign file, it is not yet.

The architecture is worth one paragraph. DesignCraft is an engine-first Cargo workspace with enforced layering (cargo xtask layers): L0 geometry and color, L1 document model and fonts, L2 the text engine, L3 rendering (vello_cpu), L4 tools, L5 engine with the command registry, L6 the egui front end, L7 the apps. The interface is its own crate, replaceable without touching the engine, which is why one codebase serves both the desktop and the browser.

The dimension-by-dimension score

The roadmap scores by dimension, which is more useful than a single total:

DimensionSelf-ratingDistance (agent-hours)
Performance65%40–80
Feature depth55%250–400
Typography and composition fidelity45%120–200
UI/UX fidelity45%120–180
Stability45%60–100
File formats40%150–250, plus 20–60 for INDD

Performance leads; feature depth, typography fidelity and stability trail; file formats sit last. That distribution matches a project whose text engine is finished and whose surroundings are still growing. The roadmap also gives an effort model: reaching roughly 95% of the full target takes 1,150–1,950 agent-hours with about 70% parallelizable, the mainstream practitioner path takes 500–850, and the essentials path 135–250.

DesignCraft vs Scribus vs Affinity

The layout field in 2026, with facts checked on 2026-10-12:

DimensionDesignCraft v0.6.0ScribusAffinity PublisherInDesign
Pricefree, MIT / Apache-2.0free, GPLfree in 2026 (per hands-on videos)$22.99/month
Stagepre-alphastable (1.6 line, 1.7 in development)commercial qualitycommercial software
Interfacemirrors InDesignits own logicmirrors InDesign—
Paragraph compositionKnuth–Plass + dictionary hyphenationbasicstrongstrong
Threadingunavailable (the alpha gate gap)available via linked framesavailableavailable
GREP stylesnonoyesyes
Data mergenolimitedyesyes
Opens InDesign filesIDML import/export, no .inddnoyes—
Print outputPDF/X-4, PDF/A-2b (unproven pre-beta)PDF-focusedcompletecomplete
Automationcommand registry + MCPPython scriptsPython scriptsExtendScript

Scribus is the veteran of this cell: more than a decade of page layout across platforms, stable on the 1.6 line with 1.7 still in development as of a May 2026 release roundup, and 638 stars on GitHub. Third-party comparisons such as Capterra’s Scribus-versus-InDesign page routinely name the same gaps — cannot open InDesign files, no GREP styles, no data merge — and DesignCraft shares all three today, on top of missing threading.

What changed this cell is Affinity. A 2026 hands-on video titled “Affinity 3 is Free! But Should You Switch from Illustrator?” has 140,839 views and “I Tried Affinity Publisher After 10 Years in InDesign…” has 128,729 (both read 2026-10-12). The demand signal is clear: people who want the InDesign workflow without a subscription now have a non-open-source free option. DesignCraft occupies the tier below that one: fully open source, no subscription, scriptable by agents.

That positioning is worth stating plainly, because it decides who should switch. If your requirement is “stop paying Adobe, keep the InDesign interface, accept a proprietary product,” Affinity Publisher is the shorter path today and the sane answer. If your requirement is “own the file format, script the layout, and never depend on a vendor’s roadmap,” DesignCraft is the only option in this table that meets it — and it is also the only one that cannot thread a story yet. Both facts are true at once, and choosing between them is a values decision rather than a features decision.

For teams that already run InDesign, there is a third option worth naming: keep the subscription during a transition period and hand the scripted work to DesignCraft while the remaining production stays in the tool everyone knows. Because IDML is InDesign’s own interchange format, that hybrid is possible today in both directions — export IDML from InDesign, work on it in DesignCraft, export PDF or IDML back — which turns a scary switch into a per-project decision. That is also the cheapest way to find out whether the typography engine suits your house style, since a single spread will show you more than any feature list.

Scripting and the agent surface

DesignCraft is agent-native in the same sense as the rest of the family: every menu item, tool gesture, panel control and dialog can be driven over a JSON control channel and an MCP server, so an agent can lay out and edit documents the way a designer does. The running app accepts JSON lines on 127.0.0.1:7979, and the protocol is documented in the repository alongside the MCP reference.

Combined with a documented JSON project format, this changes what a layout tool can be. A catalogue, brochure or report that used to mean one designer, one InDesign file and a manual export becomes a pipeline: a template document in version control, data merged in by a script, the layout rendered and exported without anyone opening the interface. Nobody is claiming the sample magazine proves that pipeline end to end — threading still blocks the multi-page case — but single- and few-page jobs are already scriptable, and that is the direction the project is building toward.

There is a second, quieter benefit. Layout files that diff as text can be reviewed in a pull request, which means a change to a master template is visible to a team rather than hidden inside a binary nobody can read. For studios and in-house teams moving off InDesign licensing, that property may matter as much as the price.

Installing and first run

Downloads live at getartcraft.com/apps/designcraft, and the GitHub release page lists every build with a SHA256SUMS.txt checksum list: code-signed Windows MSI and portable zips for x64, arm64 and x86, a signed and notarized universal macOS DMG, AppImage, Flatpak, deb, rpm and tarballs on Linux, plus a WebAssembly build that runs in a browser. The desktop app writes its logs to logs/designcraft.log in its settings directory, rotating the previous run to designcraft.1.log; crash reports and failed crash-recovery saves land in the same file, which is what the project asks you to attach to a bug report.

Two environment variables are worth knowing. RUST_LOG sets log levels — info for DesignCraft’s own crates and warn for everything else by default, replaceable with directives like debug. WGPU_BACKEND selects the graphics backend (dx12, vulkan, gl, metal). DesignCraft renders its canvas on the CPU through vello_cpu and uses the GPU only to composite the interface; because a graphics driver can fault before any Rust code can catch it, the backend is chosen before the window exists, and a start that never showed a frame is remembered in gpu.json so the next launch tries the next one.

The fastest first session is to open the sample document and read through it: it demonstrates styles, spreads, parent pages, frames, swatches and export in one pass, and working on a copy tells you quickly whether the tool fits your kind of work. If it feels fast on macOS, that is the platform the project tests most; on Windows and Linux, budget extra time for the interaction bugs the roadmap says are being fixed first.

Who should try it, who should wait

  • Single-page and single-column layout — covers, posters, forms, one-pagers: try it. The text engine is high quality and PDF/X-4 plus PDF/A-2b export is there; your work most likely never touches threading.
  • Magazines, catalogues, multi-column body text with pull quotes: wait for threading. The gap has a name, issue numbers and a stated distance, so there is nothing to guess.
  • Freelancers who open clients’ .indd files: wait for INDD support, or agree IDML plus PDF as the delivery format in advance.
  • Print and compliance archiving: stay with commercial software. The roadmap itself puts print fidelity after beta.
  • Developers and automation: worth a look. The command registry plus MCP, together with a documented JSON project format, is the first time “template plus data to layout to export” can be scripted and version-controlled.

DesignCraft belongs to a bigger picture: our seven-app comparison weighs all of ArtCraft’s Adobe alternatives. The GitHub repository updates daily; downloads live at getartcraft.com/apps/designcraft.

FAQ

Is DesignCraft free for commercial use?

Yes. MIT or Apache-2.0 dual license, with no subscription, no license server and no telemetry. The native format is documented, so project files can live in version control without a vendor’s binary format in the way.

Can it open InDesign project files?

Not directly. Its exchange path is IDML — InDesign’s own XML format, imported and exported — with PDF/X-4, PDF/A-2b, EPUB and PNG output. The roadmap places opening .indd and proving IDML on real files both inside the beta gate.

What works today, and what does not?

Working: single-page and single-column layouts, styles and swatches, image placement, object editing, spreads and parent pages, text wrap, and PDF and EPUB export. Not working: threading text between frames (clicking the out port does nothing), opening .indd, GREP styles, data merge, and proven print fidelity. Five of the six core workflows in the project’s own alpha gate run end to end on macOS; threading is the one that does not.