LLMs can draft the deck, then hit a file-format wall.
A zipped XML bundle is hard to diff, hard to review, and brittle for agents to author directly.
OPF is an open file format for presentations. A deck is one JSON document — readable in review, diffable in git, and structured so AI tools can author it directly. Render it to PPTX or the web when you ship.
{ "$schema": "https://openpresentation.org/schema/opf/v1", "name": "Q1 2026 Business Review", "audience": "Board of Directors", "tone": "formal", "slides": [ { "layout": "title-subtitle", "title": "Strong quarter across the core business", "text": "Revenue grew 34% YoY and net retention beat plan." }, { "layout": "bullets", "title": "Where we focus next", "items": [ "Expand enterprise onboarding", "Convert retention lift into renewals" ] } ], "design": { "theme": "minimal" } }
Where you are · where OPF takes you
A zipped XML bundle is hard to diff, hard to review, and brittle for agents to author directly.
Schemas, catalogs, themes, and examples give models structure without hiding the work from developers.
Use OPF as the interchange layer between agents, editors, renderers, and version control.
Why OPF exists
− The mismatch
PowerPoint files are zipped XML bundles. Reviewers see binary churn in pull requests. Models and converters have to infer structure from packaging.
The format leaks tooling assumptions from a desktop era — OOXML was designed for Office, not for agents, diffs, or pipelines.
+ The answer
OPF makes the deck a JSON contract — one document, schemas, catalogs, themes — that humans, tools, and agents can read the same way.
Render it back to PPTX when you need a desktop file. Render it as HTML when you need a webpage. The source of truth is portable.
Reference docs
The spec auto-renders from JSON Schemas in the OPF repo. Every field is anchorable, every type is linked, every page has “Edit on GitHub”. Below is a live preview — pick a schema from the tree.
Catalogs · 11
OPF separates the deck from its style. Every catalog is a versioned JSON file. Ship with the defaults, fork them, publish your own, or reference someone else’s by URL.
Catalog of presentation tones available in the openpresentation.org catalog. Each entry is a lightweight summary; full tone records (voice cues, anti-patterns, sample phrases) live in the per-id JSON files alo…
Reference a remote catalog
Point any catalog reference at a URL that returns catalog JSON. Versions are part of the path; entries are addressed by id with a fragment.
{
"tone": "https://acme.example/catalogs/tones/v1#consultative",
"narrative": "@opf/catalogs/narratives/v1#business-review"
}Before · After
Adopt OPF
The presentation, slide, block, theme, chart, and catalog records that make a deck portable.
Quickstart guidance for authoring OPF JSON, validating schemas, and using structured output with AI tools.
Real .opf.json files you can load as fixtures for renderers, importers, exporters, and tests.
Public good
OPF, its schemas, and its catalogs are MIT-licensed and unbranded. Anyone can implement it. The site exists to keep the format easy to find, read, and adopt.