N_m3u8DL-RE Complete Guide: The Most Powerful M3U8 Downloader (2026)

If you've hit limitations with FFmpeg for M3U8 downloading, or need more automation and control, N_m3u8DL-RE is arguably the most powerful open-source option available.
It automatically handles Master Playlist quality selection, AES-128 decryption, concurrent downloading, custom HTTP headers, and even partial MPD (DASH) support. This guide covers everything from installation to advanced usage.
What Is N_m3u8DL-RE?
N_m3u8DL-RE (GitHub: nilaoda/N_m3u8DL-RE) is an open-source command-line tool maintained by developer nilaoda, built on .NET, with cross-platform support for Windows / macOS / Linux.
It is the successor to m3u8DL-CLI (Windows-only); the -RE (Remake) version is a rewrite with significantly improved performance and compatibility.
Key Features
- ✅ Concurrent multi-threaded downloads: Downloads multiple segments simultaneously — far faster than FFmpeg
- ✅ Automatic quality selection: Parses Master Playlist and selects highest resolution automatically
- ✅ AES-128 auto-decryption: Built-in decryption logic, no extra tools needed
- ✅ Custom HTTP headers: Supports Cookie, Referer, Token, and more
- ✅ Resume interrupted downloads: Picks up where it left off
- ✅ Cross-platform: Single binary for Windows / macOS / Linux
For background on the M3U8 download process: 👉 How to Download M3U8
Installation
Windows
- Go to GitHub Releases
- Download the latest
N_m3u8DL-RE_Beta_Win_x64_...zip - Extract the archive, run
N_m3u8DL-RE.exe(or add to PATH) - No .NET Runtime installation needed (self-contained)
macOS
# Download the macOS build and extract
chmod +x N_m3u8DL-RE
./N_m3u8DL-RE "https://example.com/stream.m3u8"
Or via Homebrew (if a community formula is available):
brew install n_m3u8dl-re
Linux
# Download Linux amd64 build
wget https://github.com/nilaoda/N_m3u8DL-RE/releases/download/vX.X.X/N_m3u8DL-RE_Beta_Linux_x64.zip
unzip N_m3u8DL-RE_Beta_Linux_x64.zip
chmod +x N_m3u8DL-RE
Basic Usage
Simplest Download Command
N_m3u8DL-RE "https://example.com/stream.m3u8"
This single command automatically: parses M3U8 → selects highest quality → concurrent download → merges to MP4.
Specify Output Filename and Directory
N_m3u8DL-RE "https://example.com/stream.m3u8" --save-name "my_video" --save-dir "D:\Downloads"
Select Quality Level
# Auto-select best quality (default)
N_m3u8DL-RE "https://..." --select-video best
# Specify resolution
N_m3u8DL-RE "https://..." --video-sort-tags "RESOLUTION:1280x720"
Advanced Usage: Bypassing Common Restrictions
Custom Referer and Headers
Many CDNs check the request origin. Adding headers is the most common bypass method:
N_m3u8DL-RE "https://example.com/stream.m3u8" \
--header "Referer: https://example.com/" \
--header "User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36"
Include Cookies (Login-Required Streams)
N_m3u8DL-RE "https://example.com/stream.m3u8" \
--header "Cookie: session_id=abc123; token=xyz"
Especially useful for streams that require account login, provided the cookie is still valid.
AES-128 Encrypted Streams
If the M3U8 contains #EXT-X-KEY:METHOD=AES-128, N_m3u8DL-RE handles decryption automatically with no extra configuration. The tool fetches the key and decrypts each TS segment.
If the key URI itself requires authentication, provide a local key file:
N_m3u8DL-RE "https://..." \
--key-text-file "key.txt" # local key file
For AES-128 encryption internals: 👉 M3U8 Encryption & DRM Explained
Set Concurrent Download Count
# Default is usually 16 concurrent connections
N_m3u8DL-RE "https://..." --concurrent-download 32
⚠️ Setting this too high may get your IP rate-limited or blocked. Recommended maximum: 32.
What Is M3U8X? How Does It Compare?
M3U8X is another popular M3U8 downloader with a graphical interface (GUI), but it targets a different audience.
Feature Comparison
| Feature | N_m3u8DL-RE | M3U8X |
|---|---|---|
| Interface | CLI (command line) | GUI + CLI |
| Cross-platform | ✅ Win/Mac/Linux | ⚠️ Primarily Windows |
| Custom headers | ✅ Full support | ⚠️ Limited |
| AES-128 decryption | ✅ Automatic | ✅ Supported |
| Download speed | ⭐⭐⭐⭐⭐ | ⭐⭐⭐⭐ |
| Target user | Technical / developers | General users |
| Open source | ✅ GitHub | ❌ Closed source |
| Free | ✅ | ✅ |
Summary: If you're comfortable on the command line, N_m3u8DL-RE is more capable. If you want a GUI, M3U8X is a reasonable choice.
When to Use CLI Tools vs. Online Tools
| Scenario | Recommended |
|---|---|
| Quickly test if a stream plays | M3U8Go Online Player |
| Short video (under 30 min) download | HLS Browser Downloader (no install) |
| Long video or custom headers required | N_m3u8DL-RE |
| Batch downloading multiple streams | N_m3u8DL-RE with scripting |
| Users unfamiliar with CLI | M3U8X (GUI) or this site's online tools |
FAQ
Is N_m3u8DL-RE free?
Yes, fully open-source and free. Licensed under MIT — free to use, modify, and distribute.
Is "m3u8dl" the same as N_m3u8DL-RE?
"m3u8dl" is commonly used as a shorthand for N_m3u8DL-RE, or refers to its predecessor m3u8DL-CLI (no longer maintained). Download the -RE version from GitHub (nilaoda/N_m3u8DL-RE).
Why am I getting 403 errors?
403 means the server is refusing your request, usually because the correct Referer or token is missing. Solution: add --header "Referer: [original page URL]". For more on error codes: 👉 Common M3U8 Errors & Fixes
Can N_m3u8DL-RE download DRM-protected streams?
No. Content protected by DRM (Netflix, Disney+, etc.) cannot be downloaded by any tool. See: 👉 M3U8 Encryption & DRM Explained
How do I fix slow download speeds?
Try increasing --concurrent-download or using a proxy server. For detailed acceleration methods: 👉 M3U8 Download Too Slow? 5 Speed Fixes
No audio after download — how to fix?
Usually an audio codec incompatibility (AC-3 vs. AAC). Add --mux-after-done to let the tool handle it during merging, or use FFmpeg to re-encode audio afterward. See: 👉 M3U8 to MP4 No Audio Fix
Ready to test your M3U8 stream?
🚀 Try the M3U8 Online Player