- Confirm the task. You want the iframe height (or width) to follow the embedded document instead of a fixed viewport with nested scrollbars. If you only need same-origin ResizeObserver hacks, you may not need this API.
- Generate the pack. Open the tool, set iframe
src, title, fallback height, optionalmax-height, andallow-origins. Click Rebuild and copy the full pack. - Paste host CSS + iframe. On the embedding page, add the
@supports (frame-sizing: …)block and the<iframe class="…">. Keep the fixedheightoutside@supportsso older browsers still render a usable box. - Paste embed meta in the initial HTML. Inside the embedded document’s
<head>, include<meta name="responsive-embedded-sizing" content="allow-origins=…">in the first response. Do not inject this meta with JavaScript after load — Chrome docs say late injection will not enable responsive sizing. - Restrict allow-origins for widgets. Prefer concrete
https://publisher.examplevalues for third-party embeds. Use*only when you intentionally allow any parent. Multiple origins are space-separated. - Call
requestResize()after dynamic changes. When the embed fetches more comments or expands a panel, update the DOM, then callwindow.requestResize()once. Feature-detect with"requestResize" in window. - Watch layout shift. Responsive iframes can shift content below the fold as the embed loads. Avoid placing them in the first viewport without a reserved min-height if Core Web Vitals matter for that page.
- Self-check. In a supporting Chrome build: load host + embed, confirm no inner scrollbar for tall content, expand dynamic content and confirm height updates after
requestResize. In an older browser or with the feature disabled, confirm the fallback height still shows a usable iframe. Keep any existing postMessage height code until support is broad enough for your audience.
Reference: Chrome Developers blog “Responsive iframes in Chrome 154” (published 2026-09-16) and MDN pages for frame-sizing, responsive-embedded-sizing, and Window.requestResize().