RESPONSIVE IFRAME

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.

Start tool Runs 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)
  1. Host CSS + iframe — frame-sizing: content-height (or width/block-size) with a fixed-height fallback inside @supports.
  2. Embed meta — <meta name="responsive-embedded-sizing" content="allow-origins=…"> present at parse time.
  3. requestResize() — call after dynamic content changes inside the iframe document.
  4. 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.