How to Download Twitch VODs Before They Expire (2026 Guide)
Twitch deletes VODs after 14 days for regular users. Here are three ways to download Twitch broadcasts and clips before they disappear forever.
Twitch deletes past broadcasts (VODs) after 14 days for regular streamers and 60 days for Partners and Affiliates. If you want to keep a stream you love — a tournament, a tutorial, a one-time event — the clock is already ticking. Twitch clips never expire, but VODs are on a hard deletion schedule.
This guide explains why VODs disappear, how to find a VOD URL after the broadcast ends, and three practical ways to save VODs and clips to MP4 before they’re gone.
Why Twitch VODs expire
Twitch’s storage costs are dominated by the long tail of low-view VODs. By auto-deleting old broadcasts, Twitch keeps storage manageable while pushing creators toward two business outcomes: highlight-clipping (which keeps content discoverable forever) and YouTube re-upload (which is Twitch’s preferred archival path). The expiration window has been roughly stable for years:
| Account type | VOD retention |
|---|---|
| Regular streamer | 14 days |
| Twitch Affiliate | 14 days (was 14, sometimes extended) |
| Twitch Partner | 60 days |
| Highlights / Past Premieres | Permanent (until manually deleted) |
| Clips (5-60 seconds) | Permanent |
If a VOD you want is approaching the deadline, your only options are: download it, ask the streamer to make a highlight (which preserves it), or accept the loss.
How Twitch streams work technically
Twitch streams are HLS — .m3u8 master playlist plus segmented media. The protocol is the same one explained in How to Download m3u8 / HLS Streams: Complete Guide 2026. Two Twitch-specific quirks:
- Token-signed URLs: Twitch master playlists are signed with a token that expires in ~24 hours. You cannot copy a URL today and download from it tomorrow.
- Twitch GraphQL gateway: Both VOD and live stream URLs are obtained via a GraphQL API call, not direct page scraping. The browser does this transparently when you load the VOD page.
Twitch does not use audio-video manifest separation as aggressively as some other platforms — most Twitch streams ship muxed segments — so the audio/video split problem is less common but still appears on certain transcoded variants.
Method 1: A Chrome extension (one-click)
A browser extension running in the same tab as the Twitch player has access to the same authenticated session and the same GraphQL responses. It sees the master playlist and can download segments without you ever copying a URL.
Video Downloader One-for-All handles Twitch VODs directly:
- Install the extension and pin to toolbar
- Open the VOD page on
twitch.tv/videos/{id} - Wait for the player to load (extension icon turns blue when stream detected)
- Click the extension icon
- Pick your quality (Twitch usually offers Source, 1080p60, 720p60, 720p, 480p, 360p, 160p)
- Click Download
The result is a single MP4 with the broadcast intact. For 4-hour streams expect 1-3 GB depending on quality.
For Twitch clips (the 5-60 second highlights), the same workflow works — open the clip page, click the extension, download.
Method 2: yt-dlp (CLI, batch-friendly)
yt-dlp has excellent built-in Twitch support:
# Single VOD
yt-dlp "https://www.twitch.tv/videos/123456789"
# Best quality, MP4 output
yt-dlp -f "best[ext=mp4]" "https://www.twitch.tv/videos/123456789"
# A clip
yt-dlp "https://clips.twitch.tv/AwesomeClipSlug"
# All clips from a channel (last 100)
yt-dlp "https://www.twitch.tv/streamer/clips" --max-downloads 100
For Subscriber-only VODs, you need to pass cookies from a logged-in browser:
yt-dlp --cookies-from-browser chrome "https://www.twitch.tv/videos/123456789"
The --cookies-from-browser flag reads your existing Chrome cookie jar and sends them with the request. This approach works well in scripts and headless contexts but breaks if Twitch rotates session tokens (every few hours) — you have to log in again in Chrome.
Method 3: TwitchDownloader (desktop GUI)
TwitchDownloader is a popular open-source desktop application that focuses specifically on Twitch:
- Downloads VODs and clips
- Renders chat replays alongside the video (a feature unique to Twitch-specific tools)
- Trims VODs to specific time ranges before downloading
Useful when you want to download just a 30-minute segment of a 6-hour VOD without re-encoding the whole thing. The UI is functional rather than polished. Available on the TwitchDownloader GitHub repo.
Trick: The “dwitch.tv” URL substitution
A community trick that has worked for several years: replace twitch.tv with dwitch.tv in any VOD URL. So https://www.twitch.tv/videos/123456789 becomes https://www.dwitch.tv/videos/123456789. The dwitch.tv site is a third-party scraper that resolves the master playlist and offers a download link.
Pros: zero install, works in any browser. Cons: third-party site sees the URL of every VOD you download; reliability fluctuates with Twitch’s API changes; rarely the highest quality.
For one-off downloads with no privacy concern, it works. For repeated use, the extension or yt-dlp paths are more reliable and don’t share your viewing patterns with a third party.
How to find an old VOD that’s about to expire
Twitch does not surface “VODs expiring soon” anywhere prominently. To find them:
- Go to a streamer’s channel on
twitch.tv/{streamer} - Click the Videos tab
- Filter by “Past Broadcasts” (vs Highlights or Clips)
- The list shows VODs in reverse chronological order
- Anything older than 14 days from the most recent entry is at risk
For your own VODs:
- Go to your Creator Dashboard at
dashboard.twitch.tv - Click Content → Video Producer
- The list shows your VODs with their creation date
If a VOD is already 13 days old, prioritize downloading it today.
Live stream recording vs VOD download
If you want to capture a stream as it happens rather than waiting for the VOD, that’s a different workflow — recording an HLS live broadcast in real-time. See How to Record Live Streams in Chrome Browser for the live recording approach. The advantage of live recording: you don’t have to wait for Twitch to publish the VOD (which can take 1-2 hours after the stream ends), and you don’t have to worry about the streamer choosing to delete the VOD early.
The disadvantage: live recording requires you to be present (or have a process running) for the entire stream duration. VOD download is a one-shot operation after the fact.
Sub-only VOD downloads
If a streamer makes their VODs sub-only, Twitch enforces this through the GraphQL gateway — the master playlist URL is only handed out to authenticated subscribers. Browser extensions, yt-dlp with --cookies-from-browser, and TwitchDownloader all work because they pass the same session cookies that prove your subscription. Online tools (third-party scrapers, dwitch.tv) cannot — they have no way to inherit your subscription identity.
If you cannot download a sub-only VOD with one of the session-aware methods above, double-check that you are actually logged in and your sub is active.
Common questions
Will downloading get me banned?
Twitch’s terms of service prohibit redistribution but downloading for personal offline viewing has been a tolerated practice for years. We are not aware of accounts being banned for personal-use downloads. As with all download workflows, the legal status depends on the specific stream and your jurisdiction.
What about Twitch Clips? Do they expire?
No, clips are permanent. They are stored separately from VODs and never get auto-deleted by Twitch. However, clips can be deleted by the creator or moderator. If a clip you care about is creator-managed, download it for safekeeping anyway.
Can I download a stream that’s still live?
Yes — that’s the live recording workflow rather than VOD download. Our extension handles live HLS recording and continues until you stop it manually. The result is the same MP4 format. See the Live Stream Recorder page.
What’s the best quality I can get?
“Source” (the original quality the streamer uploaded) is highest, typically 1080p60 or 1440p60. Below that, Twitch transcodes to 720p60, 720p, 480p, 360p, 160p. Free Twitch viewers can sometimes only see transcoded variants (Twitch reserves Source for Turbo subscribers and the streamer’s own viewers in some cases). Whatever your browser sees, the extension can download.
Can I download chat alongside the video?
Only TwitchDownloader does this natively (it renders chat as an overlay onto the VOD). Our extension and yt-dlp produce video-only files; chat would be a separate JSON download via the Twitch API.
What about subscriber emote / badge metadata?
Not preserved in any of these methods. The downloaded MP4 is just the rendered video stream. Chat-replay metadata (emotes, badges, sub statuses at the time of message) only lives in Twitch’s database.
Bottom line
Twitch VODs disappear in 14 days. If you care about a broadcast — a tournament moment, a tutorial, a personal milestone — download it before the deadline. The three reliable paths:
- Chrome extension — one-click, no command line, follows your Twitch session for sub-only content
- yt-dlp — best for batch, scriptable, requires CLI comfort
- TwitchDownloader — best when you also want chat replay or VOD trimming
For everything except chat-replay needs, install Video Downloader One-for-All and you’re done. Twitch streams are HLS under the hood, so the extension’s HLS infrastructure (auto-merge, AES-128 handling, session-aware fetches) handles them the same way it handles any other HLS content.