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

N_m3u8DL-RE M3U8 downloader

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.exe in the same folder as N_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

  1. Download the win-x64 zip and extract it, e.g. to C:\Tools\N_m3u8DL-RE\
  2. Put ffmpeg.exe in the same folder
  3. Open Windows Terminal or PowerShell in that folder and run:
.\N_m3u8DL-RE.exe "https://example.com/stream.m3u8"

The legacy cmd.exe console 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 --key and --key-text-file options: 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