N_m3u8DL-RE Download & Complete Tutorial: Install, Commands, GUI & macOS (2026)

Looking to download N_m3u8DL-RE and actually get it working? N_m3u8DL-RE (often searched as "n_m3u8dl" or "m3u8dl") is an open-source, cross-platform downloader for HLS, DASH and MSS streams, covering both video-on-demand and live streams.
This guide is checked against the official README and the latest release (v0.6.0-beta, June 2026). Every command below uses real, current option names — many older tutorials online still show options that no longer exist.
Only download streams you have the right to save — your own recordings, public-domain or openly licensed videos, or content whose terms of service allow downloading. N_m3u8DL-RE does not (and cannot) remove DRM.
What Is N_m3u8DL-RE?
N_m3u8DL-RE (GitHub: nilaoda/N_m3u8DL-RE) is a command-line tool by developer nilaoda, written in C# / .NET and shipped as a self-contained binary — no .NET runtime to install.
It replaces the older m3u8DL-CLI (Windows-only, no longer maintained). "RE" stands for Remake.
Key Features
- ✅ HLS / DASH / MSS support, both on-demand and live
- ✅ Multi-threaded segment downloads (
--thread-count, defaults to your CPU thread count) - ✅ Track selection by resolution, codec, language or bitrate (
-sv/-sa/-ss) - ✅ Standard HLS AES-128 decryption handled automatically
- ✅ Custom HTTP headers (Referer, User-Agent, Cookie)
- ✅ Live stream recording with time limits and real-time merging
- ✅ Windows / macOS / Linux / Android builds, x64 and ARM64
For background on how M3U8 downloading works: 👉 How to Download M3U8
Installation
All builds are on the GitHub Releases page. Pick the file that matches your system:
| System | File to download (v0.6.0-beta) |
|---|---|
| Windows 10/11 (most PCs) | N_m3u8DL-RE_v0.6.0-beta_win-x64_20260629.zip |
| Windows on ARM | ..._win-arm64_....zip |
| Mac with Apple Silicon (M1–M4) | ..._osx-arm64_....tar.gz |
| Intel Mac | ..._osx-x64_....tar.gz |
| Linux x64 | ..._linux-x64_....tar.gz |
| Linux ARM64 (e.g. Raspberry Pi 64-bit) | ..._linux-arm64_....tar.gz |
Step 0: Install ffmpeg (required for merging)
N_m3u8DL-RE downloads segments itself, but uses ffmpeg to merge and mux them into a final MP4/MKV. Without it you'll get an "ffmpeg not found" error at the end of the download.
- Windows: download a build from gyan.dev and put
ffmpeg.exein the same folder asN_m3u8DL-RE.exe(or add it to PATH) - macOS:
brew install ffmpeg - Linux:
sudo apt install ffmpeg(Debian/Ubuntu)
You can also point to it explicitly with --ffmpeg-binary-path "C:\Tools\ffmpeg.exe".
Windows
- Download the
win-x64zip and extract it, e.g. toC:\Tools\N_m3u8DL-RE\ - Put
ffmpeg.exein the same folder - Open Windows Terminal or PowerShell in that folder and run:
.\N_m3u8DL-RE.exe "https://example.com/stream.m3u8"
The legacy
cmd.execonsole on older Windows versions may not render the interactive UI correctly. Use Windows Terminal (or cmder).
macOS
# Apple Silicon example — use osx-x64 on Intel Macs
tar -xzf N_m3u8DL-RE_v0.6.0-beta_osx-arm64_20260629.tar.gz
chmod +x N_m3u8DL-RE
# Remove the download quarantine flag so Gatekeeper lets it run
xattr -d com.apple.quarantine N_m3u8DL-RE
./N_m3u8DL-RE "https://example.com/stream.m3u8"
If macOS says "N_m3u8DL-RE cannot be opened because the developer cannot be verified", the xattr command above is the fix. Alternatively, open System Settings → Privacy & Security and click Allow Anyway, then run it again.
To run it from any folder, move it into your PATH:
sudo mv N_m3u8DL-RE /usr/local/bin/
There is no official Homebrew formula for N_m3u8DL-RE — download it from GitHub Releases.
Linux
tar -xzf N_m3u8DL-RE_v0.6.0-beta_linux-x64_20260629.tar.gz
chmod +x N_m3u8DL-RE
sudo mv N_m3u8DL-RE /usr/local/bin/
On Arch Linux, community packages exist in the AUR (not maintained by the author):
yay -Syu n-m3u8dl-re-bin
Basic Usage
Simplest Download Command
N_m3u8DL-RE "https://example.com/stream.m3u8"
In an interactive terminal, the tool parses the playlist and then shows a selection menu of available video, audio and subtitle tracks. Use the arrow keys and space bar to choose, then Enter to start.
To skip the menu and automatically take the best tracks:
N_m3u8DL-RE "https://example.com/stream.m3u8" --auto-select
Output Filename and Folder
N_m3u8DL-RE "https://example.com/stream.m3u8" --save-name "my_video" --save-dir "D:\Downloads"
Choose Video Quality
Selection uses -sv (--select-video) with regular-expression filters:
# Best video track
N_m3u8DL-RE "https://..." -sv best
# Best 720p track (width 1280)
N_m3u8DL-RE "https://..." -sv res="1280*":for=best
# 4K HEVC only
N_m3u8DL-RE "https://..." -sv res="3840*":codecs=hvc1:for=best
Choose Audio and Subtitles
# Best English audio track
N_m3u8DL-RE "https://..." -sa lang=en:for=best
# All audio tracks and all subtitles
N_m3u8DL-RE "https://..." -sa all -ss all
Output a Single MP4
By default, video and audio may be saved as separate files. To mux them into one MP4 when everything finishes:
N_m3u8DL-RE "https://..." --auto-select -M format=mp4
Use -M format=mkv for MKV (better for multiple audio/subtitle tracks).
Advanced Usage: Headers, Cookies & Encrypted Streams
Custom Referer and Headers
Many CDNs check where a request comes from. If a stream plays in your browser but fails in the CLI, pass the same headers your browser already sends. The option is -H (--header):
N_m3u8DL-RE "https://example.com/stream.m3u8" \
-H "Referer: https://example.com/" \
-H "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" \
-H "Cookie: session_id=abc123; token=xyz"
For streams you are already signed in to watch, reuse your own browser session cookie. Never use someone else's account or shared cookies.
AES-128 Encrypted Streams
If the M3U8 contains #EXT-X-KEY:METHOD=AES-128, N_m3u8DL-RE fetches the key from the URI in the playlist and decrypts each segment automatically — no extra options needed.
If you already have the key (for example, testing your own encrypted HLS output) and the key URI isn't reachable, supply it directly. The key can be a file, HEX or Base64:
N_m3u8DL-RE "https://..." \
--custom-hls-method AES_128 \
--custom-hls-key "key.bin" \
--custom-hls-iv "0x00000000000000000000000000000000"
About the
--keyand--key-text-fileoptions: these are for CENC-encrypted MP4/DASH content where you already hold the decryption keys (e.g. content you packaged yourself). They do not obtain keys from Netflix, Disney+ or any DRM service, and this guide doesn't cover that.
For how HLS encryption works: 👉 M3U8 Encryption & DRM Explained
Download Speed: Threads vs. Concurrent Tracks
These two options are often confused:
# Number of segment download threads (default = CPU thread count)
N_m3u8DL-RE "https://..." --thread-count 16
# Download the selected video, audio and subtitle tracks at the same time
N_m3u8DL-RE "https://..." -mt
-mt (--concurrent-download) is an on/off flag, not a number. You can cap bandwidth with -R 15M (--max-speed).
⚠️ Very high thread counts can get your IP rate-limited by the server. Start with the default and only raise it if needed.
Record a Live Stream
# Record for 1 hour, merging in real time
N_m3u8DL-RE "https://example.com/live.m3u8" \
--live-real-time-merge \
--live-record-limit 01:00:00
Use --live-perform-as-vod to download what's currently in a live playlist as if it were a normal video.
Download Only Part of a Video
# Minute 5 to minute 20
N_m3u8DL-RE "https://..." --custom-range 05:00-20:00
N_m3u8DL-RE GUI: Graphical Front-Ends
N_m3u8DL-RE itself is command-line only. If you prefer clicking buttons, several community projects wrap it with a GUI — you still download N_m3u8DL-RE (and ffmpeg) separately and point the GUI at them:
| Project | Platform | Notes |
|---|---|---|
| nilaoda/N_m3u8DL-RE-SimpleG | Browser (web page) | A simple command builder by the original author |
| naravid19/N_m3u8DL_RE_GUI | Windows | Actively updated in 2026, supports batch downloads |
| LennoC/N_m3u8DL-RE_SimpleBatGUI | Windows (.bat) | Menu-driven presets for single, batch and live downloads |
These are third-party projects — check each repository's recent activity and issues before using, and only download from GitHub.
What Is M3U8X? How Does It Compare?
M3U8X is a Windows GUI downloader aimed at non-technical users.
| Feature | N_m3u8DL-RE | M3U8X |
|---|---|---|
| Interface | CLI (GUIs via community projects) | GUI |
| Platforms | ✅ Windows / macOS / Linux / Android | ⚠️ Windows only |
| Custom headers | ✅ Full support | ⚠️ Limited |
| AES-128 | ✅ Automatic | ✅ Supported |
| Open source | ✅ MIT license | ❌ Closed source |
| Free | ✅ | ✅ |
Summary: N_m3u8DL-RE is more capable and cross-platform; M3U8X is simpler if you only use Windows and never want to touch a terminal.
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 |
| Live stream recording | N_m3u8DL-RE |
| Batch downloading multiple streams | N_m3u8DL-RE with scripting |
| Users unfamiliar with CLI | A GUI front-end or this site's online tools |
FAQ
Is N_m3u8DL-RE free?
Yes. It's open source under the MIT License — free to use, modify and distribute.
Is "m3u8dl" the same as N_m3u8DL-RE?
"m3u8dl", "n_m3u8dl" and "N_m3u8DL-RE.exe" usually refer to this tool or its predecessor m3u8DL-CLI, which is no longer maintained. Always use the latest N_m3u8DL-RE release from GitHub (nilaoda/N_m3u8DL-RE).
Does N_m3u8DL-RE have a GUI version?
Not officially — it's CLI-only. See the "N_m3u8DL-RE GUI" section above for community front-ends.
Does it work on Mac (Apple Silicon)?
Yes. Download the osx-arm64 build for M1–M4 Macs (osx-x64 for Intel), run chmod +x and xattr -d com.apple.quarantine on the binary, and install ffmpeg with Homebrew.
Why do I get "ffmpeg not found"?
ffmpeg is needed for the final merge. Put ffmpeg in the same folder as N_m3u8DL-RE, add it to PATH, or pass --ffmpeg-binary-path.
Why am I getting 403 errors?
403 means the server is refusing the request, usually because a Referer, User-Agent or token the browser sends is missing. Add them with -H. More on error codes: 👉 Common M3U8 Errors & Fixes
Can N_m3u8DL-RE download DRM-protected streams?
No. DRM-protected services (Netflix, Disney+, etc.) can't be downloaded this way. See: 👉 M3U8 Encryption & DRM Explained
How do I fix slow download speeds?
Raise --thread-count moderately, add -mt to fetch audio and video in parallel, or set a proxy with --custom-proxy. More methods: 👉 M3U8 Download Too Slow? 5 Speed Fixes
Video and audio came out as separate files / no audio — how to fix?
Add -M format=mp4 so the tracks are muxed into one file, and make sure an audio track was selected (-sa best or --auto-select). If the audio codec itself is incompatible (e.g. AC-3 in MP4 on some players), re-encode it with ffmpeg. See: 👉 M3U8 to MP4 No Audio Fix
Ready to test your M3U8 stream?
🚀 Try the M3U8 Online Player