Thumbnail Grabber
A thumbnail grabber is the one-line version of a picture URL: https://img.youtube.com/vi/<video-id>/<file>.jpg, open it, save the image. That part is easy. What is not easy is the file list. Most grabbers offer six names — maxresdefault, hq720, sddefault, hqdefault, mqdefault, default — and on 2 October 2026 we requested 26 names per video across four videos and found that the list leaves things out. One of the left-out names returned a 1920 × 1080 picture, which is wider than the file called maxres default. This page is that run.
What the grabber panel really is
Strip away the buttons and a grabber is doing one request per file name and showing you whatever answered. The six names it shows are not a property of thumbnails; they are a short list somebody typed once and every other page copied. The host answers a longer set than that, and the extra names behave in ways worth knowing before you trust a panel — including one case where the answer is a real picture that the grabbing page is not allowed to read.
The names a grabber never lists
Same four videos, same day, one request each. These three file names are not on the usual six-item panel:
| File | dQw4w9WgXcQ | 9bZkp7q19f0 | jNQXAC9IVRw | aqz-KE-bpKQ |
|---|---|---|---|---|
oar2.jpg | 200 · 75,680 B · 1920 × 1080 | 200 · 16,994 B · 1280 × 720 | 200 · 15,986 B · 320 × 240 | 200 · 79,711 B · 1280 × 720 |
oar3.jpg | 200 · 76,507 B · 1920 × 1080 | 200 · 16,994 B · 1280 × 720 | 200 · 14,919 B · 320 × 240 | 200 · 83,660 B · 1280 × 720 |
maxres3.jpg | 200 · 41,883 B · 1280 × 720 | 200 · 78,231 B · 1280 × 720 | 404 · 1,097 B | 200 · 55,989 B · 1280 × 720 |
Put the first row next to what the panel shows for the same video on the same day:
| Name | Measured on 2 Oct 2026, dQw4w9WgXcQ |
|---|---|
maxresdefault.jpg — "the biggest one" | 200 · 65,324 B · 1280 × 720 |
oar2.jpg — not on the panel | 200 · 75,680 B · 1920 × 1080 |
Ten thousand bytes more, and 640 pixels more across. If you grabbed "the max resolution one" on that video and stopped, you did not get the largest picture the host was willing to hand you that day. On 9bZkp7q19f0 the same name went the other way — oar2 at 16,994 B against maxresdefault at 184,051 B — so this is not "the hidden name is always better". It is one more file to ask for and compare, which is the only way to know.
Why the name is oar, and why its size is unpredictable
The old upload jNQXAC9IVRw settles what oar means. Its oar2 and oar3 both measured 320 × 240 — a 4:3 shape, not the 16:9 the other files on that same video have. oar is the frame at the video's own aspect ratio, so its dimensions follow the upload rather than a fixed template. Across the four videos tested on 2 October 2026 it ranged from 320 × 240 to 1920 × 1080, and its byte count from 14,919 B to 83,660 B. That is a bigger spread than the six panel names cover between them.
Also worth flagging before you script a loop: the numbered frames are separate pictures, not aliases. On dQw4w9WgXcQ the three high-quality stills came back 6,753 B / 6,778 B / 7,698 B at 480 × 360 — three different frames of the video, all smaller than the poster frame's 21,011 B. And on 9bZkp7q19f0, oar2 and oar3 returned the identical byte count and the identical 1280 × 720 size, so where one of the pair is a dud, the other usually is too.
Three frames per size, and which ones survive an old upload
For each of the sizes there are numbered variants. On modern uploads all of them answered; on the old one, the variants below hq were the survivors.
| Family | Size measured | dQw4w9WgXcQ | jNQXAC9IVRw (old upload) |
|---|---|---|---|
maxres1/2/3.jpg | 1280 × 720 | 200 · 40,095 / 38,549 / 41,883 B | 404 · 1,097 B each |
sd1/2/3.jpg | 640 × 480 | 200 · 18,854 / 18,930 / 21,734 B | 404 · 1,097 B each |
hq1/2/3.jpg | 480 × 360 | 200 · 6,753 / 6,778 / 7,698 B | 200 · 14,235 / 15,921 / 15,061 B |
mq1/2/3.jpg | 320 × 180 | 200 · 4,388 / 4,370 / 5,184 B | 200 · 8,133 / 8,710 / 8,374 B |
1.jpg / 2.jpg / 3.jpg | 120 × 90 | 200 · 1,957 / 2,025 / 2,188 B | 200 · 4,129 / 4,523 / 4,295 B |
Two details in there are useful when a grabber gives you nothing. First, on the old upload hq2.jpg returned exactly the same 15,921 B as hqdefault.jpg, and mq2.jpg matched mqdefault.jpg at 8,710 B, and 2.jpg matched default.jpg at 4,523 B — the numbered frames are stills cut from the video, and the one the host picked as the poster frame appears in both lists. Second, hq1, hq2 and hq3 were the widest files still available on that upload at 480 × 360 each, which makes hq1.jpg and hq3.jpg a real route to a different picture rather than a smaller copy of the same one.
Two ways a grabber quietly returns nothing
Neither of these produces an error message on the page. Both produce the grey square.
- The ID's letter case counts. Thumbnail file names are lower case and forgiving, but the video ID is not. Requesting
hqdefault.jpgforDQW4W9WGXCQ— the same ID upper-cased — answered 404 with the 1,097-byte grey JPEG, and the all-lowercasedqw4w9wgxcqanswered 404 as well. Same for one character too many (dQw4w9WgXcQx) or one too few (dQw4w9WgXc): 404 each. So if a page upper-cases IDs, trims a trailing character, or pastes a whole watch URL where an ID should go, every file it asks for is a miss, and the six-tile panel will show six grey squares that look like a video with no thumbnail. - Swapping
.jpgfor.webpgets you a placeholder, not a WebP. The smaller WebP copies do exist, but not under the path a grabber uses. On 2 October 2026,https://img.youtube.com/vi/dQw4w9WgXcQ/maxresdefault.webpanswered 404 with a 1,097-byteimage/jpegplaceholder. The real WebP copy lives on a different path:https://i.ytimg.com/vi_webp/<video-id>/maxresdefault.webpanswered 200 · 28,620 B · 1280 × 720 the same day, against 65,324 B for the JPEG — 56% smaller. Its 404 body is not even the same placeholder: the WebP path returns 552 bytes ofimage/webp, so a script checking only the size of the "grey square" can be fooled in both directions.
And one answer a page-based grabber cannot use
The names ending in _live exist, and they hand back the same picture as the plain name — on dQw4w9WgXcQ, hqdefault_live.jpg returned 21,011 B at 480 × 360, byte-for-byte what hqdefault.jpg returned, down to the file hash. That sounds like a free alias. The catch is a header: the plain name carried Access-Control-Allow-Origin: * and the _live name did not. A browser displays both happily, but it will only let a script read the bytes of the one with that header — so a tool page cannot offer you the _live file as a download, even though the image is right there. If you are grabbing by hand, either name works. If you are writing the loop, use the plain names.
The order to ask in
Asking for everything works but wastes requests. This order stops at the largest picture that exists on that video:
oar3.jpgandoar2.jpg— check the size you get back, because these ranged from 320 × 240 to 1920 × 1080 across the four videos tested.maxresdefault.jpg, thenhq720.jpg— remember that on one of the videos tested these two were not the same file.maxres1.jpg/maxres2.jpg/maxres3.jpg— a different frame at the same 1280 × 720 when the poster frame is not what you want.sddefault.jpg, thenhqdefault.jpg— the 640 × 480 and 480 × 360 steps.hq3.jpg/hq2.jpg/hq1.jpg— the 480 × 360 stills, and on an old upload the only route to a second frame.mqdefault.jpg, thendefault.jpg— 320 × 180 and 120 × 90. Ifhqdefaultanswered at all, you never need these.
At every step, the thing to read is the status code, not the picture. A 404 arrives as a 120 × 90 grey JPEG that a browser reports as a successful image, so anything that trusts the <img> element instead of the response will tell you a file exists when it does not. The tool on the home page asks the same URLs and checks the status first; the download page covers what the response headers say; the grabber page covers the six panel names in detail.
What you may do with the file
Grabbing the bytes is the easy half. The picture belongs to whoever uploaded the video, and it is served from the platform's own host — nothing here hosts, mirrors or re-uploads any thumbnail. Your own uploads are yours to use. For someone else's, treat a grabbed file as reference material unless you have permission, and check what your jurisdiction allows before you publish it anywhere. This is not legal advice.
Questions people actually ask
"Every tile in the grabber is a grey square — did the video get taken down?"
Probably not. Check the ID first: if it arrived upper-cased, trimmed, or as a whole watch URL, then every request missed and every tile is the placeholder. An uppercase version of a working ID answered 404 on 2 October 2026.
"Why is the file I grabbed 1920 × 1080 when every guide says the biggest thumbnail is 1280 × 720?"
Because the guides list six names and the host answers more. On 2 October 2026 a file named oar2.jpg measured 1920 × 1080 at 75,680 B on one video, against 1280 × 720 at 65,324 B for maxresdefault.jpg on the same video, same day.
"I changed .jpg to .webp to get a smaller file and got a grey box. Is the WebP gone?"
It never lived at that address. Swapping the extension on the normal path returns a 404 placeholder; the real WebP copy is on the vi_webp path on i.ytimg.com. Note also that the WebP copy carries no Access-Control-Allow-Origin header, so a page on the web can show it but cannot hand you the bytes.
"Do I need to grab all the numbered ones — hq1, hq2, hq3?"
Only if you want a different frame. They are stills cut from the video, not copies of the poster frame, and on one video tested one of them happened to match the poster frame exactly. The widest they go is what its own family goes to — 480 × 360 on the old upload tested, where every larger name was gone.
"Which single URL should I try first?"maxresdefault.jpg, then oar2.jpg to see whether the larger file exists on that particular video. Both are one request and both can come back as a grey square, so read the status code either way.
All numbers on this page were measured on 2 October 2026 by requesting each URL directly from img.youtube.com and i.ytimg.com and recording the HTTP status, byte count, Content-Type, Cache-Control and Access-Control-Allow-Origin, then reading the pixel dimensions out of each downloaded file's own JPEG or WebP header. Videos are named by ID only; no titles, channels or links appear here, and none of the images are hosted on this site. Different videos return different numbers — that is the reason for measuring rather than listing.