Twitch DownloaderVODs · Clips · Live

How to Use a Twitch Downloader: A Beginner's Guide (VODs, Clips, Live & More)

Updated: 2026-07-06 · Written by the vodfetch founder

Never downloaded a Twitch video before? Here's the simple, no-jargon guide: what a Twitch downloader is, how to use one step by step, and how to save every kind of Twitch content — VODs, clips, live streams, audio and chat — for free, right in your browser.

What is a Twitch downloader?

A Twitch downloader is a tool that saves Twitch content — a past broadcast (VOD), a clip, or a live stream — onto your own device as a video file, usually an MP4. Twitch itself has no download button, and it deletes past broadcasts after 7 to 60 days, so a downloader is how you keep a permanent copy.

There are two main kinds: desktop apps you install, and browser tools that run on a web page. This guide uses the browser kind, because it's the simplest for a beginner — there's nothing to install and no account to create. vodfetch is a free, open-source example.

How to use a Twitch downloader: the basic steps

The process is the same for almost any browser-based tool, and it takes under a minute. You find the Twitch content you want, copy its link, paste that link into the downloader, pick a quality, and download the file. That's the whole idea — no settings to get wrong.

The step-by-step is below. Once you've done it once, every future download is the same four clicks.

Downloading a VOD, a clip, or a live stream

The three main things you can save work the same paste-a-link way, they just start from different URLs. A VOD (a past broadcast) opens at twitch.tv/videos/… — paste that to archive a full stream. A clip lives at clips.twitch.tv/… or twitch.tv/<channel>/clip/… — paste that to save a short highlight with no watermark. A live stream is the channel URL while the streamer is on air — paste that to record it to MP4 as it happens.

If you only remember the streamer's name and not the exact link, you can paste just the channel name and pick the video you want from their recent VODs and clips.

Getting audio only, or the chat

A downloader isn't only for video. If you just want the sound — a music set, or a podcast-style Just Chatting stream — you can save the audio only, as an M4A/AAC file, instead of the full video. And if you want the chat that scrolled alongside a VOD, you can export the whole chat replay as a timestamped text file, separately from the MP4.

These are the same paste-a-link flow — after you analyze the video, you simply pick the audio-only quality, or click the chat export, instead of a normal download.

Choosing quality (Source, 1080p60 and file size)

When you download, you pick a quality. "Source" (up to 1080p60) is the original, best-looking file with no re-encode — choose it when you want the full quality. Lower options like 720p or 480p make smaller files, which is handy on a slow connection or a nearly-full drive.

For very long VODs, you don't have to download the whole thing: trim to just the section you want before downloading, so a six-hour stream becomes only the minutes you care about.

What you actually see on screen, from paste to file

The box does not need a well-formed URL. When what you type contains no slash and no dot, six or more digits (an optional leading v is stripped) is read as a video ID, a string of six or more characters containing a hyphen as a clip slug, and two to twenty-five letters, digits or underscores as a channel name; anything else in that group is tried as a clip slug. With a slash or dot present it is parsed as a URL, and a missing https:// is filled in for you. Pasting starts the analysis on its own about 80 milliseconds later, provided the pasted text is longer than five characters; Enter does the same, and you can drop a link straight onto the tool card. The page also reads its own query string: ?url=<link>&go=1 analyses immediately, and adding &t=1h2m3s opens the trim panel pre-set to a 60-second window starting at that timestamp.

Once it resolves you get a preview card: thumbnail, title, the streamer's avatar and name, the game, duration, view count and date, plus a small tag reading vod, clip or channel. The quality dropdown below is sorted source first, then by descending bitrate, so the original sits at the top with a star and audio-only falls to the bottom. Each entry is assembled from what Twitch's master playlist reports: the rendition name, then the resolution if one is given, then a figure in Mbit/s only when a BANDWIDTH value is present. A label without a bitrate is not a worse file, it only means Twitch did not advertise one.

For a past broadcast a trim panel appears with a draggable scrubber. Hovering the track pulls in Twitch's own storyboard sprite sheet, so you get thumbnail previews while you drag and can find a moment visually instead of guessing at timestamps; if that sprite sheet is missing or unreadable the scrubber still works, just without pictures. Times can be typed as 1:23:45 or as plain seconds. The size figure beside it is the selected rendition's bitrate divided by eight, multiplied by the selected duration, and it is computed for past broadcasts only, which is why clips and live streams show nothing there.

The filename box is optional. Left blank you get streamer_date_title_quality; type your own and both go through the same filter, which replaces the characters Windows forbids in a filename (\ / : * ? " < > |) with underscores, collapses runs of whitespace and cuts the result to 120 characters. After each successful save the filename and a date are added to a short "recent" list in your browser's local storage, capped at the last eight entries. It is a memory aid rather than a library: the entries are not clickable, nothing can be re-downloaded from them, and clearing site data erases the list.

If you only know the streamer, paste the channel name

Paste a channel name, or twitch.tv/<name>, and the tool first asks Twitch for a live playback token. If the streamer is on air you go straight into the live recording flow. If they are not, that request fails and, instead of surfacing an error, the page falls back to browsing the channel: the 24 most recent past broadcasts, newest first, behind a load-more button that pages through the rest, and the twelve most-viewed clips of all time with Today, This week, This month and All time buttons above them. Choosing a period reloads just the clip grid.

Each past-broadcast card shows the title, the game, the length and the publish date, and may carry an expiry badge. The tool reads whether the channel is a Partner or Affiliate and assumes the matching retention window: 60 days for a Partner, 14 for an Affiliate, 7 days otherwise. With 14 days or fewer to go the badge reads "~5d left (est.)"; once the assumed window has passed it says the VOD may already be close to expiring. Treat it as arithmetic over public role data rather than a promise. Prime and Turbo status is not exposed by Twitch, so a Prime channel without Affiliate status is counted at 7 days when it actually keeps videos for 60, though the note under the channel name does mention it; a streamer can delete a broadcast at any moment; and cards pulled in by load-more carry no badge at all.

Clicking any card drops its URL into the input box and starts the analysis, so you never copy a link by hand. One limit is worth knowing before you conclude that a stream is gone: the video grid queries past broadcasts only (type ARCHIVE), so Highlights and uploads the streamer has saved never appear in it even though they still exist and are not on the deletion clock — though a cap Twitch announced in February 2025 and applied from 19 April 2025 gives each channel a combined 100-hour budget for Highlights and Uploads. If a broadcast is missing from the list, check the channel's Videos tab for a highlight of it before assuming Twitch has deleted it. A channel name that does not exist at all is answered with "Channel not found, or it has no public VODs or clips."

MP4, TS or M4A: which file you actually get

The Format switch offers MP4 or TS, but it does not govern everything, and the rules are worth knowing before you press download. A clip is fetched as a finished MP4 and always saves as .mp4; the Format switch cannot affect it. A past broadcast honours the switch: MP4 remuxes the transport-stream segments inside your browser, TS writes them out raw. A live recording is always TS whatever the switch says, because the remuxer needs a complete, finite file before it can close one out.

Audio-only follows the same fork with different extensions: .m4a when the remuxer runs, .aac when it does not. There is never an MP3, because nothing here re-encodes and MP3 would mean a lossy second pass. Selecting an audio-only quality also hides the Format switch, since the outcome is already decided. Whenever a file lands as .ts or .aac the log adds "Plays in VLC; for MP4 choose Format → MP4." — a reminder that the download itself succeeded and only the container is the unusual part.

TS is not a downgrade, and it is sometimes the better choice. The MP4 path holds the converted output in memory until the last segment is in, so a very long broadcast can exhaust the tab; the TS path writes each segment as it arrives, which in Chrome or Edge means straight to disk. If a six-hour VOD fails on MP4, switching to TS and downloading again is exactly what the error message tells you to do. Afterwards you can remux the file locally with no re-encode and no quality change, or simply play it, since VLC and mpv handle TS natively. One quiet case to know: the MP4 transmuxer is a separate script loaded on demand, and if that request fails nothing is reported — the download just completes as .ts, and the VLC line in the log is the only sign.

Two size prompts exist, and both are confirmations rather than limits. Above roughly 1.5 GB on the MP4 path, a dialog quotes the estimate and suggests TS or a shorter trim. Otherwise, above roughly 700 MB in a browser without the File System Access API, a second dialog warns that the whole file will be held in memory and points you to Chrome or Edge. Both are driven by the size estimate, so they appear only where one is calculated, meaning past broadcasts. Accept and the download runs; decline and it stops with "Cancelled". If a native save dialog is going to appear, it comes after this prompt, not before.

What changes with your browser and your device

The single biggest difference is the File System Access API. In Chrome and Edge on desktop, a VOD or live download opens a native save dialog before any segment is fetched; you pick the location and each finished piece is written straight there. On the TS and live paths that keeps the tab's memory flat and makes a multi-gigabyte recording realistic. On the MP4 path it does not: the converted output is still assembled in memory and only written once conversion finishes, which is why the 1.5 GB prompt exists in Chrome too. Cancelling the save dialog stops the download with "Cancelled"; if the file handle fails for any other reason the log says "Could not stream to disk — buffering in memory" and continues the slower way. Clip downloads skip the dialog entirely and land in your Downloads folder.

Firefox and Safari do not offer that API, so the file accumulates in memory and is handed to the browser as a single blob at the end. Everything still works, but the ceiling is whatever the tab can hold, which is exactly why the 700 MB prompt appears there and not in Chrome. The same applies on phones, where in practice no browser exposes the API, there is less memory to spare, and a tab pushed into the background may be suspended mid-download. Short clips are unproblematic anywhere. For a full broadcast on those browsers, trimming to the section you actually want, or stepping down from source to 720p, is less a compromise than the difference between a download that finishes and one that does not; on a phone, keep the tab in the foreground.

Throughput is mostly a property of your own connection, but the mechanics are fixed. Segments are fetched six at a time in parallel, each pulled through the relay in 32 MB HTTP range chunks, and every chunk gets four attempts with a lengthening pause between them — 0.3, 0.6 and 0.9 seconds — before the transfer is abandoned. A past broadcast shows segments done out of the total, bytes transferred, throughput and an ETA extrapolated from the average segment time so far, so it moves around during the first few batches and settles later. A live recording has no total to divide by, so it shows a LIVE marker, the segment count, bytes and throughput, and the progress bar pulses instead of filling.

When it does not work: the message, and what it means

Almost every failure at the resolution stage is a single line, and each one narrows the cause. "VOD unavailable (deleted, private or sub-only)" means Twitch would not issue a playback token: the video is gone, hidden, or behind a subscription. "Clip not found or deleted" means the slug returned nothing at all; "Clip not available" means the clip exists but came back without a usable quality list or signature. "No qualities available" means the playlist was fetched and parsed but contained no renditions. "Invalid URL" and "Unrecognized Twitch URL" are parser errors — what you pasted is not a Twitch address it recognises. "Channel offline or not found" exists but you will rarely see it, because for a channel name that failed live lookup is caught and turned into the archive browser instead.

Two messages carry a raw HTTP status, and the number is the useful part. "Usher 403 (sub-only/expired)" means the playback token was rejected: subscriber-only content, or a token that has aged out — in the second case, analysing the link again mints a fresh one and is usually enough. "Usher 404 (offline/not found)" means there is nothing there to serve. "Playlist HTTP <code>" and "GraphQL HTTP <code>" pass through whatever the media host or Twitch's API returned, and neither is retried automatically, so a 5xx is worth a second attempt a minute later while a repeatable 4xx points at the content rather than the connection.

Failures during the transfer read differently. "Segment failed" means one piece could not be fetched after four attempts; nothing retries beyond that and the download stops, so start it again. During a live recording, eight consecutive polls that fail or bring back nothing new end the session with "Stream ended or unreachable." — the same line you get when the streamer simply goes offline, which is usually not an error at all. "No segments in range" means the trim window sits outside the video, and the usual cause is a start time past the end: an end time earlier than the start is not rejected, it is silently snapped back to the full length.

Two converter messages belong to the download itself. "MP4 converter failed to start — choose Format → TS." means the transmuxer was present but could not be initialised. "MP4 conversion failed — choose Format → TS and retry." means it started and then choked while processing, most often on a very long file that exhausted available memory. In both cases the fix is the one printed in the message. A third string, "MP4 converter unavailable", is not part of the download path at all: it belongs to the GIF export, which has to build an MP4 of your selection first and cannot fall back to TS.

Finally, some things look like faults but no tool can fix them. Twitch mutes VOD sections flagged for copyrighted music at the source, so every downloader receives the same muted audio. Some streams gate renditions above 720p60 behind an authenticated token, and because there is no login here and no user token, those never appear in the quality list; sub-only VODs fail before a list is reached for the same reason. And a live recording stops itself after three hours, logging that it has done so — a deliberate cap, not a crash, and starting it again gives you another three hours.

How to download a Twitch video

  1. 1

    Find the content and copy its link

    Open the VOD, clip or live channel on Twitch and copy the URL from the address bar (twitch.tv/videos/…, clips.twitch.tv/…, or twitch.tv/<channel>).

  2. 2

    Paste the link into the downloader

    Open a free browser tool like vodfetch and paste the link into the box. It reads the video right in your browser — no account or install.

  3. 3

    Pick a quality (and trim if you want)

    Choose Source for full quality, a lower option for a smaller file, or audio-only for sound. For long VODs, trim to just the part you need.

  4. 4

    Download the file

    Click download and the MP4 (or audio/chat) saves to your device — a permanent copy you own, independent of Twitch's schedule.

Frequently asked questions

How do I use a Twitch downloader for the first time?

Copy the Twitch link (VOD, clip or channel), paste it into a free browser tool like vodfetch, choose a quality, and download the MP4. There's no account and nothing to install — the whole thing takes under a minute.

What's the difference between downloading a VOD, a clip and a live stream?

A VOD (twitch.tv/videos/…) is a past broadcast; a clip (clips.twitch.tv/…) is a short highlight; a live stream is the channel URL while the streamer is on air. All three save the same paste-a-link way, just from different URLs.

Do I need an account or to install anything?

Not with a browser-based tool. vodfetch runs on a web page — no account, no app, no extension. You paste a link and download, on any device with a browser.

What quality should I choose?

Pick Source (up to 1080p60) for the best, original quality with no re-encode. Choose a lower resolution for a smaller file, or audio-only if you just want the sound.

Why did my download save as a .ts file instead of .mp4?

Three causes cover it. The Format switch was set to TS; or it was a live recording, which is always TS because the remuxer needs a complete file to close one out; or the MP4 transmuxer script did not load. That third case is silent — there is no error message, the file simply arrives as .ts — so if you did not touch the switch and it was not live, that is what happened, and reloading the page before trying again usually clears it. The download is complete and correct either way: TS plays in VLC and mpv, and remuxing it to MP4 locally is a container change with no re-encode. The log flags it with "Plays in VLC; for MP4 choose Format → MP4."

How large a file can I actually download?

There is no hard cap; what limits you is how the file reaches your disk. Chrome and Edge on desktop open a native save dialog and write each finished segment straight there, so a TS or live download stays flat in memory and multi-gigabyte files are realistic. Browsers without the File System Access API hold everything in memory until the end, and the MP4 path buffers its converted output in memory even in Chrome. Two confirmation prompts reflect that: roughly 1.5 GB on the MP4 path, roughly 700 MB without the save-dialog API. Both can be accepted and both only appear for past broadcasts. For a very long VOD, TS or a trimmed section is the reliable route.

Can I download part of a VOD instead of the whole thing?

Yes, for past broadcasts. Turn on trim and either drag the scrubber — which shows Twitch's storyboard thumbnails as you move it — or type times as 1:23:45 or plain seconds. Expect the cut to be approximate: the filter keeps every segment that overlaps your window, so the file expands outward to whole segment boundaries at both ends and you get slightly more than you selected. Trim does not apply to clips or live recordings. If the window lands outside the video you get "No segments in range"; an end time earlier than the start is not an error, it is snapped back to the full length.

Why is the quality I can watch on Twitch missing from the list?

The list is exactly what Twitch's master playlist returns for an anonymous viewer, sorted source first and then by descending bitrate. There is no login and no user token here, so any rendition a stream gates behind an authenticated session — commonly anything above 720p60 — is never offered, and sub-only VODs fail before you reach a list at all. Bitrates appear in the labels only when the playlist reports a BANDWIDTH value, so a label without one is not a lower-quality file. If nothing comes back the message is "No qualities available".

How long can I record a live stream in one go?

Three hours per run. The recorder stops itself at that point with a line in the log saying so, and you can start it again immediately for another three hours. A live recording is always written as TS, because the MP4 remuxer needs a finished file. Since there is no known total length, the progress readout shows a LIVE marker, the segment count, bytes and throughput instead of a percentage or ETA, and the bar pulses rather than filling. The recording also ends by itself when the broadcast does: eight consecutive polls that fail or return nothing new close it with "Stream ended or unreachable."

Does anything get uploaded to a server?

No. Metadata queries go from your browser straight to Twitch's public GraphQL endpoint, and the media is relayed through a stateless Cloudflare Worker only because browsers block cross-origin requests to Twitch's segment hosts. Nothing is stored server-side: the segments are assembled in your browser and written to your disk, which is also why closing the tab ends the download. The "recent" list is up to eight filenames in your own local storage. For clarity, the site does carry standard, clearly-marked ads — but no pop-ups and no fake download buttons.

Ready to download? Use the free Twitch Video Downloader.

More questions? See the full Twitch downloader FAQ

Download your Twitch video now

Paste a Twitch link and save it as MP4 in seconds — free, no account.

Open the Twitch Downloader

Related guides

How to Download Twitch VODs on Mac and Windows (Free, In Your Browser)

To download a Twitch VOD on Mac or Windows, open the Twitch Downloader web app in any desktop browser, paste the Twitch VOD, clip, or stream URL, choose your quality, and save the MP4 to your computer. It runs entirely in the browser, so there is nothing to install on either operating system.

How to Download Twitch Highlights as MP4 (Free, Online)

To download a Twitch highlight, copy its URL (twitch.tv/videos/ID), paste it into a browser-based Twitch highlight downloader, choose a quality, and save the MP4. Highlights are creator-made clips that sit outside the VOD retention clock, so the link stays valid and you can download it anytime.

← Back to the Twitch Downloader