Skip to content
Vol. 01Folio 2026Set in Rust
Pressable
Browser desktop publishing

The press is now
inside the browser.

Pressable is a desktop publishing platform with a Rust and WebAssembly core. Hand the Document Wizard a Word file or a Markdown doc; it hands back a newspaper, magazine, or book layout you refine across 27 dockable panels and export as press-grade PDF/X. No Creative Cloud lock-in, no four-gigabyte install.

Rust + WASM core, browser delivery
IDML and DOCX import, full fidelity
Bangla, Arabic, Devanagari, first class
Press sheetRust + WASM
634
Rust tests
27
Editor panels
26
Page presets
4
PDF print standards

Rust core. HarfRust shaping. ICU4X segmentation. CanvasKit / Skia rendering. krilla for press-grade PDF. Yrs CRDT for collaboration.

One engine, screen to press

What is Pressable

Pressable is a browser-based desktop publishing platform from KaritKarma. A Rust and WebAssembly core does the typography, layout, and PDF generation. A seven-step Document Wizard does the first draft. The editor ships 3 starter templates, 9 rule-based layout types, and 26 page presets, imports IDML and DOCX at full fidelity, and sets Bangla, Arabic, and Devanagari as first-class scripts.

Document Wizard

Content first. The layout comes back finished.

Most DTP apps make you pick a template, then drag content into pre-made text frames, then adjust placement by hand. The Wizard inverts the workflow: hand it content, get back a finished layout that opens directly in the full editor.

Nine document types, each with its own rule-based template constructor, and a content analyzer that maps headings, lists, and structure before a single frame is drawn. No prompt roulette: the layout engine is deterministic Rust.

9
Layout types
26
Page presets
4
Content formats
3
Starter templates
  1. 1
    Pick a document type
    Newspaper, magazine, book, flyer, brochure, report, newsletter, academic, or catalog: nine rule-based layout types, each with its own template constructor.
  2. 2
    Pick a page size
    26 presets covering broadsheet, berliner, tabloid, the A-series, US letter and legal, book and magazine trims, and digest, plus free-form custom sizes.
  3. 3
    Upload content
    .docx, .md, .rtf, or .txt. The content analyzer maps headings, lists, and structure before a single frame is drawn.
  4. 4
    Add images
    Uploaded images run through the image analyzer and are positioned by the layout generator alongside the text.
  5. 5
    Choose a theme
    Configurable font and color themes, applied across master pages and paragraph and character styles.
  6. 6
    Generate the layout
    The rule-based layout generator builds frames, places stories and images, and applies typography, ready for refinement.
  7. 7
    Open the full editor
    27 dockable panels: pages, master pages, styles, swatches, layers, links, glyphs, preflight, separations, story editor, and more.

Complex scripts

Scripts the rest of the industry treats as an afterthought.

Most DTP apps support Latin natively, then bolt on RTL or complex-script support as a plugin or a partial feature. Pressable was built with HarfRust shaping and ICU4X line breaking from day one, with script-aware shaping runs for Latin, Bangla, Arabic, and Devanagari.

Bangla is first class: a dedicated hyphenation dictionary alongside English, per-script font fallback to the Noto Bengali families, and grapheme-cluster-safe editing, so the caret never lands inside a conjunct and a line break never splits one.

HarfRust shaping. ICU4X segmentation.
বাংলা
Bangla / Bengali
conjunct-safe shaping
العربية
Arabic
RTL + contextual forms
हिन्दी
Devanagari
script-aware shaping runs
Aa
Latin
Knuth-Liang hyphenation
A + ا + অ
Mixed direction
UAX#9 bidi
·|·
Line breaking
UAX#14 via ICU4X
Knuth-Plass
optimal paragraph composer
fi
OpenType
per-feature control

Deterministic typography: the same input produces the same layout on every machine, every run, because the composer is Rust, not a rendering quirk.

The engine

One Rust engine, from caret to press sheet.

This is a real typography engine, not a rich-text box. HarfRust shapes the glyphs, UAX#9 resolves mixed-direction runs, ICU4X breaks lines per UAX#14, and a Knuth-Plass composer picks optimal breaks for the whole paragraph, the way InDesign does and browsers do not.

The same core that shapes text in your browser renders the final PDF on the server. What you see is what prints.

Shaping
HarfRust 0.5
Bidi
UAX#9
Line breaking
UAX#14, ICU4X
Paragraph composer
Knuth-Plass
Hyphenation
Knuth-Liang, en + bn
Rust tests
634
Press-ready outputServer-side
  • PDF/X-1ablind-exchange print
  • PDF/X-3color-managed print
  • PDF/X-4live transparency
  • PDF/A-2barchival
  • EPUB 2 + 3reflowable, CSS from styles
  • HTML5 + CSSsemantic export
  • PNG / JPEGconfigurable DPI
  • Bookletsaddle-stitch, perfect-bound
  • Print packageZIP: fonts, images, ICC, PDF

CMYK output, all 5 PDF page boxes, bleed and trim, crop marks. Rendered by krilla through the same Rust core that set the type.

Modern editor

Twenty-seven panels. Zero desktop install.

InDesign requires a Creative Cloud subscription, a four-gigabyte download, and an Adobe ID. Pressable runs in the browser: a CanvasKit / Skia canvas, dockable panels, and a keyboard-first workflow, no install.

27dockable panels, from Pages to Separations
⌘Kcommand palette with natural-language commands
3Dpublication preview with page curl
PWAoffline editing via a service worker

Plus color-blind simulation, an accessibility panel, and a story editor for text-only passes.

Import, honestly labeled

Bring the layouts you already have. No starting over.

Format detection reads magic bytes and ZIP members, not file extensions, and the capability registry is honest: a format is full fidelity, lossy, or detect-only with a documented migration path. IDML from InDesign and DOCX from Word import at full fidelity.

The native .pressable format round-trips with embedded assets. QuarkXPress, Affinity Publisher, and CorelDRAW files are detected, and each gets a one-step export path into the formats Pressable does import.

Scroll for full table

FormatSourceWhat happensFidelity
.idmlAdobe InDesignFull fidelity: spreads to pages, text frames with geometry, stories with paragraph and character style spans, colors, tables, master pages.Full fidelity
.docxMicrosoft WordFull fidelity: paragraphs, named styles, list numbering, tables, embedded images.Full fidelity
.pdfAny PDFLossy: pages placed as high-resolution images via PDFium. Extracted text is searchable, not reflowable.Lossy
.pressableNative round-tripNative format round-trip with embedded assets.Native
.qxpQuarkXPressDetect only. Migration path: export IDML or PDF from QuarkXPress, then import that.Detect only
.afpubAffinity PublisherDetect only. Migration path: export IDML from Affinity, then import natively.Detect only
.cdrCorelDRAWDetect only. Migration path: export PDF.Detect only
.md .rtf .txtWizard contentIngested by the Document Wizard as content, not layout: headings, lists, and structure feed the layout generator.Wizard

Pressable vs InDesign vs Affinity vs QuarkXPress

The full picture, side by side.

Here is Pressable against Adobe InDesign, Affinity Publisher, and QuarkXPress on the dimensions that matter to a working publisher, including the cells where Pressable says detect-only instead of pretending. Canva is excluded; it does not implement master pages, GREP styles, linked frame chains, or PDF/X export.

Scroll for full table

Feature
PressablePressable
Adobe InDesignInDesign
Affinity PublisherAffinity
QuarkXPressQuarkXPress
Document Wizard (rule-based layouts)
Knuth-Plass paragraph composer
Content structure analysisPartial
Complex scripts (Bangla, Arabic, Devanagari)PartialPartial
Real-time collaboration
PricingFree tier$23/moFree (Canva account)$699
PlatformBrowserDesktopDesktopDesktop
IDML importFull fidelityNativeImport only
QuarkXPress filesDetect + migrateNative
GREP styles
AutomationNL commands + REST APIExtendScriptXTensions
PDF/X exportX-1a, X-3, X-4AllAll
EPUB exportEPUB 2 + 3
Offline editing (PWA)
Self-hostable
Natural-language commandsBetaPartial
Color-blind simulation

Full feature-by-feature breakdown, including the rows where competitors win: the complete comparison.

Frequently asked

Six questions before you trial.

Everything below is also published in structured FAQ JSON-LD so AI assistants and answer engines can cite Pressable accurately.

What is Pressable?

Pressable is a browser-based desktop publishing platform from KaritKarma. A Rust typography and layout engine compiled to WebAssembly does the shaping, line breaking, and paragraph composition in the browser, and the same engine renders print-grade PDF on the server. It ships a rule-based Document Wizard with 9 layout types, 3 starter templates, 26 page presets, real-time CRDT co-editing, and first-class Bangla, Arabic, and Devanagari typography.

Does Pressable replace Adobe InDesign?

Pressable targets the working publisher's InDesign workflow: master pages, linked frame chains, paragraph and character styles, GREP styles, swatches, preflight, and PDF/X export are all native. The editor exposes 27 dockable panels with a keyboard-first workflow, and IDML import is full fidelity, so pages, frames, stories, styles, colors, tables, and master pages survive the move. Pressable adds browser delivery, real-time co-editing, and complex-script typography on top.

Can I import .indd or .qxp files I already have?

IDML, the interchange format Adobe InDesign exports, imports at full fidelity: pages, frames, stories, styles, colors, tables, and master pages are preserved. Native binary .indd is not supported; export IDML from InDesign once. QuarkXPress files are detected but not converted: the documented migration path is exporting IDML or PDF from QuarkXPress and importing that. PDF imports lossily, with pages placed as high-resolution images and text extracted for search. DOCX imports at full fidelity.

How well does Pressable handle Bangla and other complex scripts?

Shaping uses HarfRust, the Rust port of HarfBuzz, with script-aware shaping runs for Latin, Bangla, Arabic, and Devanagari. Mixed-direction paragraphs follow the Unicode Bidirectional Algorithm (UAX#9), and line breaking follows UAX#14 via ICU4X with grapheme-cluster-safe break validation, so a line never splits a Bangla conjunct cluster. Bangla is first class: a dedicated hyphenation dictionary, per-script font fallback to the Noto Bengali families, and conjunct-safe caret movement and selection in the editor.

What does the Document Wizard actually do?

The Wizard inverts the standard DTP workflow. Instead of picking a template and dragging content into pre-made frames, you give Pressable your content first: .docx, .md, .rtf, or .txt. A content analyzer maps headings, lists, and structure, an image analyzer classifies your uploads, and a rule-based layout generator builds one of 9 publication types around them. The result opens in the full editor with the layout already in place.

What does Pressable cost, and can I self-host it?

Pressable has four plan tiers: Free, Starter, Pro, and Enterprise. The Free tier covers 1 document of up to 5 pages without export. Pressable is also self-hostable: the platform ships as a Docker Compose deployment with the web app, the editor, the Rust API server, PostgreSQL, and S3-compatible object storage. Contact the team for early access and pricing.

KaritKarma ecosystem

Powered by three platform services.

Pressable does not rebuild authentication, authorization, or communications. It integrates with KaritKarma infrastructure so the editor team stays focused on typography, layout, and publisher workflows.

Pressable

Get started

Put your next issue through it.

Full-fidelity IDML and DOCX import. Press-grade PDF/X and PDF/A export. Bangla, Arabic, and Devanagari, first class. Real-time co-editing. Self-hostable with Docker Compose.

One Rust engine, browser to press sheet.

ColophonRust + WASM
Engine
Rust + WebAssembly
Shaping
HarfRust 0.5
Segmentation
ICU4X 2.1
Composer
Knuth-Plass
Rendering
CanvasKit / Skia
PDF
krilla (X-1a, X-3, X-4, A-2b)
Collaboration
Yrs CRDT
Auth
Wenme, OAuth 2.1
Tests
634 Rust test functions