M3U8 Tools

How to Download M3U8 Videos: Complete Step-by-Step Guide

Learn how to download M3U8 streaming videos using our free online tool. This guide covers everything from finding the M3U8 URL to bypassing CORS restrictions and saving the final video file.

Method 1: Using Our Online M3U8 Downloader (Recommended)

The easiest way to download M3U8 videos is using our free online tool. No software installation required. Here's how:

1

Find the M3U8 URL

Open the video page, press F12 to open DevTools, go to the Network tab, filter for "m3u8", and copy the playlist URL. See the section below for detailed instructions.

2

Paste the URL in Our Tool

Go to our homepage, paste the M3U8 URL in the input field, and click "Load". The player will start streaming the video immediately.

3

Configure Proxy Settings (If Needed)

If the video doesn't load due to CORS errors, enable the CORS proxy and set the correct Referer/Origin headers to match the source website.

4

Switch to Downloader Tab & Start Download

Click the "Downloader" tab, select your preferred export format (TS or MP4), adjust concurrency if needed, click "Analyze M3U8", then "Start Download". The browser will download all segments in parallel.

5

Save the Merged Video

Once all segments are downloaded, click "Save as .ts" (or .mp4). The merged file will be automatically downloaded to your computer through the browser.

Method 2: Using Browser Developer Tools

For advanced users, you can extract and download M3U8 content directly from browser DevTools:

  1. Open the video page and press F12
  2. Go to the Network tab
  3. Filter by m3u8 or .ts
  4. Find the playlist request, right-click, and select Copy > Copy link address
  5. Paste the URL into our tool or use FFmpeg to download

Note: Many modern streaming sites use DRM (Widevine/FairPlay) to encrypt their content. Our tool and standard download methods cannot bypass DRM protection. This tool is intended for unprotected or self-owned content.

Method 3: Command Line with FFmpeg

If you prefer the command line, FFmpeg is a powerful tool for downloading and converting M3U8 streams:

# Download and convert to MP4
ffmpeg -i "https://example.com/stream.m3u8" -c copy output.mp4

# Download with custom headers (for CORS/hotlink bypass)
ffmpeg -headers "Referer: https://example.com/" \
       -i "https://example.com/stream.m3u8" \
       -c copy output.mp4

# Download with User-Agent
ffmpeg -headers "User-Agent: Mozilla/5.0" \
       -i "https://example.com/stream.m3u8" \
       -c copy output.mp4

-c copy performs a stream copy (no re-encoding), which is fast and lossless. Use -c:v libx264 if you need to re-encode.

How to Find the M3U8 URL on Any Website

Finding the M3U8 playlist URL is often the hardest part. Here are the most effective methods:

Chrome/Edge DevTools Network Tab

  1. Open the page with the video
  2. Press F12 → Network tab
  3. In the filter box, type m3u8
  4. Refresh the page and look for requests ending in .m3u8
  5. Right-click the request → Copy → Copy link address

View Page Source

Right-click the page → View Page Source, then search (Ctrl+F) for .m3u8. Some sites embed the URL directly in JavaScript or HTML.

Browser Extensions

Extensions like "The Stream Detector" (Firefox/Chrome) or "Video DownloadHelper" can automatically detect and extract M3U8 URLs from web pages.

Solving CORS and Hotlink Protection Issues

Many video servers block cross-origin requests to prevent hotlinking. When you try to fetch an M3U8 URL from a different domain, the browser blocks the request with a CORS error. Here's how to solve it:

Solution: Cloudflare Worker Proxy

Our tool integrates a Cloudflare Worker proxy that acts as a middleman. Instead of your browser directly requesting the video server, it requests our Worker, which then fetches the content and adds proper CORS headers. The Worker can also rewrite Referer and User-Agent headers to match the source site.

To use this: enable the CORS Proxy toggle in our tool, enter your Worker URL, and optionally set the Referer to the source website's domain.

Troubleshooting Common Problems

“Failed to load M3U8” or network error

This usually means a CORS issue. Enable the CORS proxy and try again. If the URL requires authentication or has expired tokens, you may need to obtain a fresh URL.

Video plays but download fails

Some servers use different CORS policies for .ts segments than for the .m3u8 playlist. Enable the CORS proxy which will handle both the playlist and all TS segments.

Download is very slow

Increase the concurrency setting (try 8-16 threads). Note that some servers throttle connections. Using the proxy may also add latency but resolves CORS issues.

Some segments failed to download

This could indicate expired segment URLs or server-side rate limiting. Try lowering concurrency or refreshing the M3U8 URL. Live streams may have segments that expire quickly.

Video has no sound after download

Some HLS streams separate audio and video into different playlists. Check if the Master playlist contains separate audio tracks. Our tool currently downloads the first video stream; audio-only streams may need to be downloaded separately.

Start Downloading M3U8 Videos Now

Free, fast, and no registration required. All processing happens in your browser.

Try M3U8 Downloader →