Size embeds to their content — without the postMessage height dance.
For product and docs teams embedding comments, forms, or widgets whose height changes. Fill a short form once and get a host CSS/HTML snippet, the embed opt-in meta (with your allow-origins), a requestResize helper, and a progressive @supports fallback — all in your browser, nothing uploaded.
Both sides of the contract
Host pages need frame-sizing. Embedded documents must opt in with a meta tag. Missing either side silently fails — this pack keeps them together.
Fallback that still works
Older browsers keep a fixed height. Supporting browsers switch to content height via @supports so you do not break the layout on day one.
Guides next to the tool
How-to steps, FAQ boundaries, and publish scenarios sit beside the generator so you can ship without hunting Chrome blog comments.
Open the pack builder
Set allow-origins, fallback height, and iframe src. Copy host + embed + resize snippets.
How to wire it
Eight steps: host CSS, embed meta timing, requestResize, CLS caution, curl-less checks.
Use cases
Same-origin comments, cross-origin widget allow-list, docs site with max-height cap.
FAQ
What this is not, why meta cannot be injected late, privacy, and browser support honesty.
What the pack contains (for implementers)
- Host CSS + iframe —
frame-sizing: content-height(or width/block-size) with a fixed-height fallback inside@supports. - Embed meta —
<meta name="responsive-embedded-sizing" content="allow-origins=…">present at parse time. - requestResize() — call after dynamic content changes inside the iframe document.
- Progressive enhancement — keep postMessage height code as backup until support spreads.
This is not a live iframe host, not Iframely, and not a polyfill for browsers without frame-sizing. You paste the snippets onto your pages.