How to get a YouTube thumbnail, and why one size is often missing
Every YouTube video publishes up to eight preview images at fixed addresses. This is how to fetch them, and how to tell a real image from the placeholder that is returned when a size does not exist.
Links are parsed in your browser with no network access. Pressing Fetch requests public files directly from i.ytimg.com and www.youtube.com — no server of ours is involved, and nothing is stored.
The short version
Paste any YouTube link into the box on the tool page. The link is read in your browser, with nothing contacted: you will see the 11-character video id appear under the box immediately. Press Fetch and the browser requests each published thumbnail file directly from Google, shows you which ones genuinely exist, and lets you download any of them.
If you only want the largest available image and do not care about the details, take the first card marked "Available": the grid is ordered largest first.
- Copy the link from the address bar, the Share button, or the mobile app.
- Paste it into the link box. The video id is read locally and shown back to you.
- Press "Fetch thumbnails & metadata". This is the first and only moment anything is contacted.
- Look for the cards tagged "Available" — those files exist at full size.
- Press Download on the one you want, or Copy URL to link to it directly.
Why maxresdefault is so often missing
The 1280x720 file, maxresdefault.jpg, only exists if the source video was uploaded at 720p or better. A great many older uploads, phone uploads and screen recordings were not, so for those videos the file was never generated.
The awkward part is how YouTube says so, and it is not consistent. Sometimes a missing size returns a plain 404. Sometimes it answers 200 and serves a 120x90 grey placeholder instead of the image you asked for — and a tool that trusts the status code then tells you the file exists and hands you a grey rectangle. Because both happen, this tool ignores the status code and measures the decoded image, which is correct either way.
This tool decodes every response and reads its true pixel dimensions. A 120x90 result for a size that should be larger is reported as "Not published", because that is what it means. It is the difference between reading the label and opening the box.
Which size should you use?
For a link card, an article header or anything printed, use maxresdefault when it exists: it is the only true 1280x720 file.
For a compact list or a sidebar, mqdefault at 320x180 is usually the better choice, because it is genuine 16:9 with no black bars. hqdefault and sddefault are 4:3 frames with the widescreen image letterboxed inside them, so using one at full bleed leaves bars you then have to crop.
hqdefault is the size to fall back to when you need something that is always there: every video has it.
The three storyboard frames
Beyond the poster images, YouTube publishes three stills taken from near the start, the middle and the end of the video, as hq1.jpg, hq2.jpg and hq3.jpg. They are not the chosen thumbnail and are often unflattering, but they are useful when the poster is a title card and you want to show what the video actually looks like.
These frames exist only as JPEG. Selecting WebP in the tool hides them rather than generating an address that would 404.
JPEG or WebP
The five poster sizes are also published as WebP under a different path, and those files are typically 25 to 35 percent smaller at the same visual quality. If the image is destined for a web page and you do not need to open it in older software, WebP is the better download.
There is one practical catch. Google serves the JPEG path with a cross-origin header and the WebP path without one, so a web page can fetch and save the JPEG files but cannot read the WebP bytes. This tool therefore downloads JPEG and gives you the WebP address as a link: open it in a tab, or paste it into a build step that fetches server-side.
Captions and the transcript panel
This tool will not fetch captions from YouTube, because no web page can. The timedtext endpoints return zero bytes unless the request carries a proof-of-origin token from a real player session, and the watch page that holds the signed caption URL sends no cross-origin header, so a page cannot read it. Both are deliberate, and both are unlike thumbnails, which are ordinary static files on a host that permits cross-origin reads.
What the Captions panel does instead is read what you can get in a few seconds, in whatever form it arrives. There are three routes, and the first works for any video that has captions at all: open the video, expand the description, click "Show transcript", then select and copy the transcript text. Paste that in and the timestamps come with it — this tool turns "0:15" lines into real cues. The second route is YouTube Studio for your own videos: Subtitles, the language, the three-dot menu, Download, which offers SRT, VTT and SBV. The third is your browser’s network panel: with captions switched on, filter for "timedtext" and copy either the response body or the request URL; both are accepted, and a URL is fetched for you.
The format is detected rather than asked about. SRT, WebVTT, SBV, TTML/DFXP, YouTube’s timedtext XML, its JSON3 form and plain transcript-panel text all parse into the same cue list. Every cue is then listed with its timestamp, and each timestamp is a link into that exact second of the video you pasted, so a transcript becomes a set of jump points rather than a wall of text.
One caveat is stated on screen rather than buried: the transcript panel publishes only a start time per line, so each cue is given an end where the next one begins. Those timings are accurate to the second, not the millisecond. A real caption file from Studio or the network panel carries exact durations.
Automatic captions get one extra treatment. They are written as a rolling window — each cue repeats the previous line with one more word appended — which makes a naive transcript read every phrase four or five times. That window is collapsed by default, and you can switch it off to see the file exactly as written.
Export as a timestamped transcript, Markdown with clickable timestamps, CSV for a spreadsheet, or back out as SRT or WebVTT. All of it happens in the page: the file is never uploaded.
Questions
Does this download the video?
No. It fetches the preview images and the public oEmbed record, and nothing else. There is no video downloader here and no attempt to reach a media stream.
Why does the tool show sizes before I press Fetch?
Those are the nominal sizes from YouTube’s published catalogue, shown so you know what will be requested. They are labelled "nominal" until a real file has been fetched and measured.
Can I use a Shorts link?
Yes. Shorts, live, embed, youtu.be, m.youtube.com, music.youtube.com and youtube-nocookie.com links all work, as does pasting the bare 11-character id.
Limitations
- A thumbnail that was never generated cannot be recovered: no tool can produce a 1280x720 file for a video uploaded at 360p.
- Private, deleted and age-restricted videos publish no thumbnails to signed-out visitors, so nothing will be found for them.
- The images are served by Google. If your network blocks i.ytimg.com, the fetch will fail here exactly as it would anywhere else.
Last reviewed 2026-09-14.