Skip to content

Instantly share code, notes, and snippets.

@james-prado
Last active January 28, 2026 22:45
Show Gist options
  • Select an option

  • Save james-prado/dcae618603689e44913f232ea2b48530 to your computer and use it in GitHub Desktop.

Select an option

Save james-prado/dcae618603689e44913f232ea2b48530 to your computer and use it in GitHub Desktop.
A bookmarklet that downloads vimeo thumbnails
javascript:void%20function(){const%20a=()=%3E{const%20a=window.location.pathname.split(%22/%22)[1];return%20isNaN(a)%3Fvoid%20console.warn(%22cannot%20find%20valid%20video%20ID%22):parseInt(a)},b=b=%3E{const%20c=a(),d=c%3F`thumbnail-${c}`:%22thumbnail%22;if(!b)return%20console.warn(%22thumbnail%20url%20is%20null%20or%20undefined%22);const%20e=document.createElement(%22a%22);e.id=d,e.href=b,e.target=%22_blank%22;const%20f=()=%3E{setTimeout(()=%3E{URL.revokeObjectURL(b),removeEventListener(%22click%22,f)},150)};return%20e.addEventListener(%22click%22,f,!1),e},c=(a,c)=%3E{const%20d=b(a);d.download=c,document.body.append(d),document.getElementById(d.id).click()},d=JSON.parse(document.getElementById(%22microdata%22).textContent).find(a=%3E%22VideoObject%22==a[%22%40type%22])%3F%3F{};(b=%3E{const{thumbnailUrl:d,name:e}=b;return%20d%3Fe%3Ffetch(d).then(a=%3Ea.blob()).then(b=%3E{const%20d=new%20FileReader;d.addEventListener(%22load%22,()=%3E{const%20b=new%20Image,f=d.result,g=a(),h=g%3F`Thumbnail%20-%20${e}%20${g}`:`Thumbnail%20-%20${e}`;b.src=f,c(f,h)}),d.readAsDataURL(b)}):console.warn(`title%20is%20null%20or%20undefined`):console.warn(%22thumbnailUrl%20is%20null%20or%20undefined%22)})(d)}();

Install the bookmarklet

  1. Create a new bookmark in your browser (right-click on the bookmarks bar and click "Add Page")
  2. Enter a name for the bookmark (e.g. "Get Vimeo Thumbnail")
  3. Copy the code block below, and paste it into the bookmark "URL"
javascript:void%20function(){const%20a=()=%3E{const%20a=window.location.pathname.split(%22/%22)[1];return%20isNaN(a)%3Fvoid%20console.warn(%22cannot%20find%20valid%20video%20ID%22):parseInt(a)},b=b=%3E{const%20c=a(),d=c%3F`thumbnail-${c}`:%22thumbnail%22;if(!b)return%20console.warn(%22thumbnail%20url%20is%20null%20or%20undefined%22);const%20e=document.createElement(%22a%22);e.id=d,e.href=b,e.target=%22_blank%22;const%20f=()=%3E{setTimeout(()=%3E{URL.revokeObjectURL(b),removeEventListener(%22click%22,f)},150)};return%20e.addEventListener(%22click%22,f,!1),e},c=(a,c)=%3E{const%20d=b(a);d.download=c,document.body.append(d),document.getElementById(d.id).click()},d=JSON.parse(document.getElementById(%22microdata%22).textContent).find(a=%3E%22VideoObject%22==a[%22%40type%22])%3F%3F{};(b=%3E{const{thumbnailUrl:d,name:e}=b;return%20d%3Fe%3Ffetch(d).then(a=%3Ea.blob()).then(b=%3E{const%20d=new%20FileReader;d.addEventListener(%22load%22,()=%3E{const%20b=new%20Image,f=d.result,g=a(),h=g%3F`Thumbnail%20-%20${e}%20${g}`:`Thumbnail%20-%20${e}`;b.src=f,c(f,h)}),d.readAsDataURL(b)}):console.warn(`title%20is%20null%20or%20undefined`):console.warn(%22thumbnailUrl%20is%20null%20or%20undefined%22)})(d)}();
  1. Save the bookmark
  2. Now you can go to any vimeo video and download the thumbnail by clicking the bookmark

Source code is available here

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment