The three ways to grab a VoD
There are three working approaches in 2026: yt-dlp from the command line, TwitchDownloader (CLI or GUI) from a desktop, and a small number of browser-side tools that wrap one of the above. Each has tradeoffs that matter once the VoD is longer than two hours.
yt-dlp is the most flexible but the least friendly. TwitchDownloader is the editor-favorite because it handles chat too. Browser tools are the fastest start but usually re-encode and ratecap.
yt-dlp, the workhorse
yt-dlp speaks Twitch HLS natively. The basic command is `yt-dlp https://www.twitch.tv/videos/<id>`. It will pull the highest-quality variant and write it as a single MP4. For a four-hour stream at source bitrate, expect 14–22 GB and 8–25 minutes depending on your downstream and Twitch shaping that day.
Specifying `--concurrent-fragments 8` (or higher) shaves real wall time off the download. Twitch does not heavily ratecap parallel HLS segment pulls.
TwitchDownloader for chat-aware workflows
TwitchDownloader is the only tool in widespread use that pulls chat alongside the video and lets you render chat as an overlay locally. The GUI is Windows-first; the CLI runs on macOS and Linux too. For a 60-minute stream the chat JSON typically lands in 15 seconds; the video takes minutes.
The reason editors use it is the chat overlay render: you point it at a chat JSON, pick fonts and dimensions, and it produces a transparent MOV you can drop into Resolve or Premiere. The downside is that the chat overlay render is CPU-bound and locks up your machine for the length of the render.
When you do not need to download at all
For most clipping work, downloading is wasted effort. You watch maybe five percent of the stream. The other 95 percent is dead air, menus, and gameplay you do not care about. Pulling 30 GB to find ninety seconds of usable clip is the worst-case bandwidth tradeoff.
Browser-first editors (including this one) keep the source on a server, hydrate the chat graph immediately, and let you bracket clips against a player that streams only the segments you watch. Final clip renders happen server-side and you download just the finished MP4. For collaborative or multi-stream edits the ratio gets worse: two parallel VoDs at 30 GB each is 60 GB just to start an edit session.
The legal status
Twitch ToS forbids redistributing downloaded VoDs without the streamer's permission. Personal use (editing your own VoDs, or editing for a streamer who employs you) is fine. Posting someone else's VoD to YouTube without consent is not. The ToS has not been seriously enforced against individual users, but the rule exists.
For editors working with a streamer, the standard practice is a written or DM agreement that the streamer is delegating VoD-edit rights to the editor. Cloud editors typically handle this by being scoped to the streamer's own account: the editor accesses VoDs through the streamer's session, never independently.
VoDs expire faster than you think
Twitch VoD retention is 14 days for unaffiliated channels, 60 days for affiliates, partners, and subscribers, and indefinite only if the streamer manually downloads or highlights. If you are editing for a streamer, set up an ingest pipeline (any of the methods above) within 24 hours of stream end. Past day 14, a non-partner VoD may already be gone.
Chat is even more time-sensitive in practice: Twitch occasionally purges old chat logs and there is no public API for resurrection. Pull chat the day of the stream.