Guide
YouTube thumbnail URL format (i.ytimg.com cheat sheet)
Every public still is a predictable path: host, /vi/ or /vi_webp/, an 11-character video ID, then a filename. This page is the map you can paste into a CMS, a spreadsheet, or an <img> tag.
The YouTube thumbnail URL pattern (JPEG)
Replace VIDEO_ID with the eleven characters from the watch or Shorts link:
https://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg
https://i.ytimg.com/vi/VIDEO_ID/hq720.jpg
https://i.ytimg.com/vi/VIDEO_ID/sddefault.jpg
https://i.ytimg.com/vi/VIDEO_ID/hqdefault.jpg
https://i.ytimg.com/vi/VIDEO_ID/mqdefault.jpg
https://i.ytimg.com/vi/VIDEO_ID/default.jpg
https://i.ytimg.com/vi/VIDEO_ID/0.jpg
https://i.ytimg.com/vi/VIDEO_ID/1.jpg
https://i.ytimg.com/vi/VIDEO_ID/2.jpg
https://i.ytimg.com/vi/VIDEO_ID/3.jpg
Worked example with a historic public ID (pattern only):
https://i.ytimg.com/vi/jNQXAC9IVRw/hqdefault.jpg
Pixel sizes for each name: YouTube thumbnail sizes. How to pull the ID: find a YouTube video ID.
i.ytimg.com vs img.youtube.com
Both hosts usually serve the same /vi/{id}/filename.jpg objects. Older blog posts and WordPress snippets often use:
https://img.youtube.com/vi/VIDEO_ID/hqdefault.jpg
https://img.youtube.com/vi/VIDEO_ID/maxresdefault.jpg
Prefer i.ytimg.com in new work. It is the CDN hostname this downloader probes. If one host fails in a firewall or email client, try the other — do not mix them in a single srcset unless you have tested both.
There is no public still at https://www.youtube.com/vi/…. The watch host is not the image host.
YouTube thumbnail WebP URL (vi_webp)
When YouTube encoded a WebP twin, it lives in a sibling directory:
https://i.ytimg.com/vi_webp/VIDEO_ID/maxresdefault.webp
https://i.ytimg.com/vi_webp/VIDEO_ID/hqdefault.webp
Same pixels as the JPEG with the matching name — not a 4K upgrade. If maxres JPEG is missing, maxres WebP is usually missing too. Longer take: WebP vs JPG thumbnails.
Why a maxresdefault URL is not always HD
HTTP 200 is not enough. Missing HD often returns a 120×90 placeholder at the maxres URL instead of a 404. If you hotlink that path in a hero image, you get a tiny broken-film graphic stretched to full width. This site measures width and height before it calls a file HD. Do the same, or use the thumbnail URL generator, which only lists live images.
More on placeholders: how YouTube thumbnails work.
How to use a YouTube thumbnail URL in HTML
Fallback-first (HQ almost always exists):
<img
src="https://i.ytimg.com/vi/VIDEO_ID/hqdefault.jpg"
alt="Video title"
width="480"
height="360"
loading="lazy">
If you already probed maxres and it is real 1280×720:
<img
src="https://i.ytimg.com/vi/VIDEO_ID/maxresdefault.jpg"
alt="Video title"
width="1280"
height="720">
For a page you will keep for years, download a file you have rights to and host it on your CDN. YouTube may change cache headers or paths. Rights still belong to the uploader: using thumbnails legally.
Query strings and extra junk
Thumbnail URLs do not need si=, feature=, or a watch timestamp. Those belong on the video page, not on the JPEG. If your paste is a messy share link, clean it first with the YouTube link cleaner, then build the still path from the ID.