Interactive embeds
Publish one saved document as a responsive, interactive iframe.
Every published saved chart has a stable embed URL. The same saved document drives SVG, PNG, Studio, MCP previews, Figma, and the embed; the embed adds browser interaction.
Embedding
<div style="aspect-ratio: 16 / 10; width: 100%">
<iframe
src="https://szum.io/e/CHART_ID"
title="Quarterly revenue"
loading="lazy"
style="width: 100%; height: 100%; border: 0"
></iframe>
</div>Give the iframe a meaningful title. The chart's own accessibilityDescription, title, native labels, and accessibility summary remain part of the embedded output.
The iframe may be embedded on any origin. Do not use the human-facing /v/{id} share page as an iframe substitute; that page deliberately denies framing.
What's interactive
- Responsive layout follows the iframe's actual container.
- Hover and pointer focus expose data tooltips.
- Categorical legends can filter compatible series without changing the stored document.
- Compatible chart updates animate smoothly.
- PNG and SVG links remain available from the same saved chart identity.
Legend state is local to the viewer and is never persisted. Resizing and interaction do not call the origin or consume render quota.
Same primitive as saved images
/e/{id} and /c/{id} use the same published document and current plan presentation. Embedding requires no additional chart config.
Updating the saved document keeps the id and both URLs stable. Unpublishing or deleting the chart makes both routes unavailable. A cached response can remain visible for up to its documented cache lifetime, and an already-open iframe can continue rendering its in-memory document until refreshed.
Quota and caching
A successful origin cache miss for embed HTML counts as one embed render against the chart owner's allowance. The response is cached publicly for 24 hours. CDN hits and all client-side interaction are free.
Updating, unpublishing, or deleting requests a CDN purge. Purge failure falls back to the cache lifetime rather than making publication mutation fail.
Theming
The embed resolves the current owner plan at origin:
- Free uses built-in theme presentation and required attribution.
- Creator and Pro preserve authored theme overrides and omit attribution.
A later downgrade does not delete or unpublish the chart. It changes effective delivery presentation without rewriting authored document state; upgrading restores permitted overrides.
presentation.colorScheme: "system" follows the viewer's live system setting, while systemFallback keeps static output deterministic.
Attribution
When required, attribution is rendered inside the chart and participates in layout. It is clickable in the embed. It is delivery policy, not a config field.
Errors and availability
Missing, unpublished, deleted, invalid, or temporarily unreadable publications return a non-cacheable unavailable response. A Studio draft never substitutes for the published document. Older stored documents are converted when supported; unsupported stored data remains unchanged for recovery.
See also
- Saved charts – create, update, unpublish, and delete durable charts.
- Sizing and output – authored sizes versus responsive embed layout.
- CDN and caching – origin charges and cache behavior.