An iframe creates a separate browsing context. Give it an accessible title, restrict capabilities with sandbox and permissions, size it responsively, and provide a direct fallback link.
An <iframe> or inline frame is used to embed another HTML document inside the current web page. In simple terms, it creates a window within your page that displays content from another source. This can be another page from the same website or content from an external website that allows embedding.
Iframes are commonly used to embed YouTube videos, Google Maps, forms, documentation widgets, dashboards, and isolated tools. Because the embedded content is loaded in its own browsing context, it behaves somewhat independently from the parent page.
Even though iframes are powerful, they should be used carefully. They can affect performance, accessibility, responsiveness, and security if not configured properly.
The simplest iframe only needs the src attribute. In practice, you should also provide a title, along with width and height or CSS styles so the embedded area appears correctly on the page.
<!-- Basic iframe -->
<iframe src="https://www.example.com" width="600" height="400"></iframe>
<!-- Embed a local page -->
<iframe src="about.html" width="100%" height="300"></iframe>
<!-- Embed a YouTube video -->
<iframe
width="560"
height="315"
src="https://www.youtube.com/embed/VIDEO_ID"
title="YouTube video"
frameborder="0"
allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope"
allowfullscreen>
</iframe>
<!-- Embed Google Maps -->
<iframe
src="https://www.google.com/maps/embed?pb=..."
width="600"
height="450"
style="border:0;"
allowfullscreen
loading="lazy">
</iframe>
<!-- Responsive iframe (CSS trick) -->
<div style="position:relative; padding-bottom:56.25%; height:0; overflow:hidden;">
<iframe
src="https://www.youtube.com/embed/VIDEO_ID"
style="position:absolute; top:0; left:0; width:100%; height:100%;"
frameborder="0" allowfullscreen>
</iframe>
</div>
If you want to show one page of your own website inside another, you can use an iframe with a local file or route. This is sometimes useful for previews, documentation demos, admin tools, or isolated widgets. Since both pages belong to the same site, you usually have more control over styling and permissions.
<iframe
src="help-center.html"
title="Help Center Preview"
width="100%"
height="350">
</iframe>
Fixed-width iframes can overflow on smaller screens, especially on phones. A common solution is to wrap the iframe inside a container and use CSS to maintain an aspect ratio. This is especially useful for videos and maps.
<style>
.iframe-wrap {
position: relative;
padding-bottom: 56.25%;
height: 0;
overflow: hidden;
}
.iframe-wrap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: 0;
}
</style>
<div class="iframe-wrap">
<iframe
src="https://www.youtube.com/embed/VIDEO_ID"
title="Embedded tutorial video"
allowfullscreen>
</iframe>
</div>
| Attribute | Description |
|---|---|
| src | URL of the page to embed |
| width | Width in pixels or percentage |
| height | Height in pixels |
| title | Accessible description (required for screen readers) |
| frameborder | 0 removes the border (deprecated - use CSS instead) |
| allowfullscreen | Allows the iframe to go fullscreen |
| loading="lazy" | Defers loading until iframe is near viewport |
| sandbox | Restricts iframe capabilities for security |
Iframes can load content from other websites, which means security is an important concern. The sandbox attribute limits what the embedded page can do. Without sandboxing, an embedded page may have more freedom than you intended.
You can selectively allow features like forms, scripts, or popups by adding sandbox permissions. This makes iframe embedding safer, especially when the content is from a third-party source.
<iframe
src="https://example.com/widget"
title="External widget"
sandbox="allow-scripts allow-forms"
loading="lazy"
width="600"
height="400">
</iframe>
<section>
<h2>HTML iframe Embed YouTube Videos Google Maps</h2>
<p>Use semantic structure so the content is readable and accessible.</p>
</section>
<button type="button" aria-label="Review HTML iframe Embed YouTube Videos Google Maps">Review</button>
An iframe is used to embed another HTML document or external content inside the current web page. It is often used for videos, maps, forms, widgets, and third-party tools.
The <code>title</code> attribute helps accessibility tools describe the embedded content to screen reader users. It also improves the semantic clarity of the page.
Some websites block iframe embedding for security reasons using headers such as <code>X-Frame-Options</code> or Content Security Policy rules.
Explore 500+ free tutorials across 20+ languages and frameworks.