Skip to content

How to embed a YouTube channel on your website.

YouTube’s Share button embeds one video at a time, but you can embed a YouTube channel on your website with one line of HTML that always opens on your newest upload. Here are five ways to do it, and when each fits.

The Vitraz teamWe build the embed that puts social feeds on websites
Published
Reading time
8 min read
A camera on a small tripod beside a monitor showing a grid of video thumbnails, with blue and amber stained-glass light across the wall and desk
On this page
  1. Can you embed a whole YouTube channel?
  2. Embed the latest videos, no plugin
  3. youtube.com or youtube-nocookie.com
  4. List videos with the RSS feed
  5. When you need the API
  6. Do embeds slow your page?
  7. A gallery that matches your site

The short answer

  • YouTube’s Share button embeds one video or one playlist. Every channel also has a playlist of all its uploads, and embedding that shows the whole channel, newest video first.
  • Its ID is your channel ID with the leading UC changed to UU. One line of HTML, no plugin and no API key.
  • For a list of recent videos with titles and thumbnails, every channel has a free RSS feed of its latest 15 uploads.
  • Use youtube-nocookie.com in any embed code, lazy-load the player, and show one player rather than several.
  • For a styled gallery that matches your site and refreshes on its own, use the YouTube Data API or a widget built on it.

Can you embed a whole YouTube channel?

Yes. YouTube’s Share menu only offers code for one video or one playlist, but every channel has a built-in playlist of all its public uploads, newest first. Embed that playlist and the player always opens on your latest video, with the rest of the channel in its playlist menu. It takes no plugin and no API key.

Many guides to this question conclude that YouTube cannot do it and recommend a tool. That is true of the Share button and not of the player. There are five ways to put a channel on a page, and the right one depends on what visitors should see.

Five ways to embed a YouTube channel
MethodWhat visitors seeUpdates itselfCost
One video, from ShareThat videoNoFree
The uploads playlistOne player, newest video firstYesFree, one line of HTML
The channel’s RSS feedYour own list of the latest 15When your code reads itFree, needs code or a widget
The YouTube Data APIAnything you buildYesFree quota, needs a developer
A widgetA thumbnail gallery in your site’s styleYesFree plans exist

If you want one slot on a page that always shows your newest video, the uploads playlist is the answer, and the next section is all you need. If you want a grid of recent videos, skip to the RSS feed or the widget.

How do you embed a channel’s latest videos without a plugin?

Embed the channel’s uploads playlist. Find your channel ID, which starts with UC, change those two letters to UU, and put the result in YouTube’s playlist embed URL. The player opens on the newest upload, and the playlist menu holds the rest. When you publish a new video, the embed shows it without any change on your site.

  1. Find your channel ID. On YouTube, open your profile picture, then Settings, then Advanced settings. You must be signed in as the channel’s primary owner to see it. If your channel address has the form youtube.com/channel/UC…, the ID is the part after /channel/.
  2. Change UC to UU. A channel ID like UCK8sQmJBp8GCxrOtXWBpyEA becomes UUK8sQmJBp8GCxrOtXWBpyEA. That is the ID of the playlist holding every public upload.
  3. Paste the code below where the video should appear, with your playlist ID in place of the example. The example is Google’s own channel.
Embed code for the latest uploads
<iframe
  width="560" height="315"
  style="width: 100%; height: auto; aspect-ratio: 16 / 9; border: 0;"
  src="https://www.youtube-nocookie.com/embed/videoseries?list=UUK8sQmJBp8GCxrOtXWBpyEA"
  title="Latest videos from our YouTube channel"
  loading="lazy"
  allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share"
  referrerpolicy="strict-origin-when-cross-origin"
  allowfullscreen></iframe>

Each line is there for a reason. videoseries?list= loads a playlist rather than one video. The style keeps the player 16:9 at any width, while the width and height still reserve its space as the page loads. loading="lazy" waits to load the player until the reader scrolls near it. referrerpolicy matches the embed code YouTube itself hands out: a player request without a referrer fails with error 153, according to YouTube’s player API reference.

A YouTube player embedded on a web page with the uploads playlist code, opened on the newest video from Google's channel
The code above on a test page, using Google’s channel as the example. The player opens on the channel’s newest upload, with no change to the code when a new one is published.
The same YouTube embed showing 'Video player configuration error, Error 153' because the page sent no referrer
The same code, with the same page opened as a file on disk instead of from a web server. A local file sends no referrer, so YouTube refuses to play and shows error 153.

Is changing UC to UU reliable?

The YouTube Data API publishes every channel’s uploads playlist under contentDetails.relatedPlaylists.uploads. When we checked it for this article, it returned the channel ID with UC changed to UU for every channel we asked about, and the code above opened on the newest upload on both youtube.com and youtube-nocookie.com. YouTube does not document the letter swap as a rule, though. If you are building something that has to keep working, read the ID from the API once and store it.

What the player will and will not do

  • It shows one video at a time. The rest sit in the player’s playlist menu, not on your page.
  • Shorts are uploads, so they appear in the playlist alongside everything else.
  • A video whose owner has turned off Allow embedding will not play in it. YouTube reports that as error 101 or 150.
  • Age-restricted videos cannot be watched on most other websites, according to YouTube’s help centre.
  • YouTube requires the player to be at least 200 by 200 pixels.

Should you use youtube.com or youtube-nocookie.com?

Use youtube-nocookie.com. It is YouTube’s privacy-enhanced mode: the same player, except that watching the embed does not influence the viewer’s browsing experience on YouTube. Change the domain in any embed code and nothing else. It still loads YouTube’s player from YouTube’s servers, so it does not replace your own consent decisions.

YouTube’s help page on embedding describes privacy-enhanced mode as that domain change and nothing more. Playlist embeds work the same way on both domains, which we checked for this article, so the code above uses it by default.

How do you list a channel’s latest videos with titles and thumbnails?

Read the channel’s RSS feed. Every YouTube channel publishes one at a public address, with no key and no sign-in. It holds the latest 15 uploads, each with its title, link, publish date, thumbnail, description and view count, which is everything a list or grid of recent videos needs.

A channel’s RSS feed
https://www.youtube.com/feeds/videos.xml?channel_id=UCK8sQmJBp8GCxrOtXWBpyEA

Put your own channel ID, the UC version, after channel_id=. The same address with playlist_id= and a playlist ID returns that playlist instead, which is the way to show a curated selection rather than everything.

A feed is data, not a display, so it needs something to turn it into a page. On a static site, read it at build time and render your own list. Anywhere else, an RSS feed widget will fetch and lay it out for you. Two limits are worth knowing before you build on it: the feed only ever holds the latest 15 videos, and there is no way to ask it for more.

When do you need the YouTube Data API?

When you need more than the RSS feed gives: older videos than the latest 15, durations, or several channels combined into one gallery. Reading a channel’s uploads takes two cheap calls, and a project gets 10,000 quota units a day by default, so cost is rarely the problem. Building and maintaining the display is.

The route is the same one the uploads playlist trick relies on. channels.list returns the uploads playlist ID, then playlistItems.list pages through it. According to YouTube’s quota table, each of those calls costs one unit. Call the API from a server rather than from the visitor’s browser, so your key is never in public code, and cache the result rather than calling it on every page view.

What the API does not give you is a front end. Thumbnails, layout, refresh, error states and the inevitable change to YouTube’s responses are all yours to build and keep working.

Do embedded YouTube videos slow down a page?

A single player does, measurably, and several do so badly. Google’s web.dev guide finds that lazy-loading one YouTube embed saves about 500 KB on the first load of a page. The fix is to load players only near the viewport, show one player rather than six, and use thumbnails that open the video for everything else.

The cost comes from what each player loads before anyone presses play: a full document with its own scripts, per player. That is why a video section of six embedded players is one of the heaviest things you can put on a page. The web.dev guide to third-party embeds recommends loading="lazy" for embeds below the first screen, and a facade (a thumbnail that swaps in the real player on click) where visitors may never press play.

There is a search side to this too. A player in an iframe is YouTube’s document, not part of your page, which we cover in more detail in how social media feeds affect SEO.

Use a widget that reads the channel for you and renders thumbnails in your own layout, colours and type. Visitors see a grid of recent videos with runtimes, each opening the video on click, and the player loads only when someone chooses to watch. New uploads appear on their own, at the refresh interval the tool polls on.

This is the version that suits a homepage or a video section, where the uploads playlist would be one lonely player. A YouTube widget from Vitraz works from your channel address or @handle, needs no Google sign-in from you, and can show the whole channel or a single playlist. Videos are thumbnails, not stacked players, so the page carries images until someone presses play.

A YouTube widget in a video-first layout: one large video thumbnail with its runtime above three smaller ones, each with a title
A Vitraz YouTube widget in the video-first layout, with sample videos from our demo workspace. Each thumbnail opens the video; nothing loads a player until someone chooses to watch.

Be clear about what “automatic” means, with any tool. Nothing in this category is instant, because every widget polls YouTube on a schedule. A new upload appears at the next refresh, not the moment you publish.

Questions people also ask

Sign in to YouTube, select your profile picture, then Settings, then Advanced settings. Your channel ID is listed there, and it starts with UC. You need to be the channel’s primary owner to see it. If your channel address is in the youtube.com/channel/UC… form, the ID is in the address itself.

Usually for one of four reasons: the owner has turned off embedding, the video has been made private or removed, it is age-restricted, or the page sent no referrer with the request. YouTube’s player reports turned-off embedding as error 101 or 150, a private or removed video as 100, and a missing referrer as 153. Keeping YouTube’s own referrerpolicy attribute on the iframe avoids the last one.

The latest 15 uploads, newest first, whether you request it by channel ID or by playlist ID. There is no parameter for more. If you need older videos, use the YouTube Data API, which pages through a channel’s whole uploads playlist.

Reliably, only muted. Chrome always allows muted autoplay, but in most cases blocks autoplay with sound until the visitor has interacted with the site. You can add autoplay=1 and mute=1 to the embed URL, but a player that starts on its own costs visitors data and attention, so most sites are better without it.

The uploads playlist embed does, because it reads the playlist each time the player loads, so your newest video comes first with no change on your site. A single-video embed never changes. The RSS feed updates too, but anything you build from it only changes when your code reads the feed again.

Sources

  1. 1.Embed videos and playlistsYouTube Help
  2. 2.Find your channel’s user ID and channel IDYouTube Help
  3. 3.YouTube embedded players and player parametersYouTube for Developers
  4. 4.YouTube IFrame Player API referenceYouTube for Developers
  5. 5.Data API: Channels resourceYouTube for Developers
  6. 6.Data API: Quota calculatorYouTube for Developers
  7. 7.Best practices for using third-party embedsweb.dev
  8. 8.Autoplay policy in ChromeChrome for Developers

Keep reading

Put real posts on your site, where Google can read them.

One deferred script, rendered into your page, no cookies. Your first feed is free and needs no card.

Build your first feed