100% free - no signup
Updated 2026-05-10

M3U8 to MP4: Free Online Pre-flight Inspector

Quick answer

To convert an m3u8 playlist to MP4 in 2026, you cannot do it purely client-side in a browser due to CORS restrictions on streaming CDNs. This tool inspects the m3u8 manifest (variants, encryption status, duration) for free, then suggests the right method to actually download: the Vidora Chrome extension for one-click muxing (handles AES-128), ffmpeg with -c copy for CLI users, or yt-dlp for power users. We also show you the exact command for each.

Note: fetching the manifest is subject to CORS. Most CDNs block cross-origin requests. If the fetch fails, this tool still generates the ffmpeg and yt-dlp commands for you to run locally.

Runs entirely in your browser. No URL or manifest data is sent to any server.

How to actually download this m3u8 as MP4

Three methods ranked by ease of use. The right one depends on whether your stream is encrypted, authenticated, or public.

Vidora Chrome Extension Recommended

One click. Works on authenticated streams, AES-128 encrypted HLS, and separate audio renditions. No CORS issues because it runs inside your browser tab.

Install Vidora - $9.99 lifetime → 5 free downloads included
ffmpeg (CLI) CLI

Free and unlimited. Handles AES-128 automatically. Use -c copy to remux without re-encoding (fast, lossless quality).

ffmpeg command
ffmpeg -i "YOUR_M3U8_URL" -c copy output.mp4

After inspecting above, the command updates with your URL automatically.

yt-dlp (CLI) CLI

Smarter extraction with site-specific handlers. Best for streams where cookies or Referer headers are required.

yt-dlp command
yt-dlp "YOUR_M3U8_URL" -o output.mp4

After inspecting above, the command updates with your URL automatically.

Frequently asked questions

Can I really convert M3U8 to MP4 online for free?
You can inspect any m3u8 playlist in your browser for free. This tool shows you variants, encryption status, duration, and gives you the exact ffmpeg or yt-dlp command. A fully client-side conversion is not possible because browsers cannot fetch segments from most CDNs due to CORS restrictions. For one-click download to MP4, the Vidora Chrome extension runs inside your browser context and bypasses CORS entirely.
Why does the tool show a CORS error when I paste my m3u8 URL?
Most streaming CDNs set strict CORS headers that block cross-origin requests from browser tools. The manifest is served only to requests originating from the video player's domain. This is a browser security policy, not a bug in this tool. Even when CORS blocks the fetch, this tool still generates the ffmpeg and yt-dlp commands for you to run locally with your URL. The Vidora extension bypasses CORS because it runs as part of the original page's browsing context.
What does AES-128 encryption mean for my download?
AES-128 means each video segment is encrypted with a 128-bit key. The player fetches the decryption key from a separate URL listed in the EXT-X-KEY tag. ffmpeg and yt-dlp both handle AES-128 automatically if they can reach the key URL. The Vidora extension also handles AES-128 decryption automatically during muxing. Generic online converters that process files on a remote server usually fail on AES-128 streams because they have no access to your session cookies, which the key server often requires. See our encrypted m3u8 download guide for a step-by-step breakdown.
What is the difference between a master playlist and a media playlist?
A master playlist contains EXT-X-STREAM-INF tags that list multiple quality variants, each pointing to a separate media playlist. A media playlist contains the actual segment URLs (EXTINF tags) for a single quality level. If you paste a master playlist URL, this tool lists all variants with resolutions, bandwidth, and codecs. If you paste a media playlist URL directly, it shows the segment count and estimated duration for that specific quality track.
What is the ffmpeg command to convert m3u8 to MP4?
The basic command is: ffmpeg -i "YOUR_M3U8_URL" -c copy output.mp4. The -c copy flag remuxes without re-encoding, which is fast and lossless. If the stream is AES-128 encrypted and the key server requires cookies, add -headers "Cookie: your_cookie_value" before the -i flag. If audio and video are in separate playlists (external audio rendition detected by this tool), specify both with two -i flags. Inspect your m3u8 above and this tool generates the exact command for your URL.

Vidora Engineering

The Vidora team builds and maintains the Vidora Chrome extension for HLS, DASH, and MP4 video download. Based in Albuquerque, NM. We write about video streaming protocols, browser extension architecture, and practical ffmpeg recipes.