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.
Quick Navigation
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:
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.
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.
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.
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.
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:
- Open the video page and press F12
- Go to the Network tab
- Filter by
m3u8or.ts - Find the playlist request, right-click, and select Copy > Copy link address
- 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
- Open the page with the video
- Press F12 → Network tab
- In the filter box, type
m3u8 - Refresh the page and look for requests ending in .m3u8
- 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 →