How to Download M3U8 Videos Free (5 Methods) — 2026
Why You Cannot “Save Video As” on M3U8
An M3U8 file is not a single video. It is an HLS playlist that lists dozens or hundreds of small segment files (.ts or fragmented MP4). Right-clicking the playlist only saves a tiny text file. A real download must: read the playlist, choose a quality level if a master playlist exists, fetch every segment, decrypt AES-128 when keys are available, and merge everything into one playable file.
That is what an M3U8/HLS downloader does. This guide covers five practical methods, when to use each, and how to recover when a job fails. Only download streams you own or have explicit permission to save — see our legal guide.
Before You Start: Get a Valid M3U8 URL
Every method needs the stream’s .m3u8 URL:
- DevTools: open the page playing the video → F12 → Network → filter
m3u8→ reload → copy the playlist request URL (prefer the media playlist for a single quality, or the master if you want choices). - Provider panel: CDN / encoder dashboards often show a playback URL you can reuse for download if policy allows.
- Shared link: someone sends a full HTTPS .m3u8 — watch for expiring signatures.
Quick sanity check: open the same URL in our online player. If it will not play, download will usually fail for the same reason (CORS, 403, expired token). Fix playback first.
Method 1: Online M3U8 Downloader (Easiest)
Best default for most people — no install, no terminal:
- Open the free online M3U8 downloader.
- Paste the M3U8 URL.
- Start download — the tool fetches segments (often multi-threaded), retries failures, merges them, and saves a file to your device.
- If you need a specific container, run the result through the M3U8 to MP4 converter or choose conversion after download when available.
Pros: zero install, works on locked-down PCs and phones, private client-side workflow on tools that never upload your media to a server for processing.
Cons: browser tab must stay open; very long live captures are awkward; strict CORS can block browser fetch the same way playback is blocked.
Method 2: FFmpeg (Most Powerful)
If you can use a command line, FFmpeg downloads and remuxes in one step:
ffmpeg -i "https://example.com/stream.m3u8" -c copy output.mp4
-c copy avoids re-encoding when codecs fit MP4 — fast and quality-preserving. For stubborn streams add protocol options, headers, or map specific audio/subtitle tracks. FFmpeg shines for scripts, servers, and CI jobs, but you must install it and learn flags.
Walkthrough: FFmpeg M3U8 guide and download M3U8 with FFmpeg.
Method 3: yt-dlp (Great for Automation)
yt-dlp is a popular CLI that handles many playlist types including raw M3U8:
yt-dlp "https://example.com/stream.m3u8"
Useful extras: format selection, output templates, retries, and site-specific extractors when the “real” URL is buried behind a page. Like FFmpeg, it needs installation and a terminal. Ideal when you batch dozens of authorized URLs overnight.
Method 4: Browser Extensions
Video-capture extensions for Chrome/Firefox can detect HLS on a page you are already watching and offer a download button. They are convenient for casual capture of a stream you can legally save.
Watch out for: broad site permissions, opaque cloud “helpers,” watermarks, and limited control over quality or AES keys. Prefer reputable extensions and review permissions carefully. For a transparent workflow, Method 1 or 2 is usually safer.
Method 5: Mobile Browsers & Scripts
Mobile: open the online downloader in mobile Chrome/Safari — no special app required for many VOD playlists. Keep the screen on; mobile OS power saving can pause long jobs.
Scripts: developers sometimes chain Python (requests) + FFmpeg for batch jobs, or use wget/curl only when they already understand segment lists. Niche compared to Methods 1–3 — see Python M3U8 download.
Which Method Should You Use?
| You want… | Use |
|---|---|
| Easiest path, no install | Method 1 — online downloader |
| Scripts / servers / full control | FFmpeg or yt-dlp |
| Grab while casually browsing | Extension (with caution) |
| Phone download of a short VOD | Online downloader in mobile browser |
| Browser blocked by CORS | Desktop FFmpeg / yt-dlp / VLC-style tools |
Tool shopping: best free M3U8 downloaders.
Common Download Failures (and Fixes)
- 403 / 401 — token or cookie required; refresh the URL from the original page.
- CORS errors in browser tools — origin blocks cross-site fetch; switch to FFmpeg or fix server headers. Guide: CORS fix.
- Partial file / stuck at 99% — one segment failed; use a tool with retry, or re-run FFmpeg.
- Live stream incomplete — live playlists only expose a sliding window; record while live or use a provider VOD copy later.
- Plays but download empty — you saved the playlist text, not segments; use a real downloader.
Deep dive: M3U8 download failed.
Frequently Asked Questions
What is the easiest way to download an M3U8 video?
Paste the URL into an online downloader such as our M3U8 downloader and start the job.
Can FFmpeg download M3U8?
Yes: ffmpeg -i url -c copy output.mp4.
Will I get an MP4?
Often yes with remux; otherwise convert with the MP4 converter.
Is downloading M3U8 legal?
Only when you have rights to the content. Tools are dual-use; your use case must be lawful.
Can I download DRM streams?
No — Widevine/FairPlay protected catalogs are not meant for generic downloaders.