▸ Live Preview
💡 Pro tip: Embeds only work for Public Facebook videos.
If you see a permission error, open the video on Facebook → Edit → Audience → set to Public.
For responsive embeds, wrap the iframe in a container with position:relative; padding-bottom:177.78% (vertical Reels) or 56.25% (landscape) and set the iframe to position:absolute; width:100%; height:100%.
How to Embed a Facebook Reel on Your Website
Embedding a Facebook Reel takes under a minute. Follow these four steps:
Find your Facebook Reel URL
Open Facebook and navigate to the Reel or video you want to embed. On desktop, copy the URL from your browser's address bar. On mobile, tap the three-dot menu (⋯) and select Copy Link. Make sure the video audience is set to Public — private or friends-only videos cannot be embedded.
Paste the URL into the generator above
Paste your Facebook Reel URL into the input field. The tool automatically detects the video ID and generates the embed code the moment you paste — no need to click Generate manually.
Copy your embed code
Choose the format you need. Click Copy next to HTML Embed Code for standard websites, or WordPress Embed for WordPress sites. A live preview confirms the correct video loaded before you copy.
Paste into your website
For HTML sites, paste the <iframe> anywhere in your markup. For WordPress, use a Custom HTML block in Gutenberg, or paste the shortcode [embed]URL[/embed] in the Classic Editor.
Supported Facebook URL Formats
This generator recognises all major Facebook video and Reel URL patterns automatically:
| URL Pattern | Description | Status |
|---|---|---|
| facebook.com/reel/ID | Reels tab videos | ✓ Supported |
| facebook.com/reels/ID | Alternative Reel URL | ✓ Supported |
| facebook.com/watch/?v=ID | Watch page videos | ✓ Supported |
| facebook.com/page/videos/ID | Page video posts | ✓ Supported |
| facebook.com/video.php?v=ID | Legacy video URLs | ✓ Supported |
| facebook.com/permalink.php?story_fbid=ID | Permalink-based posts | ✓ Supported |
| facebook.com/share/r/ or /share/v/ | Mobile share button links | ⚠ Expand first* |
| fb.watch/CODE | Short share links | ⚠ Expand first* |
* Short/share links are redirects with no video ID. Open in a browser, copy the final URL from the address bar, then paste that here.
Why Embed Facebook Reels on Your Website?
Adding Facebook Reels to your site boosts engagement, improves dwell time, and keeps content fresh — without uploading a single file to your server.
Boost Engagement & Dwell Time
Video content keeps visitors on your page longer, lowering bounce rate — a positive ranking signal for Google.
Always Up-to-Date
Embedded Reels stream live from Facebook. Updates to the original video — title, thumbnail, caption — reflect automatically.
Zero Server Bandwidth
Embed once, host never. Facebook's CDN handles all video delivery — no impact on your server or hosting bill.
Grow Your Facebook Reach
Each embedded Reel carries Facebook's native like, share, and follow buttons, letting website visitors engage with your page directly.
Frequently Asked Questions
Everything you need to know about embedding Facebook Reels on any website.
Does embedding Facebook Reels require an API key or Facebook App?
/plugins/video.php endpoint which works without a Facebook App ID or API key for public videos. Simply paste your URL and copy the <iframe> — no developer account needed.
Why does my Facebook Reel embed say "you don't have permission to view it"?
How do I embed a Facebook Reel in WordPress?
Gutenberg Custom HTML block: Add a Custom HTML block and paste the generated
<iframe> code.oEmbed shortcode (Classic Editor): Paste
[embed]https://facebook.com/reel/ID[/embed] on its own line.URL block (Gutenberg): Paste the canonical Facebook Reel URL alone in a paragraph block — WordPress auto-embeds it.
Why doesn't the Facebook share link (facebook.com/share/r/…) work?
facebook.com/reel/1234567890.
How do I make the Facebook Reel embed fully responsive?
<div style="position:relative;padding-bottom:177.78%;height:0;overflow:hidden">
<iframe style="position:absolute;top:0;left:0;width:100%;height:100%"
src="..." frameborder="0" allowfullscreen></iframe>
</div>
For landscape videos (16:9), use padding-bottom:56.25% instead.