A youtube video not embedding is one of the most common frustrations when adding video to a website. Here are eight fixes that actually resolve it, roughly in the order worth trying.

1. Check if the video owner disabled embedding

Creators can turn off embedding entirely for a specific video from YouTube Studio. If this is switched off, no amount of correct code will make the embed work; the player will show an error instead. There is no workaround for this from the embedding side; it is a setting only the video’s owner controls.

2. Confirm you are using the embed URL, not the watch URL

A watch URL (youtube.com/watch?v=…) cannot be placed directly into an iframe’s src attribute; it needs to be converted to the embed format (youtube.com/embed/VIDEO_ID). This is the single most common mistake, and our embed code generator handles the conversion automatically from any link you paste.

3. Check for a typo in the video ID

YouTube video IDs are an exact 11-character string; a single wrong or missing character produces a “video not found” state in the player rather than a clear error message, which can look identical to an embedding-disabled video at first glance.

4. Look for a Content Security Policy blocking iframes

If your website sets a Content-Security-Policy header restricting frame-src, it can silently block YouTube’s iframe from loading even though your embed code is correct. Check your site or CMS security settings for a policy that needs youtube.com and youtube-nocookie.com added to its allowed frame sources.

5. Check for a plugin or theme stripping iframes

Some WordPress security or performance plugins strip iframe and script tags from post content by default as a security measure. If an embed disappears specifically after saving a post, check your plugin’s HTML filtering settings for an allowlist option.

6. Verify the age restriction status

Age-restricted videos have historically had limited or blocked embed support outside YouTube’s own logged-in interface. If a video plays fine on YouTube.com but never loads when embedded, an age restriction is worth checking as the cause.

7. Rule out a region restriction

A video blocked in your visitor’s country for licensing reasons will fail to embed for them specifically, even if it works perfectly for you testing from a different location. This is set by the rights holder, not by anything on the embedding website’s side.

8. Test in an incognito or different browser

Ad blockers, privacy extensions and strict tracking-protection settings occasionally block embedded YouTube iframes outright. Testing in a private/incognito window with extensions disabled quickly tells you whether the problem is your own browser configuration rather than the embed code itself.

Quick diagnosis table

Symptom Likely cause
“Video unavailable” message Embedding disabled by owner, or wrong video ID
Blank space, no error Content Security Policy or plugin stripping the iframe
Works for you, not for others Region restriction or their browser/ad blocker settings
Works on YouTube.com, not embedded Age restriction

How to test an embed in isolation

When an embed fails on your live site, it helps to rule out your specific page setup before assuming the problem is the video itself. Create a bare-bones local HTML file with nothing but the embed code and open it directly in a browser; if it works there but not on your live page, the cause is almost certainly something in your site’s environment, such as a Content Security Policy, a plugin, or a theme conflict, rather than the video or the embed code itself.

Reading the actual error the player shows

YouTube’s embedded player often does show a specific reason when it fails, rather than a generic blank space, if you look closely. “Video unavailable,” “Playback on other websites has been disabled by the video owner,” and “This video is private” are three visibly different messages that point to three different causes: a removed or restricted video, embedding specifically disabled, and a privacy setting, respectively. Reading the exact wording narrows down which of the eight fixes above is actually relevant, rather than guessing.

When the fix is genuinely out of your hands

It is worth accepting that some embed failures have no fix available from the embedding side at all: if a video’s owner has disabled embedding, deleted the video, or made it private, no amount of correct code changes that outcome. In these cases the practical options are contacting the video’s owner if you have a relationship with them, finding an alternative video covering the same content, or linking to the video directly instead of embedding it.

Building a simple troubleshooting checklist

When an embed breaks, working through causes in a fixed order saves time compared to guessing randomly. Start with the two causes that need no code changes to check: open the embed URL directly in a browser tab to see if YouTube itself returns an error, and confirm the video ID is exactly correct, character for character. If both check out, move to your site’s own environment: temporarily disable plugins one at a time, check for a Content Security Policy header in your site’s response headers using your browser’s developer tools, and finally test in a private browsing window with extensions disabled to rule out anything client-side.

A short glossary for this topic

Term Meaning
Content Security Policy (CSP) A security header that can restrict which external content, including iframes, a page is allowed to load
Age restriction A setting limiting a video’s visibility and embed support based on YouTube’s age verification
Region restriction Licensing-based blocking of a video in specific countries, set by the rights holder

Preventing embed issues before they happen

A few habits reduce how often you run into embedding problems in the first place: always generate embed codes from the actual current link rather than copying an old snippet that might reference a since-restricted video, keep security and caching plugins updated so their HTML-handling logic stays current, and periodically spot-check older pages on your site, since a video that embedded fine when you published a page can later be restricted, removed or region-blocked without any change on your side at all.

Where to go from here

For the full picture on building embeds correctly from the start, see our complete YouTube embed guide and the full parameters reference.

How embedding restrictions have changed over time

YouTube’s embedding rules and player behaviour are not static; the platform has adjusted embedding-related restrictions for age-restricted content, live streams and certain categories of content multiple times over the years, sometimes tightening and sometimes loosening specific limitations. A troubleshooting guide like this one reflects current, general behaviour, but if you maintain a site with many embeds over a long period, periodically revisiting older pages is worth doing, since a video or category of video that embedded without issue when a page was built can be affected by a platform-level policy change later, entirely independent of anything on your site.

Working with a development team on persistent issues

If an embedding issue persists after working through this guide’s fixes and appears specific to your site’s technical setup rather than to YouTube or the video itself, the most efficient next step is providing a developer with the exact embed URL, the full error message or behaviour observed, and the specific page’s URL, rather than a general description of “the video won’t show.” This lets someone technical reproduce the Content Security Policy, plugin conflict or markup issue directly rather than troubleshooting blind.

A note on embedding livestreams specifically

Embedded livestreams behave slightly differently from embedded pre-recorded video: a stream that has not yet started, has ended, or was never made public can show an embed failure that looks identical to a permissions issue but is actually just a timing or status problem. If a livestream embed fails, checking the stream’s current status directly on YouTube before troubleshooting your embed code further can save time ruling out causes that have nothing to do with your site at all.

With these eight fixes and the diagnostic habits above, the large majority of embedding failures are resolvable within a few minutes of focused checking.

Working through these checks methodically, rather than guessing, is consistently the fastest path to a working embed again.

Frequently asked questions

How do I know if embedding is disabled for a specific video?

Try loading the embed URL (youtube.com/embed/VIDEO_ID) directly in a browser tab; a clear “Video unavailable” message with no other obvious cause is the strongest sign.

Can I fix a video with embedding disabled?

Only the video’s owner can change that setting, in YouTube Studio’s video details. There is no technical workaround from the embedding side.

Why does an embed work on my phone but not my laptop, or vice versa?

This pattern usually points to a browser extension or privacy setting on one specific device, rather than the embed code, since the code itself is not device-specific.

Can caching plugins break embeds?

Occasionally, if a caching or minification plugin aggressively rewrites HTML and accidentally mangles iframe attributes; temporarily disabling such a plugin is a reasonable diagnostic step if other causes are ruled out.