paged. — an And The Next project, Salzburg

Desktop publishing, for everyone.

Open the editor live →Drop your own .idml

Nothing to install · nothing uploaded · WebGPU in Chrome, Edge and Safari 26

The cover of The Paged Annual, a 134-page document made in the paged editor
static render of the same page — the engine draws it live on request
Act I — the thesis

Desktop publishing was locked up

Page layout at print quality has lived inside one closed desktop application — and, once it had to be automated, inside a server license and a render farm.

atalogues, annual reports, magazines and price lists are still made the way they have been made for decades: in a proprietary file format, read faithfully by one vendor's software, rendered on that vendor's machines. Anyone who wanted to open, preview, generate or edit those pages programmatically had to rent the whole stack.

paged. opens it. The engine reads IDML — the interchange format InDesign writes — and lays it out the way InDesign does: the same line breaks, the same baselines, the same transparency. It is written in Rust, compiled to WebAssembly and painted on WebGPU, so the work that used to need a server runs in a browser tab, on the machine of the person doing it.

On top of the engine sits an editor of the same class, and around the editor sit plugins for the work a publication actually contains: vectors, photographs, spreadsheets, databases, web content, Word manuscripts, slides and the formats they travel in.

InDesign-class work, now open source, local, and one browser tab away.
Act II — the platform

One engine, every tier on a public boundary

The renderer is open source. The editor consumes it across the same wasm boundary your integration would; plugins consume the editor across a type-only contract. Nothing is special-cased — including this site.

Fig. 01
The four layers of the paged architecture: plugin bundles over the editor shell over scripting over the render engine, drawn as an exploded isometric stack.Plugin bundlespaged-media/plugin-sdkEditor shellpaged-media/editorScriptingpaged-media/editorRender enginepaged-media/coreArchitecture4 layers · 2 public boundaries · 1 wire protocol
Fig. 01 — The four layers — every tier consumes the one below across a public boundary.this figure is vector — zoom in
130
editing operations, one undo channel
403
typed property schemas
30
address forms in the object model
3
backends from one display list
The open IDML engine

paged core

A Rust engine that reads InDesign documents and lays them out the way InDesign does — then paints them on the CPU, on WebGPU, or into print-grade PDF from one display list.

read the spread →
IDML on any web page

paged viewer

Drop the engine's renderer into a web page and an InDesign document becomes a live, zoomable page — no server, no conversion step, no plugin.

read the spread →
InDesign-class

paged editor

An InDesign-class layout application that runs entirely in your browser tab: the engine in a worker, a cockpit that follows what you are editing, and every plugin in the same chrome.

read the spread →
Build your own plugin

plugin SDK

The same contract every first-party plugin is written against: a typed host, the object model, the scripting surface and a validator — so a plugin of yours sits in the editor exactly like ours.

read the spread →

The whole platform, explained →
Act III — the proof document

The Paged Annual: 134 pages, made in the editor

A specimen book built by driving the real editor through every tool and every plugin — then exported and compared, page by page, against InDesign's own rendering of the same file.

The Paged Annual — drawing-office
The Paged Annual — darkroom
The Paged Annual — chart-wall
The Paged Annual — blend-modes
The Drawing Office, the Darkroom, the chart wall and the sixteen blend modes — four of the Annual's pages.
134
pages
128
pass the comparison with InDesign
0.964
median SSIM against InDesign
117 of 118
editing operations exercised

Read the Annual, and render it live →
Act IV — the plugins

Every kind of content, on one page

8 first-party plugins, each written against the same contract a plugin of yours would use. Each one built a chapter of the Annual.

Illustrator-class

paged.draw

Illustrator-class vector drawing inside the layout: pen and shape tools, pathfinder, live paint, symbols and blends, on the same page as your text.

read the spread →
Photoshop-class

paged.image

Photoshop-class image editing on WebGPU — layers, masks, adjustment layers, healing and content-aware fill — and a PSD that comes back byte for byte when you did not touch it.

read the spread →
Excel in the layout

paged.sheet

A spreadsheet engine in the page: real Excel workbooks with live formulas, tables and charts that paginate like print, and save back as XLSX.

read the spread →
Database publishing

paged.data

Catalogues, price lists and directories generated from your data: SQL over CSV, JSON, Parquet and Excel in the browser, bound to the layout and kept in sync.

read the spread →
The web, set in print

paged.web

InDesign can't speak web; web tools can't speak print. paged.web lays out HTML and CSS inside frames, flows it across pages, and bakes it to native items InDesign opens.

read the spread →
Word, typeset

paged.doc

Open a Word .docx as native, editable layout — lists, tables, images, footnotes, headers and footers — and save your edits back into the same file.

read the spread →
PowerPoint, typeset

paged.slide

PowerPoint decks on the engine: every preset shape, every built-in table style, charts and SmartArt, laid out within a point of PowerPoint.

coming →
IDML and PDF in, IDML out

paged.publish

The format lanes: IDML written back in InDesign's own spelling with untouched parts kept verbatim, and PDFs opened as editable text, vector and image frames.

read the spread →

Every plugin →
Act V — try it

The editor, live in this page

Not a video and not a mock-up: the shipping application, booted from the playground into this tab. 73 panels, 28 tools, 6 workflow modes, 8 plugins loaded at start.

Needs a browser with WebGPU (Chrome, Edge, Safari 26).open full screen ↗

The editor, spread by spread →
Act VI — in the open

Verified in the open

The engine is MPL-2.0 OR PMEL; the editor and the plugins are AGPL-3.0 OR PMEL. The feature registry and every test run behind it are published, commit-pinned, with the failures left in.

614
features in the registry
453
features backed by linked tests
8,562
tests passing
3
tests failing, published
Every feature, every test, every change — public, commit-pinned, and verified in the open.

Development · Conformance · github.com/paged-media ↗

Act VII — own it

What it costs to render a page here

[ 0 ]cloud dependencies
[ 0 ]tracking cookies
[ 0 ]servers rendering this page
Fig. 02
Comparison of a server rendering round trip (document leaves the machine, network hops drawn in oxblood) against the paged local loop (everything stays in the browser).Server renderingyour editrenderfarmupload ⇡download ⇣latency · seconds–minutes per iterationpaged — local loopyour edit +engine (wasm)16 ms looplatency · milliseconds, every keystrokeservers rendering this page: 0 · the status line below is the same counter
Fig. 02 — The round trip you stop paying — the network is the cost, drawn warm.

Open the editor live →Drop your own .idml →See the whole platform →