1The idea
Every other HTML-to-PowerPoint tool treats the HTML as something found in the wild and tries to recover meaning from it. unPaper turns that around: the deck is written to a spec, so the converter doesn’t guess — it lowers a known format into native PowerPoint objects. The richer the contract a deck honours, the more of it becomes editable.
The format is designed to be generated by an AI assistant (that is what unPaper Slides sets up), but nothing here is unPaper-specific: any tool or model can target it.
2Conformance levels
How much a deck guarantees depends on how much of the contract it follows.
3The geometry contract (L1)
One self-contained HTML file. Each slide is a single element sized to a fixed 1280×720 canvas (PowerPoint’s 16:9). The file makes no network requests and uses no external CSS, fonts, scripts or images — any visual is inline SVG, pure CSS, or a data: URI. It must render completely with JavaScript disabled, because the converter reads it that way.
<section class="slide"> <h1>One claim per slide, as a full sentence</h1> <p>Supporting detail…</p> </section>
Keeping the geometry self-contained is also what makes the file safe to print and to keep offline.
4Use the element that matches the meaning (L2)
Each of these converts to a real, editable PowerPoint object — so reach for them by intent:
<table>(with<tr>/<th>/<td>, andcolspan/rowspanwhere needed) for any comparison or data grid → a native, editable table. Never fake a table out of<div>s.<ul>/<ol>with<li>for lists → real bullet paragraphs.<a href>for links → live hyperlinks.
Cards, panels, dividers and accent bars built with ordinary CSS (background, border, border-radius, gradient, box-shadow) are reconstructed as movable native shapes automatically.
Layout grammar. To compose a slide as a grid of regions rather than one stack, give a container data-unpaper-lay; each direct child is a region holding any block (text, a list, a chart, a table). Grids: 2 equal columns, 2l wide-left + narrow-right, 2r, 3, rail (label + main) and quad (2×2). Each region converts to native objects at its measured position, so many layouts cost one attribute and almost no markup. See the layout grammar explainer for a visual walk-through.
<div data-unpaper-lay="2l"> <div> …text and bullets… </div> <div data-unpaper-chart='…'> …chart svg… </div> </div>
5Charts: draw and describe (L3)
Draw a chart as plain inline SVG for the web rendering, and attach its data — on the <svg> itself or a wrapper around it — as a data-unpaper-chart JSON attribute. The converter rebuilds it as a native chart with a real, editable Excel sheet.
data-unpaper-chart='{
"type": "bar", // bar | column | line | area | pie | doughnut
"categories": ["Q1","Q2","Q3","Q4"],
"series": [
{ "name": "Revenue", "values": [4.2,5.1,4.8,6.3], "color": "F0B429" }
],
"axis": { "min": 0, "max": 8 } // match the scale you actually drew
}'Keep numbers a reader must see (a percentage in a doughnut’s centre) as HTML positioned over the SVG, not as SVG text — HTML survives as an editable text box.
6Speaker notes
Put a slide’s talking points in <aside class="notes"> (or any element with data-unpaper-notes) just before the slide closes. It is hidden on the slide and becomes the slide’s real PowerPoint speaker notes.
<section class="slide"> … <aside class="notes">Open with the headline number; hand to Dana after the risks slide.</aside> </section>
7Versioning
A deck may declare the dialect version on its root element so it keeps converting predictably as the standard grows:
<html data-unpaper="1">
All of the dialect’s semantic attributes share the data-unpaper- prefix. The earlier data-h2p- prefix is still accepted by the converter for older decks, but new decks should use data-unpaper-.
8Stewardship, licensing & how to reference it
The unPaper HTML specification is published and stewarded by reHeritage GmbH (Berlin, Germany). It is an open format: the specification text may be read, shared and implemented freely, and you MAY build any tool that reads or writes unPaper HTML — including commercial tools — without permission or fee. Authoring a deck to this standard is likewise unrestricted; the documents you create are yours.
The format and its name are stewarded to keep conversions interoperable; “unPaper” and “unPaper HTML” are names of reHeritage GmbH. The unPaper converter that compiles this format to PowerPoint is a separate product with its own Terms.
To reference a deck’s conformance, cite the dialect, version and level — for example, “unPaper HTML, Version 1, Level 2”.