If you have ever built a YouTube embed, a lazy-load facade, a link preview or a CMS "featured image" feature, you have written this line:
Most write-ups explain this with folklore: "maxresdefault only exists for HD uploads", "YouTube returns a placeholder at 200 so you can't detect it", "check for a 120px image". Some of that is right, some of it is wrong, and none of it comes with a number attached. So I measured it.
On 7 September 2026 I requested eight thumbnail files for each of 9,055 public YouTube videos straight from i.ytimg.com, no Data API, no page scraping. 8,664 videos were still live (the rest had been deleted or made private and are excluded from every percentage).
Two independent samples: Recent uploads (5,154 videos): the latest videos from the public RSS feeds of 394 channels that have a Wikidata entry, up to 15 per channel. Upload dates run from 2008 to the day of measurement; 2,205 were uploaded in 2026. This sample is Shorts-heavy. Wikidata-referenced videos (3,510 videos): video IDs stored in Wikidata's "YouTube video ID" property. These skew toward notable, often older uploads.
For each video and each file I recorded whether it exists, the HTTP status, the pixel dimensions from the JPEG header, and the byte size from Content-Range. 72,440 requests, zero network errors. The per-video CSV is published under CC BY 4.0 at the end.
Caveat up front: neither sample is a uniform random draw of all of YouTube, both over-represent established channels, so the maxresdefault rate for the long tail of casual uploads is probably lower than what follows.
| File | Pixels | Exists for | |---|---|---| | default.jpg | 120x90 | 100.0% | | mqdefault.jpg | 320x180 | 100.0% | | hqdefault.jpg | 480x360 | 100.0% | | sddefault.jpg | 640x480 | 95.8% | | hq720.jpg | 1280x720 | 88.2% | | maxresdefault.jpg | 1280x720 | 88.3% | | viwebp/.../maxresdefault.webp | 1280x720 | 85.7% | | oar2.jpg | original aspect ratio | 29.9% |
So the three small sizes are universal, sddefault nearly so, and the two 1280x720 files are where it drops: 11.7% of videos have no maxresdefault.jpg. That is 1 in 9 in a sample that favours established channels.
| Upload year | Videos | Have maxresdefault | |---|---|---| | 2012 | 33 | 48.5% | | 2016 | 35 | 65.7% | | 2018 | 67 | 59.7% | | 2020 | 281 | 81.9% | | 2022 | 303 | 80.9% | | 2023 | 319 | 91.5% | | 2024 | 520 | 92.5% | | 2025 | 803 | 92.8% | | 2026 | 2,205 | 94.6% |
Uploads from 2008 and 2009 in the sample had one 0% of the time. Anything from 2023 on has one better than nine times out of ten. YouTube does not back-fill old videos.
This is the part the folklore gets wrong. The claim you will find repeated in blog posts and even in some package READMEs is that YouTube serves the grey placeholder "at HTTP 200", which is why you supposedly cannot detect it.
Every one of the 1,014 missing maxresdefault.jpg requests in this study came back as HTTP 404. All 1,014. I re-checked a sample against img.youtube.com and i3.ytimg.com with a desktop browser user agent: identical 404s.
What is true is that the 404 body is a valid image: the same 1,097-byte, 120x90 grey JPEG every time. Browsers happily decode it. So: renders a tiny grey box and fires load, not error. new Image() fires onload with naturalWidth === 120. fetch() gives you response.ok === false and status === 404. The status is there if you look at it. curl -O and wget save the placeholder to disk unless you pass --fail (curl) or check the exit code. requests.get(url).content in Python saves the placeholder unless you check statuscode.
So "you can't detect it" is wrong. You can't detect it from the image load event. The status code and the decoded width both tell the truth.
The largest file that actually existed per video was: maxresdefault (1280x720) for 88.3% sddefault (640x480) for 7.5% hqdefault (480x360) for the remaining 4.2%
So maxresdefault -> sddefault -> hqdefault resolved to a real image for every single one of the 8,664 videos, with at most two fallbacks.
Two things to skip: hq720.jpg adds nothing. It never existed for a video that lacked maxresdefault (0 of 8,664), and in 93.6% of videos it was byte-for-byte the same size as maxresdefault.jpg. Trying for 1080p. Of the 7,650 videos with a maxresdefault, 7,571 (99.0%) served exactly 1280x720. 69 legacy videos, all in the older Wikidata cohort, served a genuine 1920x1080 at that URL; none of the recent uploads did. 1280x720 is the ceiling for practically every video and there is no 4K thumbnail file.
naturalWidth > 120 is the whole trick. The placeholder is exactly 120 wide; every real file is wider.
