> ## Documentation Index > Fetch the complete documentation index at: https://bunny.net/docs/llms.txt > Use this file to discover all available pages before exploring further. # Embedding videos > Bunny Stream is designed for developers and content creators to easily upload, process, and display videos within any application or website. Once your videos have been processed, you can embed them by using our lightweight embed player, enabling seamless playback across all devices and browsers. Once a video has finished processing, you can embed it on any page using the Bunny Stream player. This page covers the iframe URL pattern, sizing, and player parameters. ## How to embed a video Place an ` ``` ## Sizing and aspect ratio The Stream player is responsive and automatically fills the width and height of its iframe. You can style the iframe like any other HTML element to match your video and the requirements of your site. ### Portrait video Portrait (9:16) video needs no special player configuration. Set the iframe's aspect ratio to match the video and the player fills it: ```html theme={null} ``` Change `aspect-ratio` to match your video, such as `16 / 9` for landscape or `1 / 1` for square video. Constrain the container width to suit your layout. `aspect-ratio` is supported by all current browsers. If you need to support older browsers, size a wrapper with padding instead and stretch the iframe inside it: ```html theme={null}
``` The padding percentage is height divided by width: `56.25%` for 16:9, `177.78%` for 9:16. ## Embedding restrictions Settings outside the embed code can stop the player from loading. Check them when an embed shows a 403 error. **Allowed and blocked domains.** The library security settings can restrict playback to specific domains. The player identifies the embedding site from the `Referer` header of the iframe request, and matches its hostname against the lists. See [Security options](https://bunny.net/docs/stream/security-options.md#domains) for how entries are matched. **Referrer policy.** Browsers send the page origin to a cross-origin iframe by default, which is all the domain check needs. If your site sets a stricter policy, such as `Referrer-Policy: no-referrer` or `same-origin`, the iframe request arrives without a referrer and is treated as direct access. It is then blocked when **Block Direct URL File Access** is enabled. Override the policy on the iframe itself: ```html theme={null}