How to Download Twitch VODs on Mac and Windows (Free, In Your Browser)
Updated: 2026-06-29 · Written by the vodfetch founder
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.
Can you download Twitch VODs on both Mac and Windows?
Yes. The Twitch Downloader is a browser-based web app, so the exact same steps work on macOS and Windows with no software to install. If you can open a Twitch page, you can download from it.
It runs in any modern desktop browser, including Chrome, Edge, Firefox, and Safari. Because all the work happens inside your browser, you do not need a separate Twitch downloader PC program, a Mac app, or a command-line tool. Open the page, paste a link, and save the file.
The same approach works for VODs (past broadcasts), Clips, and live streams, so you can save Twitch content on your computer whether it is on-demand or currently airing.
How to download a Twitch VOD on Mac
On a Mac, copy the VOD URL from Twitch, open the Twitch Downloader web app in Safari, Chrome, Edge, or Firefox, and paste the link. Pick the resolution you want and start the download. The video saves as a standard MP4 that plays in QuickTime, the Photos app, or any player.
To download a Twitch VOD on Mac, you do not need to grant any special permissions or install an extension. The web app handles the whole process in the browser tab.
If you use Chrome or Edge on your Mac, you also get a streaming-to-disk advantage for very large VODs (see the section below).
How to download a Twitch video on Windows
The Windows steps are identical. Copy the Twitch link, open the Twitch Downloader web app, paste the URL, choose a quality, and click download. The MP4 lands in your Downloads folder unless you have set Windows to ask where to save each file.
To download a Twitch video on Windows, Chromium-based browsers like Chrome and Edge are the smoothest choice because they can write long broadcasts straight to disk instead of holding the whole file in memory.
Firefox works too and is a solid fallback if you prefer it as your default browser on Windows.
Where do downloaded Twitch files go on your computer?
By default, your browser sends the file to its standard download location: the Downloads folder on both Mac (under your user account) and Windows. You can find it instantly by opening the browser's download list, usually with Cmd+Shift+J on Mac or Ctrl+J on Windows.
If your browser is set to prompt for a save location, you will see a Save dialog and can choose any folder, an external drive, or a cloud-synced folder before the download starts.
Saved Twitch downloads are regular MP4 files, so you can move, rename, back up, or import them into a video editor like you would any other video.
Downloading large VODs and long live streams
Multi-hour Twitch broadcasts can be several gigabytes. In Chromium browsers (Chrome and Edge), the Twitch Downloader can stream very large VODs straight to disk as they download, which keeps memory use low and lets you grab full-length past broadcasts reliably.
For live streams, you can start saving the broadcast on your computer while it is still going. The web app captures the stream into an MP4 the same way it handles a finished VOD.
Tip: keep the browser tab open and your Mac or PC awake until the download finishes, since closing the tab cancels an in-progress save.
Is it OK to download Twitch VODs?
Download responsibly. Saving your own VODs, clips, and streams for backups, editing, or re-uploading is a common and reasonable use, and many people save other creators' content for personal, offline viewing.
Respect Twitch's Terms of Service and the original creator's rights. Get permission before redistributing, monetizing, or re-publishing someone else's content, and always credit the source where appropriate.
When in doubt, keep downloads for personal use only. The web app gives you the file; using it ethically is up to you.
What actually changes between Chrome, Edge, Safari and Firefox
The real difference on Mac and Windows is not the operating system, it is which browser you open, and it comes down to a single API: showSaveFilePicker, part of the File System Access API. Chrome and Edge expose it on both macOS and Windows. Safari and Firefox do not. When it is available, the app opens the system save dialog before the first byte is fetched and writes each segment straight into the file you chose. When it is not, every segment is held in memory and handed to the browser as one finished file at the end.
That has a consequence people find confusing on Chrome and Edge: your video will not appear in the browser's download list. Cmd+Shift+J or Ctrl+J will not show it, because the browser never performed a download; the page wrote the file itself into the folder you picked. Look there, not in Downloads. If you press Escape or Cancel at that save dialog the job ends with "Cancelled", and if the picker fails for any other reason the log prints "Could not stream to disk — buffering in memory" and quietly falls back to the memory route.
On Safari and Firefox, buffering means RAM, and the app warns you first. If a VOD's estimated size passes roughly 700 MB it asks you to confirm, stating that your browser will buffer it in memory and suggesting Chrome or Edge, or a trimmed section. That is a prompt, not a ceiling: accept it and the download proceeds. Chrome and Edge users never see this particular prompt because they stream to disk. Since Safari is the default on a Mac, this is the most common first surprise there.
Clips are the exception in every browser. A clip is fetched in one piece and handed to the browser as an ordinary download, so it does land in your Downloads folder and does show up in the download list, on Safari and Chrome alike. Neither the save dialog nor the memory warning applies to it. Everything above is specific to VODs and live recordings, which are assembled from hundreds of separate segments.
MP4, TS, and when the Format switch is ignored
The Format switch starts on MP4 and only ever applies to finished VODs. The condition in the code is useMux = (!isLive) && (curFmt === 'mp4') && !!window.muxjs, and each of its three terms is a case worth knowing. A live recording is always written as .ts, because the MP4 converter is never loaded for a live capture. A clip always saves as .mp4 through a separate code path that ignores the switch entirely. And the converter is a script fetched on demand, so if it fails to load you get .ts even with MP4 selected. Choosing an audio-only quality hides the switch altogether and produces .m4a, or .aac if the converter did not load. Nothing here ever produces an .mp3.
When a file ends in .ts or .aac the log adds "Plays in VLC; for MP4 choose Format → MP4." Take that literally: QuickTime Player on macOS and the stock Windows media player will not open an MPEG transport stream, while VLC opens it on either system. If you need MP4 afterwards, remux rather than re-encode: ffmpeg -i input.ts -c copy output.mp4 finishes in seconds and touches neither the video nor the audio. The command is identical on macOS and Windows apart from the paths.
MP4 conversion runs inside the tab and the converted output accumulates in memory until the conversion finishes, which is why streaming to disk does not rescue it even in Chrome. Above roughly 1.5 GB estimated, the app asks you to confirm and points you at TS or a trimmed section instead. For a long broadcast at source quality that estimate runs to many gigabytes and MP4 is a poor bet on either OS. If the converter breaks part-way you get "MP4 conversion failed — choose Format → TS and retry.", or "MP4 converter failed to start — choose Format → TS." if it never initialised.
Long broadcasts: a VOD download is all or nothing
Settle this before you start a multi-hour save: a VOD download cannot be paused or resumed, and it has no Stop button — Stop only appears while a live stream is being recorded. The file you chose in the save dialog is committed when the job closes it, and that happens only on completion. So if a segment fails part-way, or you close the tab, the file that was created sits at zero bytes and the work is gone; on Safari or Firefox, where it was buffering in memory, nothing is saved at all. The practical answer is trimming: take a six-hour broadcast in two or three passes, so each finished piece is safe on disk before the next one starts.
All of the work happens in that one tab, so the machine has to stay awake for it to keep making progress. On macOS, running caffeinate -i in Terminal for the duration prevents idle sleep, though closing the lid still sleeps the Mac unless an external display is attached. On Windows, raise or disable the sleep timer under Settings, System, Power. Note that the screen timeout and the sleep timer are separate settings: keeping the display on does not keep the machine awake.
Ordinary network noise is already absorbed. Each range request — 32 MB at a time through the media proxy — gets up to four attempts, with the pause between them growing from 300 ms to 1.2 seconds, before the job gives up with "Segment failed". Segments are fetched six at a time rather than one after another, so a single slow segment does not stall the queue. A live recording re-reads the playlist on the stream's own segment interval and only concludes "Stream ended or unreachable." after eight consecutive polls return nothing new, so a brief blip will not end a recording.
Live capture is the one job with a hard limit: after three hours it stops itself, logs that it did so, and tells you to start it again for another three hours. Plan for the seams — a seven-hour marathon is three files, not one, and how much you miss depends on how quickly you restart. Because live output is always TS, the parts join without re-encoding: ffmpeg -i "concat:part1.ts|part2.ts|part3.ts" -c copy full.mp4. Pressing Stop on a live recording is safe, unlike an interrupted VOD, because Stop closes the file properly and what you have already captured is kept.
What each error message actually means
"VOD unavailable (deleted, private or sub-only)" means Twitch refused to issue a playback token: the past broadcast has aged out (7 days by default, 14 for Affiliates, 60 for Partners (and for Prime or Turbo channels)), was deleted by the streamer, or is subscriber-only. There is no login step in this app and no user token, which is exactly why subscriber-only content cannot be fetched at all. "Usher 403 (sub-only/expired)" is the same wall one step further along, where the token was issued but the playlist request was refused.
"Enter a Twitch URL" means the box was empty. "Invalid URL" and "Unrecognized Twitch URL" both come from the parser, before anything touches the network; the second means the link parsed but carried no usable path. The input takes more than a full VOD link: a clips.twitch.tv slug, a twitch.tv/<channel>/clip/<slug> link, a bare numeric video ID with or without a leading v, or just a channel name all work. If you copied a link out of a chat client that appended tracking text, paste the plain twitch.tv address instead. "No qualities available" means the master playlist came back with nothing usable and is worth one retry, while "Playlist HTTP 403" or "GraphQL HTTP 500" point at the connection path rather than at the video itself.
One message you will effectively never see is "Channel offline or not found". Paste a channel name whose stream is not live and, instead of an error, the app falls back to browsing that channel: its 24 most recent past broadcasts with a load-more button, plus its top clips filtered by today, this week, this month or all time. Archives approaching Twitch's retention cut-off are badged with the days they have left, which is the quickest way to see what is about to disappear. Only a channel name that does not exist at all reports a failure.
"No segments in range" is a trimming problem, but not the obvious one: if the end time is at or before the start time the app silently resets the end to the full length rather than erroring, so the message really means the start time you typed is at or past the end of the VOD. Trimming also keeps whole segments, and the cut expands outward to the nearest segment boundary at both ends, so expect a second or two extra on each side; do the rough cut here to keep the file small and trim precisely in your editor afterwards. The page reads its own query string too: open it with ?url=<twitch link>&t=1h02m03s and the box is pre-filled with a 60-second trim window opening at that timestamp, and &go=1 starts the analysis without a click.
File names, size estimates, and the limits nothing works around
Leave the filename box empty and the name is built for you from the broadcaster, the date, the title and the quality label, joined with underscores; the generated name appears as placeholder text in the box, so you can read it before you start. Whatever ends up there, yours or the generated one, is sanitised the same way: backslash, forward slash, colon, asterisk, question mark, double quote, angle brackets and pipe all become underscores, runs of whitespace collapse to single spaces, and the name is cut to 120 characters before the extension is appended. That is precisely the Windows-reserved character set, so a file named on a Mac stays valid when it later lands on a Windows drive or a shared network folder.
The size shown beside a quality is an estimate, not a measurement: it is the bitrate the playlist advertises multiplied by the duration you have selected, so it moves as you change the trim range. Clips and live streams show no estimate at all. The quality list itself is sorted with source first, marked with a star, then by descending bitrate, which puts audio-only at the bottom, and an entry only carries a Mbit/s figure when the master playlist reports one.
Several limits belong to Twitch rather than to any downloader. Subscriber-only VODs need an account token and there is no sign-in here. Some streams gate quality above 720p60 behind an authenticated token, so the list can top out below what the Twitch player showed you, whatever tool you use. Sections muted for copyrighted music are muted in the stream Twitch actually serves, so every downloader gets the muted audio.
What a web page does give you on both systems: nothing is installed, so there is no Gatekeeper warning to click past on macOS, no SmartScreen prompt on Windows, and nothing to uninstall afterwards. Media is relayed through a stateless proxy purely to satisfy the browser's CORS rules; the file is assembled in your browser, not on a server. The only thing kept between visits is a list of the last eight file names in your browser's local storage — the names, never the files. The page carries standard, clearly marked ads, with no pop-ups and no fake download buttons.
How to download a Twitch video
- 1
Copy the Twitch link
On Twitch, open the VOD, clip, or live stream you want and copy its URL from the address bar (or use the Share button to copy the link).
- 2
Open the Twitch Downloader web app
In any desktop browser on your Mac or Windows PC (Chrome, Edge, Firefox, or Safari), go to the Twitch Downloader web app. Nothing to install.
- 3
Paste the URL
Paste the copied Twitch link into the input field. The web app detects whether it is a VOD, clip, or live stream and loads the available options.
- 4
Choose your quality
Select the resolution you want, such as 1080p, 720p, or source quality. Higher quality means a larger MP4 file.
- 5
Start the download
Click download. The video is saved as an MP4. In Chrome or Edge, very large VODs stream straight to disk so long broadcasts download reliably.
- 6
Find your file
Open your browser's downloads list (Cmd+Shift+J on Mac, Ctrl+J on Windows). The MP4 is in your Downloads folder, or wherever you chose to save it.
Frequently asked questions
Do I need to install anything to download Twitch VODs on Mac or Windows?
No. The Twitch Downloader is a web app that runs entirely in your browser, so there is no software, app, or extension to install on either macOS or Windows. Just open the page, paste a Twitch link, and save the MP4.
Which browser is best for downloading large Twitch VODs?
Chromium-based browsers like Chrome and Edge are best for long, multi-gigabyte VODs because they can stream the video straight to disk while downloading, keeping memory use low. Firefox and Safari also work for standard downloads.
Where are my downloaded Twitch videos saved?
They go to your browser's default download location, which is the Downloads folder on both Mac and Windows. If your browser is set to ask where to save files, you can pick any folder, external drive, or cloud folder before the download begins.
Can I download a Twitch live stream while it is still going?
Yes. Paste the live stream URL into the web app and start the download to capture the broadcast into an MP4 on your computer. Keep the browser tab open until it finishes, since closing it cancels the save.
My file saved as .ts instead of .mp4. How do I play it on Mac or Windows?
You get .ts whenever the MP4 converter did not run: always for a live recording, whenever Format is set to TS, and in the rare case that the converter script fails to load. VLC plays the file directly on both macOS and Windows, while QuickTime and the stock Windows player will not open a transport stream. To convert without re-encoding, run ffmpeg -i input.ts -c copy output.mp4, which takes seconds and loses no quality. The app flags this itself with "Plays in VLC; for MP4 choose Format → MP4."
The download finished but it is not in my browser's download list. Where did it go?
You are almost certainly on Chrome or Edge, where the app writes the file directly through the system save dialog instead of performing a browser download. Nothing appears in Cmd+Shift+J or Ctrl+J because no download took place. The file is in whatever folder you selected in that dialog when the job started. Clips behave differently and do land in your Downloads folder in every browser, because they are fetched in one piece rather than assembled from segments.
Why did a confirmation pop-up appear before my download even started?
There are two, and both are prompts rather than hard limits. If a VOD is estimated above roughly 1.5 GB, MP4 conversion warns that it buffers in memory and may fail, and suggests TS or a trimmed section. Separately, on a browser without the File System Access API, such as Safari or Firefox, a VOD estimated above roughly 700 MB warns that it will be buffered in memory. Accept either one and the download continues normally. Neither appears for a clip or a live stream, because no size estimate is calculated for those.
Is there a size or length limit on Mac and Windows?
For a finished VOD there is no built-in cap; the practical ceiling is free disk space in Chrome or Edge, and available RAM in Safari or Firefox, since those buffer the whole file. MP4 conversion is the tighter constraint, because the converted output is held in memory regardless of browser. Live recording is the one hard limit: it stops itself after three hours, and you can start it again immediately for another three.
Will the download survive my Mac closing the lid or my PC going to sleep?
No. The download runs inside the browser tab, so the tab has to stay open and the machine has to stay awake. On macOS, caffeinate -i in Terminal prevents idle sleep, but closing the lid still sleeps the Mac unless an external display is connected. On Windows, adjust the sleep timer under Settings, System, Power; the screen timeout is a separate setting. There is no resume: an interrupted VOD leaves the file it created empty, so split long broadcasts into trimmed parts. Only a live recording has a Stop button, and pressing it closes the file cleanly.
Why does the quality list stop below what the Twitch player showed me?
The list is built from the master playlist Twitch returns, sorted with source first and then by descending bitrate, so audio-only sits at the bottom. Some streams only offer quality above 720p60 to an authenticated token, and since this app uses no login there is nothing above that to select. If the request is refused outright you get "Usher 403 (sub-only/expired)" or "No qualities available" rather than a shorter list.
Ready to download? Use the free Twitch Downloader for Mac.
Download your Twitch video now
Paste a Twitch link and save it as MP4 in seconds — free, no account.
Open the Twitch DownloaderRelated guides
How to Download Twitch VODs on iPhone and Android (No App)
To download a Twitch VOD or clip on your phone, open the Twitch Downloader web app in Safari (iPhone) or Chrome (Android), paste the Twitch video link, pick a quality, and tap download. The file saves to your Files app on iOS or your Downloads folder on Android — no app install required.
How to Use a Twitch Downloader: A Beginner's Guide (VODs, Clips, Live & More)
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.
How to Save a Twitch VOD Without OBS (No Install, Browser Only)
You do not need OBS, a desktop app, or any technical setup to save a Twitch VOD. This is the fastest, no-install way: paste the link into a free browser tool and download the past broadcast as an MP4 in seconds — no account, no configuration.
How to Convert a Twitch VOD to MP3: Extract Audio From Any Twitch Stream
To get the audio from a Twitch VOD, paste the link into the browser-based downloader, choose the audio-only quality and click Download. What you get is an .m4a or .aac file — AAC audio copied straight from Twitch, not a re-encoded MP3.
How to Download Twitch Clips on a Mac (No App, No Gatekeeper Prompt)
To download a Twitch clip on a Mac, paste the clip link into vodfetch in Safari, Chrome, Firefox or Arc and save the MP4. Nothing is installed, so there is no .dmg to mount and no Gatekeeper warning to click past, and the file QuickTime opens natively.
The Best Twitch Downloader in 2026: An Honest, Tool-by-Tool Comparison
There's no single ‘best’ Twitch downloader — a quick browser tool, a power-user desktop app, and a scripting CLI all win at different jobs. An honest, feature-by-feature comparison to help you pick the right one, including where vodfetch itself isn't the best fit.