How to Download Vimeo Videos (Including Private Videos)
Vimeo locks private videos behind authentication and embed restrictions. Here's how to download public, private, and embedded Vimeo videos in 2026.
Vimeo’s privacy settings are more sophisticated than YouTube’s. A Vimeo video can be public, password-protected, restricted to a specific domain, members-only on a paid Vimeo channel, or hidden behind embed-only access. Each of these states changes how — and whether — you can download the video.
This guide covers public videos, private videos that you have legitimate access to, and embedded Vimeo videos on third-party sites. We do not cover bypassing access controls you don’t have permission for.
How Vimeo serves video technically
Vimeo uses a mix of:
- HLS (m3u8) for adaptive streaming — most modern Vimeo videos
- DASH (mpd) for some accounts and players
- Direct progressive MP4 for embedded videos that disable adaptive streaming
The HLS streams use the standard audio/video manifest separation pattern covered in HLS Download Audio and Video Are Separate? Here’s How to Fix It. The DASH streams use the same separation pattern (it’s the default for DASH).
Vimeo’s URL structure is also distinctive:
- Public video:
vimeo.com/123456789 - Private with hash:
vimeo.com/123456789/abc123def(the second segment is a privacy hash) - Player URL:
player.vimeo.com/video/123456789?h=abc123def
The hash matters: it’s the access token. Anyone with the hash can view the video, even if Vimeo’s UI doesn’t expose the privacy settings. This is intentional — it’s how Vimeo lets a creator share a private video with specific viewers.
Method 1: Chrome extension (works for what you can play)
The simplest path: if a Vimeo video plays in your browser, an extension running in the same tab can usually download it.
Video Downloader One-for-All handles Vimeo specifically:
- Open the Vimeo page (or the page containing the embedded Vimeo player)
- Wait for the video to start playing — the manifest fetch happens during playback
- Click the extension icon
- Pick the resolution from the dropdown
- Download
This works for:
- Public videos
- Private videos when you have the URL with the privacy hash
- Embedded Vimeo videos on third-party sites
- Vimeo Showcase / Channel videos you have access to
It does not work for:
- DRM-protected Vimeo OTT content (Vimeo’s enterprise streaming product uses Widevine/FairPlay; no extension can legally download those)
- Videos behind two-factor authentication you haven’t completed
- Domain-restricted embeds when you’re on the wrong domain (but see the embedded section below)
Method 2: yt-dlp (CLI, best for private videos with passwords)
yt-dlp has comprehensive Vimeo support:
# Public video
yt-dlp "https://vimeo.com/123456789"
# Private video with hash
yt-dlp "https://vimeo.com/123456789/abc123def"
# Password-protected video
yt-dlp --video-password "yourpassword" "https://vimeo.com/123456789"
# Best quality MP4
yt-dlp -f "bv*+ba/b" --merge-output-format mp4 "https://vimeo.com/123456789"
# Embedded player URL
yt-dlp "https://player.vimeo.com/video/123456789?h=abc123def"
For Vimeo accounts that require login (your own private videos in your account, for example):
yt-dlp --cookies-from-browser chrome "https://vimeo.com/manage/videos/123456789"
yt-dlp’s Vimeo extractor handles HLS, DASH, and progressive MP4 sources automatically. For batch operations or scripting, this is the most reliable path.
Method 3: FFmpeg with the master playlist URL
If you have the m3u8 URL (find it in DevTools → Network → filter by m3u8 while playing the Vimeo video), FFmpeg works directly:
ffmpeg -i "https://vimeo-master-playlist-url" -c copy output.mp4
For the audio/video manifest separation:
ffmpeg \
-i "https://video.m3u8" \
-i "https://audio.m3u8" \
-c copy \
-bsf:a aac_adtstoasc \
output.mp4
The Vimeo CDN does not generally require a Referer header for direct segment fetches once you have the playlist URL, which makes the FFmpeg approach simpler than for some other sites.
Downloading embedded Vimeo videos
Many tutorial sites, course platforms, and corporate training portals embed Vimeo as an <iframe> rather than hosting their own video. The Vimeo player loads inside the iframe with the original video controls.
To download from an iframe embed:
- Open the page with the embedded video
- Right-click on the video → Inspect (Chrome DevTools)
- Look for an
<iframe>element withsrc="https://player.vimeo.com/video/..." - Open that iframe URL in a new tab
- The Vimeo player now loads as if it were a direct page; the extension can detect it normally
If the embed has domain restrictions, the iframe may show “Sorry, this video is restricted.” That’s Vimeo enforcing the creator’s settings — you can’t bypass it without permission.
For a deeper guide on iframe embeds in general (not Vimeo-specific), see How to Download iframe-Embedded Videos from Any Website.
Vimeo quality codes
When you download a Vimeo video, you’ll see size variants like:
| Variant | Resolution | Bitrate (typical) |
|---|---|---|
| 240p | 426×240 | ~400 kbps |
| 360p | 640×360 | ~700 kbps |
| 540p | 960×540 | ~1.4 Mbps |
| 720p | 1280×720 | ~2.5 Mbps |
| 1080p | 1920×1080 | ~5 Mbps |
| 1440p | 2560×1440 | ~10 Mbps |
| 2160p (4K) | 3840×2160 | ~25 Mbps |
Vimeo offers higher bitrates than YouTube at the same resolution because Vimeo doesn’t aggressively compress for ad delivery. A 1080p Vimeo video is often visually noticeably better than a 1080p YouTube of the same content.
What about Vimeo OTT and Vimeo Showcase Pro?
Vimeo OTT is Vimeo’s enterprise streaming product (used for paid subscription video like fitness platforms or training services). Vimeo OTT uses Widevine DRM. None of the methods in this guide download Widevine-protected content; that requires DRM circumvention which is not legal in most jurisdictions and not supported by any extension we know of.
Vimeo Showcase Pro (the password-protected showcase product) uses standard HLS without DRM. It is downloadable with the methods above when you have legitimate access (the password or the showcase URL).
If you can’t tell which product is serving the video, check whether the page mentions “OTT” or “subscription” prominently — those are usually OTT. Vanilla vimeo.com/123456789 URLs are standard Vimeo.
When the same video gives different qualities to different people
Vimeo serves different quality manifests based on:
- Your account tier (free, Plus, Pro, Business, Premium)
- Whether you’re the video owner
- Network conditions detected at playback
A free viewer might see up to 1080p; the owner sees up to 4K source. The extension downloads whatever your browser session was offered. If a quality you expect isn’t in the dropdown, your account tier may not have access to it.
Common questions
Will downloading affect Vimeo’s view count or analytics?
No. Vimeo’s view counter increments on player events, not on downloads. The extension’s segment fetches don’t trigger view increments because they don’t look like player heartbeat traffic to Vimeo’s analytics.
Can I download a video I don’t own legally?
Vimeo’s TOS prohibits redistribution and bypassing access controls. Personal offline viewing of content you have legitimate access to (a tutorial you paid for, a video shared with you privately) has been tolerated practice for years; redistribution or bypassing privacy is not.
Why does my downloaded Vimeo video have no audio?
You have the audio/video manifest split problem. The extension auto-merges; if you used FFmpeg or yt-dlp without specifying both manifests, you got the silent video manifest only. See the audio/video split fix guide.
What about Vimeo Live (Vimeo’s live streaming product)?
Vimeo Live uses HLS the same as VOD. The extension’s live recording feature handles it — start the recording when the live stream begins, stop when it ends, get an MP4.
Are private Vimeo URLs really publicly accessible if you have the hash?
Yes — that’s by design. Vimeo’s privacy model is “security by URL knowledge” for the basic privacy levels. If a private video URL with hash is shared publicly somewhere, anyone with that URL can view (and download) it. This is why creators of sensitive content should use higher privacy levels (password, domain-restricted, or login-required) rather than rely on the hash.
Does Vimeo embed-restricted content work in the extension?
If a Vimeo embed has a domain restriction and you’re viewing it on the allowed domain, yes. If you’re trying to download a Vimeo embed that’s restricted to a different domain (the iframe loads with “this video is restricted”), no — that’s the privacy setting working as intended.
Comparison
| Need | Best method |
|---|---|
| One public video, casual | Browser extension |
| Embedded video on a tutorial site | Browser extension on the iframe |
| Password-protected video | yt-dlp with --video-password |
| Batch download a Showcase | yt-dlp with playlist URL |
| Private video with hash, no auth | Either extension or yt-dlp |
| Vimeo OTT subscription content | Not legally downloadable (DRM) |
Bottom line
Most Vimeo videos are HLS or DASH, and most Vimeo videos are downloadable when you have legitimate access. The extension handles the common cases (public, private with hash, embedded) without the command line. yt-dlp is the right tool for password-protected videos and batch operations. FFmpeg is the lowest-level option when you need full control.
Install Video Downloader One-for-All for one-click Vimeo downloads. For the underlying HLS protocol details, see How to Download m3u8 / HLS Streams. For DRM-free Vimeo content, the same techniques that work for any HLS source work here.