Exporting

Export your project as MP4, GIF, PNG, or PDF — directly from the editor's toolbar. Video and GIF run in the background while you keep working; PNG and PDF are instant. This page covers each format, the limits, and how to find or re-create past exports.

Formats

FormatTierUse forNotes
MP4ProProduction video, social uploads, presentationsH.264, 30 fps, frame-accurate. Renders at the project's full canvas resolution.
GIFProLoopable diagrams, social posts, README headers15 fps, max 1080px wide, infinite loop.
PNGFreeSingle-frame screenshot of the active slideToolbar → Export → PNG. Instant.
PDFFreeHandout-style multi-slide static exportOne page per slide, page sized to each slide's canvas. Toolbar → Export → All slides. Instant.

Pro requirement

Video and GIF export are Pro features. Free accounts can still export PNG and PDF. The toolbar's Export button shows a PRO badge for free accounts; clicking it surfaces the upgrade modal directly.

See Billing to upgrade.

Per-user limits on video and GIF

Renders are bounded so everyone's queue stays fair:

  • 2 in flight — submit a third and you'll be asked to wait for one to finish.
  • 20 per hour.
  • 100 per day.

If you legitimately hit these as a heavy creator, drop us a line — we can lift them for you.

The export tray

Click Export and the editor returns to you immediately — your render moves to a floating tray in the bottom-right corner. Each card shows:

  • StatusQueued (3rd of 8), Rendering · 47%, Done, Failed.
  • Live progress.
  • Cancel — works while the render hasn't started yet.
  • Download once complete.

Keep editing, switch slides, even close the tab — your render keeps going. When you come back, the tray's still there with the latest status. If you have multiple browser tabs open on the same account, they all show the same exports and stay in sync.

With notification permission granted, you'll also get a desktop ping when an export finishes — handy for long renders where you've switched to another tab.

History · the My exports page

My exports (also reachable from the user menu) is the durable home for everything you've rendered. Every job shows up there — completed, failed, cancelled — with:

  • Download — for files still on disk.
  • Re-export — links back to the original project's editor with the format pre-selected so you can render again with one click.
  • Delete — scrubs the row + file from history.

Retention

Two TTLs:

  • File available for ~4 hours. Past that the file is removed from our servers — long enough for same-session use, short enough to keep storage cheap (which keeps your bill cheap).
  • History row: ~30 days. The DB row hangs around so the My exports page can still show what you rendered, with a Re-export button that runs a fresh render against the project's current state.

Practical upshot: if you click Export, walk away, and come back the next day, the file's gone but the row is still there — one click to Re-export. If the original project was deleted, Re-export is disabled (we can't rerun a render against a project that's no longer there).

Errors and what they mean

"Video and GIF export are Pro features."
You're on the free tier. Upgrade.
"You already have 2 exports running. Wait for one to finish, then try again."
Concurrency cap. Watch the tray; submit again as soon as one finishes.
"Hourly export limit reached (20/hour)."
You've enqueued 20 jobs in the last hour. Limit rolls forward as old jobs age out.
"Daily export limit reached (100/day)."
Same idea, 24-hour window.
"File has expired. Re-export to download again."
Past the 4h file window. The history row is still there — hit Re-export.
"Re-export not available — this export wasn't linked to a saved project."
The export was made from a draft / unsaved project, or before we started linking exports to projects. Save the project once and any new export will be linkable.