Picking a format
For exporting an SVG element (rather than a whole frame), select an
<svg> inside a frame and use the right sidebar Download SVG action.
Per-frame vs whole canvas
Both server and client exports support selection-aware export:- Nothing selected. The export covers the whole canvas. Multi-frame outputs come back as a
.zip. - One frame selected. The export covers that frame only. Single file.
- Multiple frames selected. Multi-frame export, zipped if more than one file.
Server exports (PPTX / PDF / PNG / JPG)
When you trigger a server export the backend:- Renders each selected frame at its true size, headlessly.
- Walks the iframe DOM, mapping computed styles into the export format’s primitives.
- Packages the output, uploads it to R2, and streams a signed URL to your browser.
PPTX walks the DOM, not the pixels.
<h1> becomes an editable PowerPoint title. <ul> becomes a real bulleted list. <img> is embedded as a real image. CSS gradients and filters that don’t translate cleanly are pre-rendered as PNG and embedded.Common gotchas
A PPTX export wraps text on a different line than the browser
A PPTX export wraps text on a different line than the browser
PowerPoint uses its own text-shaping engine, so titles that fit exactly in Chrome can wrap onto two lines in PowerPoint. Ask the agent: “Add 4 to 8 pixels of horizontal slack to tight text boxes.” That almost always fixes it.
A gradient or filter looks different in the export
A gradient or filter looks different in the export
A handful of CSS effects don’t translate. The exporter pre-renders them as PNG. If a specific section is sensitive, ask the agent: “Pre-render this hero as a single image so the export is pixel-exact.”
My fonts changed in PowerPoint
My fonts changed in PowerPoint
The deck used a webfont the recipient doesn’t have. PowerPoint substituted. Ask the agent: “Switch the deck typography to fonts that ship with Office.” Calibri, Aptos, Arial, Georgia, Cambria, and Consolas all ship with both Mac and Windows Office.
PDF page breaks split a section
PDF page breaks split a section
PDF is one frame per page. If you want one section per page, generate them as separate frames.
Client exports (HTML / React / Prompt)
These run in your browser and never touch the server.HTML
A standalone.html document per frame. Inline styles, no JavaScript, no runtime. Open it in any browser, paste it into an email, drop it into a static site.
React
Two flavors, picked by selection size:- One frame. A single
.tsxfile with a default-exported component. Tailwind classes. Self-contained. - Multiple frames. A
.zipwith a minimal Vite + React + Tailwind project: every frame is a component, plus a rootApp.tsxthat routes between them.
Prompt
The Prompt export copies a clipboard-ready prompt that describes the frame in enough detail for any other AI tool (ChatGPT, Claude, v0) to rebuild it. Useful for cross-agent handoff or for archiving a frame in plain text.What’s missing today
We are upfront about gaps:- Whole-canvas single HTML file. Today HTML exports are one file per frame. A single-page scrollable HTML export is on the roadmap.
- Direct Figma export. Not shipped. Today you can export PNGs and import them into Figma as flattened images.
- Custom export presets (e.g. “always export at 2x for social”). Today you pick format and selection per export.
Next
Promote to app
Turn frames into a deployed Vite + React app on your domain.
MCP exports
Trigger the same exports from your editor via the MCP.