WDF · Web Document Format

Manifesto

We need a new type of document.

Not a better PDF, and not a better parser. A file that carries its own proof, its own accessibility and its own data — because the reader changed, and the format didn't.

What a document is now

Two audiences, one format designed for neither.

For five centuries, a document was a printed page: fixed size, fixed type, one kind of reader. Almost everything we believe about documents — pages, margins, “print-ready” — descends from that.

But look at how a document actually gets read today. It is opened on a screen, more often than not a phone. It is read aloud by screen readers. It is indexed by search engines, quoted by researchers, checked by auditors, and — increasingly — read, summarized and acted upon by AI systems. Printing it is the edge case.

A document today has two audiences: people and software. Every format we use was designed for exactly one of them.

The fracture

The reader changed. The format didn't.

PDF was born in 1993 to do one thing perfectly: carry the printed page, unchanged, to any machine. It still does. But it does it by freezing the print view and discarding the structure the document had while it was being written — headings become font sizes, tables become aligned glyphs, data becomes a picture of digits.

The web solved semantics thirty years ago. But a web page is not a document: it is not a file you can hand over, it can change silently under your citation, it makes no promise of integrity, and it dies with its server.

So this is where we are: we publish documents by throwing away what the reader needs, and we share pages that can't promise to stay the same.

The tax

You can't parse your way to proof.

An entire industry now exists to undo the damage. Extraction pipelines — Unstructured, Reducto, and hundreds more — are paid every day to guess back the structure that documents had before publication destroyed it. Microsoft, the owner of .docx and .pptx, ships MarkItDown: a tool whose only job is to demolish its own formats into something machines can read. Its README is candid about the result — the output “is meant to be consumed by text analysis tools”, not by people. Even after conversion, you hold two diverging artifacts: the document for humans and the text for machines, with no verifiable link between them.

Parsing is a workaround, and good parsers make it a tolerable one. But there are three things no parser will ever give you:

  • Proof. An extraction is an interpretation. No pipeline can demonstrate that what the machine read is what you saw.
  • Access. Semantics lost at print time is lost. A PDF does not become readable on a phone, or to a screen reader, downstream.
  • Data. 14640 drawn in a table cell is a picture of digits. Its type, its unit, its column are guesses.

If we want documents that carry their own proof, their own accessibility and their own data, the format has to be born with them. That is why we need a new type of document.

Principles

What would have to be true.

Before writing a line of code, we wrote down what such a format must be:

  • Web-native. HTML solved document semantics decades ago. Don't invent a rendering model; use the one every device already has.
  • Verifiable by construction. The machine view must derive from the human view deterministically — same bytes in, same bytes out, on any platform — and hashes must bind them. Verification must work offline, with no authority to call.
  • Additive, not destructive. People must deliver PDFs; fine. The author's own PDF travels inside the document, pixel-faithful, next to the real structure. Keep the PDF. Gain the rest.
  • Honest about origin. A document declares how it was born: authored, captured from the web, or extracted by heuristics — never one passed off as another.
  • A file. One portable artifact. Opens offline, attaches to email, needs no platform, phones no server. Ever.
  • Open, and boring on purpose. A closed whitelist of plain HTML, ZIP and JSON, a spec anyone can read in an evening (CC-BY), code under Apache-2.0. Formats survive by being dull.

Today

This already works.

WDF 0.1 ships today, and every claim below has something you can open:

You need WDF today Try it
Readable on a phone, accessible Semantic HTML on a closed whitelist; native reflow; installable Reader. Reader
Machines read what you read — provably Byte-deterministic extract, SHA-256 manifest, offline verification. Spec
Citations that outlive “page 2” Stable anchors, resolvable wdf: URIs, one-click copy. Comparison
Tables you can compute on Typed datasets bound to the visible tables, validated. Energy report
“But I must deliver a PDF” The author's PDF travels inside; the Reader shows it as the Original view. Drop a .docx
Provenance for a captured page Browser extension with declared capture provenance. Extension
AI integration MCP server: agents navigate by identifier, never by parsing. MCP session
No lock-in ZIP + JSON + HTML; single-file standalone opens anywhere; Apache-2.0 / CC-BY. GitHub

Not yet

What it is not — yet.

Honesty is part of the design, so here are the limits:

  • Verification today proves integrity, not identity. It tells you the document is intact and the views agree — not who wrote it. Cryptographic signatures and capture witnessing are next on the road.
  • It will not replace PDF for print-perfect archival, and does not pretend to. PDF/A is good at what it does; WDF carries the PDF rather than fighting it.
  • It is not an authoring tool. WDF is a format. Documents come from what you already use — Word, Google Docs, the web — through converters that keep the source.
  • Its governance is young. The spec is versioned and open; a community group is the plan, and the format's future should not belong to us.

WDF is our answer. The spec is short — read it, break it, tell us.