Twitch DownloaderVODs · Clips · Live

How to Convert a Twitch VOD to MP4 in the Best Possible Quality

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

A clear, no-nonsense guide to saving any Twitch VOD as an MP4 in the best possible quality, including what "source" means, the available resolutions, codecs, and rough file sizes.

Why convert a Twitch VOD to MP4?

MP4 is the most universal video format there is. An MP4 file plays on virtually every device and app, Windows, macOS, iOS, Android, smart TVs, and all major editors, without extra plugins or codecs. That makes it the safest format for archiving past broadcasts, clipping highlights, or editing your content offline.

Twitch VODs are streamed in fragmented HLS (a series of .ts segments), which isn't convenient to keep or edit. Converting a Twitch VOD to MP4 stitches those segments into one clean, portable file. With the free Twitch Downloader, you paste a VOD URL, pick a quality, and get a ready-to-use MP4, no software install required.

A quick note on responsible use: download for personal use, like keeping your own VODs or saving content you have permission to use, and always respect Twitch's Terms of Service and the original creator's copyright.

What does "source" quality mean on Twitch?

"Source" is the highest-quality version of a VOD, the original stream exactly as Twitch received it from the broadcaster, with no extra downscaling. For most modern channels this is 1080p60 (1920x1080 at 60 frames per second), which is why you'll often see the top option labeled "Source / 1080p60."

If you want the best Twitch download quality, always choose Source. It preserves the full resolution, frame rate, and bitrate of the broadcast, which matters most for fast-paced gameplay where 60fps keeps motion smooth. Lower options are transcoded copies, useful when you want a smaller file or faster download.

One caveat: source quality depends on what the streamer originally sent. If a channel streamed at 720p, then 720p is the source, and no tool can add detail that was never there.

Which Twitch download quality should you pick?

The Twitch Downloader typically offers the same quality ladder Twitch uses: Source/1080p60, 720p60, 720p, 480p, 360p, 160p, and audio-only. Each step down reduces resolution and bitrate, which shrinks the file but lowers visual detail.

Choose Source/1080p60 for archiving and editing, 720p60 or 720p for a good balance of quality and size, and 480p/360p when you're tight on storage or bandwidth. The 160p option is a tiny, low-detail preview, and audio-only is ideal for podcasts, just chatting segments, or music streams where you only need the sound.

As a rough rule of thumb at typical Twitch bitrates, 1080p60 runs around 0.7 to 1 GB per hour, 720p around 0.4 to 0.6 GB per hour, and audio-only is usually under 100 MB per hour. Actual sizes vary with the stream's bitrate and how busy the on-screen action is.

What codecs are in a Twitch MP4 (H.264 and AAC)?

Twitch VODs use H.264 (AVC) for video and AAC for audio, wrapped in the MP4 container. This combination is the reason MP4 plays everywhere: H.264 and AAC are decoded natively by essentially every browser, phone, TV, and editing program.

Because the Twitch Downloader keeps the original H.264/AAC streams, exporting to MP4 is fast and lossless, it remuxes the segments rather than re-encoding them, so there's no extra quality loss and no long processing wait. The MP4 you get matches the quality you selected, ready to play or import straight into an editor like Premiere, DaVinci Resolve, or CapCut.

MP4 or TS: what the Format switch actually changes

The Format switch sits behind the More options link under the download button, with MP4 preselected. It is a container choice, not a quality choice. Both settings fetch exactly the same bytes from Twitch; MP4 mode passes them through an in-browser transmuxer that rewraps them, while TS mode writes the downloaded segments out one after another. Neither re-encodes, so choosing TS costs you nothing in picture quality. After a TS save the tool says as much itself: "Plays in VLC; for MP4 choose Format → MP4."

There are cases where the switch does nothing at all. It stays visible for clips but is inert: the clip path downloads the single file Twitch already serves and saves it as .mp4 without ever touching the transmuxer. A live recording is always .ts, because the MP4 step is disabled for as long as a stream is still running. And when you select an audio-only quality the Format field hides itself, with audio saving as .m4a in MP4 mode and .aac in TS mode. It is never .mp3. Note that the field only hides, so whichever setting was last active still applies; switch back to a video quality if you need to change it.

If you end up with a .ts and want MP4 afterwards, you do not have to download again. The command ffmpeg -i input.ts -c copy output.mp4 rewraps the same streams in seconds without re-encoding, which is exactly what the in-browser step does. Re-running the download with Format → MP4 works too. The practical reason to want MP4 in the first place is compatibility: VLC and mpv open .ts without complaint, which is why the tool names VLC, while QuickTime and many editors refuse the container outright.

The real limit on a long VOD is memory, not download time

The MP4 path assembles the whole file in memory. Segments are fetched six at a time and pushed into the transmuxer as they arrive, but the output accumulates in an array and nothing is written out until the last batch is in and the final flush runs. That is why the failure case for long archives is memory pressure rather than a slow connection.

The tool tells you the size before you commit. The estimate beside the quality dropdown, shown as "≈ 1.4 GB", is the rendition's declared HLS bandwidth divided by eight, multiplied by the selected duration, so it tracks your trim range as you type. It appears only for VODs whose playlist reports a BANDWIDTH value for the selected rendition. Once that estimate passes 1.5 billion bytes, which the tool displays as 1.4 GB, a confirmation box appears suggesting Format → TS or a shorter section. It is a prompt you can accept, not a hard cap.

A second prompt fires at 700 million bytes, displayed as roughly 668 MB, and only in browsers without the File System Access API, which in practice means Firefox and Safari. Its wording points at the fix: "This download is ~<size> and your browser will buffer it in memory. For large files use Chrome/Edge (streams to disk) or trim a section. Continue?" One thing is worth knowing, though: streaming to disk only helps in TS mode, where each segment is written the moment it arrives. In MP4 mode the transmuxer holds the entire output until the flush, so Chrome's disk streaming cannot lower the peak.

For a six-hour source-quality broadcast, then, the reliable routes are TS in a single pass, or MP4 in trimmed chunks. TS memory use stays flat no matter how long the stream ran, because nothing is held beyond the segment in hand. If you want one MP4 of a very long VOD, take the TS and rewrap it locally afterwards.

What failure looks like, message by message

"MP4 converter failed to start — choose Format → TS." means the transmuxer could not be constructed at all. "MP4 conversion failed — choose Format → TS and retry." means a segment could not be parsed, or the closing flush threw. Both messages name their own fix, and it is the right one: the TS path does no parsing whatsoever, so it succeeds on material the MP4 step chokes on, and you can rewrap the result later without losing anything.

The quiet failure is the one to learn to recognise. The transmuxer is fetched on demand, at the moment a download starts with MP4 selected. If that script request is blocked, whether by an offline moment, an aggressive extension or a filtering network, nothing errors. The tool falls back to TS, hands you a .ts and prints "Plays in VLC; for MP4 choose Format → MP4." If you asked for MP4 and got .ts with no error line, that is what happened. Reload the page and retry.

Failures that happen before any conversion have their own wording. "VOD unavailable (deleted, private or sub-only)" means the playback token request came back empty; there is no login here and no user token, so subscriber-only video is genuinely out of reach. "Usher 403 (sub-only/expired)" and "Usher 404 (offline/not found)" come from the server that hands out the quality list, and "No qualities available" means that list arrived empty. "Playlist HTTP" followed by a status code is the per-quality playlist failing. "Segment failed" means one segment lost all four attempts, spaced 0.3, 0.6, 0.9 and 1.2 seconds apart, which usually clears on a re-run.

One codec caveat that most guides get wrong. The playlist request advertises support for av1, h265 and h264, so what Twitch returns is not guaranteed to be H.264 on every channel. The in-browser remux is built for H.264 video with AAC audio inside MPEG-TS; anything it cannot parse surfaces as "MP4 conversion failed — choose Format → TS and retry." The TS path still saves those bytes correctly, and a desktop tool can handle the rewrap.

Converting one section instead of the whole broadcast

Trim a section appears inside More options for VODs only; clips and live streams do not get it. The From and To fields accept 1:23:45, 12:30, or a plain number of seconds, and the readout beside them shows the selection in the form 12:00 → 18:30 = 6:30. The size estimate recalculates on every keystroke, so you can dial an MP4 down to a target size before starting the download rather than discovering the size afterwards.

Trimming keeps whole segments. Every segment that overlaps your range is included, which means the cut expands outward at both ends: the MP4 begins slightly before your From time and ends slightly after your To time, by up to the length of one segment at each end. That is the price of not re-encoding. Nothing is cut inside a segment, so there is no quality loss and no keyframe hunting, and frame-exact edges remain a job for your editor afterwards.

The range can also be set from the address bar. Open the tool with the video in a url parameter and a timestamp in t, as in /?url=https://www.twitch.tv/videos/123456789&t=1h02m03s, and once the VOD has been analysed the tool opens More options, switches trimming on, sets From to that moment and To to sixty seconds later, capped at the end of the VOD. Add go to have it analyse on load. Note that this reads the tool's own address bar, not the link you paste into the field: a ?t= carried on a pasted Twitch URL is ignored. If a From value lands beyond the length of the VOD, the range collapses and the download stops with "No segments in range".

What lands in the file, and what does not

The default filename, shown as the placeholder in the Filename field, is built from the broadcaster, the publish date as YYYY-MM-DD, the video title and the quality label, joined with underscores. Backslash, slash, colon, asterisk, question mark, double quote, angle brackets and pipe are replaced by underscores, and the whole string is cut to 120 characters. You can override it in More options, with one caveat: the extension is appended by the tool regardless, so typing myvod.mp4 produces myvod.mp4.mp4. Leave the extension off and let the tool add it.

Twitch mutes VOD sections flagged for copyrighted music, and that muting is baked into what Twitch serves. The silence arrives already inside the segments, so it is in your MP4 and no downloader can undo it. Chat is not embedded either: it is a separate plain-text export, one line per message in the form [0:41:12] Name: text, saved as <video id>_chat.txt and offered for VODs only. Chapters are a second text file in the same shape, built from the VOD's game and category changes, and that button appears only when the VOD actually carries any.

Two ceilings on quality that no tool escapes. Source is only ever as good as what the broadcaster sent, and some streams require an authenticated token for anything above 720p60. This tool never logs in, so what you see is what an anonymous request returns; if 720p60 is the top entry for a channel you know broadcasts higher, that is the ceiling rather than a bug. The starred entry at the top of the dropdown is the rendition Twitch names chunked, its unscaled source copy, and everything below it is ordered by descending bitrate, which puts audio-only last. A label only carries a Mbit/s figure when the playlist reported BANDWIDTH for that rendition, and those are exactly the renditions that also get a size estimate.

Finally, the clock. Past broadcasts disappear after 7 days, 14 for Affiliates, and 60 for Partners (and for channels with Prime or Turbo), while clips do not expire at all and highlights stay off that timer — though since 19 April 2025 they share a 100-hour storage cap with uploads. Paste a channel name instead of a video link and the tool lists that channel's recent past broadcasts and flags the ones near the edge: it counts down from 60 days when Twitch reports the channel as a Partner, from 14 days for an Affiliate and from 7 otherwise, and shows the badge only once fewer than 14 days remain. Treat it as an estimate, since it cannot see whether the broadcaster has Prime or Turbo.

How to download a Twitch video

  1. 1

    Copy the Twitch VOD link

    On Twitch, open the past broadcast or highlight you want and copy its URL from the address bar (it looks like twitch.tv/videos/123456789).

  2. 2

    Paste the URL into the Twitch Downloader

    Open the free Twitch Downloader and paste the VOD link into the input field, then let it load the video details.

  3. 3

    Choose your quality

    Select Source/1080p60 for the best possible quality, or pick a lower option like 720p or audio-only to save space.

  4. 4

    Start the conversion to MP4

    Click Download to fetch the VOD segments and combine them into a single MP4 file using the H.264/AAC streams.

  5. 5

    Save and play your MP4

    Once it finishes, save the MP4 to your device, it's ready to play anywhere or drop straight into your video editor.

Frequently asked questions

What is the best quality to download a Twitch VOD?

Choose the Source option, which is the original, un-downscaled stream, usually 1080p60. It preserves the full resolution, 60fps frame rate, and bitrate of the broadcast, making it the best choice for archiving and editing. Source quality is capped at whatever the streamer originally broadcast.

Can I convert a Twitch VOD to MP4 for free?

Yes. The free Twitch Downloader lets you paste a VOD URL, pick a quality, and save it as an MP4 with no software install. Because Twitch VODs already use H.264 video and AAC audio, the file is assembled quickly without re-encoding.

How big is a downloaded Twitch VOD in MP4?

File size depends on quality and length. As a rough guide, 1080p60 is about 0.7 to 1 GB per hour, 720p is around 0.4 to 0.6 GB per hour, and audio-only is usually under 100 MB per hour. Higher bitrates and busier on-screen action increase the size.

Will an MP4 from a Twitch VOD play on any device?

Yes. MP4 with H.264 video and AAC audio is supported natively by virtually every device and app, including Windows, macOS, iOS, Android, smart TVs, web browsers, and editors like Premiere and DaVinci Resolve, so no extra codecs are needed.

I selected MP4 but the download saved as .ts. What happened?

The MP4 transmuxer is fetched on demand, at the moment a download starts with MP4 selected. If that script cannot load, because you were briefly offline or an extension or network filter blocked it, the tool does not raise an error. It falls back to the TS container and prints "Plays in VLC; for MP4 choose Format → MP4." Reload the page and try again. The .ts you already have is fine: it holds the same data and can be rewrapped locally with ffmpeg -i input.ts -c copy output.mp4.

When should I deliberately choose TS instead of MP4?

Choose TS for very long broadcasts, because the TS path writes each segment straight out and keeps memory flat, while the MP4 path holds the finished file until the end. Choose it after an MP4 conversion error, since the TS path does no parsing at all and will save material the transmuxer rejects. Choose it if you only need to watch the file in VLC or mpv. Quality is identical either way: the switch changes the container, not the video.

How long a VOD can I convert to MP4 in a single pass?

There is no fixed duration limit. The constraint is how much of the finished file your browser can hold, because the MP4 path keeps the output in memory until the final flush. The tool raises its own warning once the size estimate passes 1.5 billion bytes, displayed as 1.4 GB, and suggests Format → TS or a shorter trim. At the 0.7 to 1 GB per hour that 1080p60 typically runs, that lands somewhere between one and two hours of broadcast. You can accept the prompt and continue; if it fails, the fix is TS in one pass, or MP4 in trimmed sections.

Why does the progress bar stop at 97 percent at the end?

In MP4 mode the bar tracks segment downloads only as far as 92 percent. When the last segment is in, the log prints "Converting to MP4…", the bar is set to 97 percent, and the transmuxer flushes the whole file in one operation. That step reports no progress of its own, so a long VOD can sit at 97 percent for a while before the file is written out and the bar reaches 100. In TS mode there is no such step and the bar runs to 100 with the last segment.

Why is my trimmed MP4 a few seconds longer than the range I entered?

Because trimming operates on whole segments. Every segment that overlaps your From and To range is kept, so the cut expands outward at both ends by up to one segment length. Nothing is cut inside a segment, which is exactly what keeps the export lossless and instant. If you need precise in and out points, trim generously here and finish the edit in your video editor.

Can I record a live stream directly to MP4?

No. While a stream is still running the MP4 step is disabled, so a live recording always saves as .ts, and the tool prints "Recording live → TS… press Stop to finish". Recording also stops itself after three hours, and you can simply start it again for another three. Convert the resulting .ts afterwards with a desktop tool, or wait for the past broadcast to appear and download that as MP4 instead.

Ready to download? Use the free Twitch VOD Downloader.

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 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.

← Back to the Twitch Downloader