TL;DR:
An M3U8 file is a playlist, not a finished video. An HLS M3U8 downloader retrieves and assembles the referenced media segments.
Browser and online tools suit accessible public streams. FFmpeg and yt-dlp provide more control, while desktop software supports managed workflows.
An HLS M3U8 downloader reads a playlist and retrieves its referenced media segments. Saving the .m3u8 file alone leaves you with a tiny text file, not a playable video. For an authorized stream, choose among browser, online, command-line, desktop, or mobile tools.
If you need to download an M3U8 video or download HLS streams, the right route depends on whether the playlist is public, tied to a browser session, or supported by a desktop application. The five routes below cover desktop software, FFmpeg, yt-dlp or N_m3u8DL-RE, browser or online tools, and mobile apps.
The quick takeaway: use lightweight tools for accessible public clips, command-line tools when you need detailed control, and a supported desktop workflow for organized local files. Save content only for personal offline viewing when you are authorized to access it, and do not redistribute downloaded files.
Finding the M3U8 Link
An M3U8 manifest is a text index rather than the video itself. A master playlist lists available stream variants, while a media playlist points to TS or fragmented MP4 segments that contain the actual audio and video. Opening or copying the manifest alone does not download and assemble those segments.
Most guides start with the downloader tools right away, but they leave out the most important step: how do you find the .m3u8 URL? The fastest way to get it with your computer is to do this:
- Open your web browser (Chrome, Edge, or Firefox) and navigate to the video page.
- Press F12 on your keyboard to open the Developer Tools.
- Click on the Network tab.
- In the filter box, type m3u8.
- Now, hit play on the video. You will see files popping up in the list. Right-click the one that says master.m3u8 (or similar) and select Copy -> Copy URL.
Copying the playlist URL does not guarantee that another tool can retrieve it. Some HLS playlists also require session cookies, Referer or other request headers, or short-lived signed URLs.
Once you have that link on your clipboard, you're ready to use the tools below. If you prefer not to dig into the code, The Stream Detector can still identify HLS playlist URLs in Firefox, but its upstream project is no longer under active development. Treat it as a convenience detector rather than a guaranteed solution for current sites.
Method 1: Desktop HLS M3U8 Downloader
The right method depends on whether the stream is public or session-based, how much control you need, and whether you want a managed local-file workflow.
| Route | Best for | Stream access | Typical output | Common limit |
|---|---|---|---|---|
| Browser extension | Quick public clips | Browser-accessible playlists | MP4 or segments | Session-based streams may fail |
| Online tool | One-off public URLs | Publicly accessible playlists | Usually MP4 | Cannot reproduce many logins |
| FFmpeg or yt-dlp | Technical control | Authorized accessible playlists | MP4 or MKV | Requires command-line setup |
| Desktop software | Managed batch workflows | Supported authorized sites | MP4 or MKV | Site support varies |
| Mobile app | Simple phone downloads | App-accessible public streams | App-managed files | Limited site compatibility |
Browser extensions and online tools form the lightweight route for accessible public clips. FFmpeg and yt-dlp are covered separately below because their setup and stream-handling options differ. Desktop software is the more practical fit when you need batch organization without managing commands.
KeepStreams for M3U8
KeepStreams for M3U8 is available for Windows and macOS and provides a desktop alternative when official downloads are unavailable, for content you are authorized to access where permitted by platform terms and applicable law. It can save supported streams at up to 1080p as MP4 or MKV, with H.264 or H.265 available where supported. It also provides batch downloading, selectable audio, automatic episode downloads, and embedded or external SRT/VTT subtitles. Supported sites, login flows, and stream availability may change, so review the current status on the official product page.
Other Desktop M3U8 Downloaders
Y2Mate and StreamGaGa are other desktop options to consider. Compare their supported sites, operating systems, output choices, batch controls, and current licensing terms against the stream you are authorized to save.
A paid desktop application can be more than a casual public clip requires. It is better suited to repeated downloads or an organized personal media workflow where command-line setup would add unnecessary work.
Method 2: Download M3U8 with FFmpeg
If you're comfortable with a command prompt and need flexible control over a public or otherwise authorized M3U8 playlist, FFmpeg is a practical option.
FFmpeg works best when the playlist and its media segments are accessible through your authorized session, and it provides detailed control over input streams and output handling.
How to Download M3U8 with FFmpeg
Quick Tutorial:
Open your command prompt or terminal and use this basic FFmpeg command, a common M3U8 to MP4 downloader method, replacing the URL with your own authorized playlist:
ffmpeg: Calls the program.
-i "URL": Specifies the input, which is your M3U8 playlist URL.
-c copy: Copies compatible video and audio streams without re-encoding them; successful MP4 output still depends on codec and container compatibility.
output.mp4: The name of your final downloaded file.
If a segment fails or its signed URL expires, FFmpeg may create an incomplete file or keep retrying the missing segment. A completed command also does not guarantee that every copied stream is compatible with the MP4 container.
FFmpeg is efficient once the command works, but its stream details and error messages can be difficult for newcomers to interpret.
Method 3: Download M3U8 with yt-dlp or N_m3u8DL-RE
If you are comfortable with the terminal, yt-dlp (a maintained fork of YouTube-dl) and N_m3u8DL-RE are open-source options for public or otherwise authorized HLS streams.
Compared with a basic FFmpeg command, yt-dlp can reuse browser cookies. Browser cookies can reproduce part of an authorized session, but cookies alone do not supply every required header, token, browser state, or unexpired segment URL.
Quick Tutorial:
- Download yt-dlp and open your command prompt.
- Run the following command:
yt-dlp "https://your-link-here.com/playlist.m3u8" -o "myvideo.%(ext)s"
403 troubleshooting: If your authorized browser session is represented by Chrome cookies, yt-dlp can attempt to reuse them with the following command. Cookies can help reproduce part of the session, but they do not automatically supply every required request header, token, browser state, or still-valid media URL.
yt-dlp --cookies-from-browser Chrome "your-link.m3u8"
Method 4: Browser Extensions and Online M3U8 Downloaders
If you want to save a quick public clip without using a command line, a browser extension or online M3U8 downloader may be sufficient. Online M3U8 downloaders work best with public URLs that their remote server can access. Browser extensions may have access to more page context, but session tokens, expiring URLs, protected playback, and site-specific request requirements can still cause failures.
- CocoCut: The current browser extension can detect accessible M3U8 playlists and download referenced HLS segments, then merge supported streams into a local MP4 file.
- The Black Screen Issue: Some extensions offer a recording fallback, but protected browser playback may produce a file with audio and a black screen.
Method 5: M3U8 Downloader Apps for Android and iOS
Phones handle files and browser extensions differently from desktop systems. The options for downloading M3U8 videos on different devices also depend on the mobile operating system, the site, and whether the playlist is accessible to the app.
- For Android: ADM (Advanced Download Manager) remains an actively maintained general download manager with a built-in browser, media downloader, link interception, and multi-threaded downloading. Whether a specific HLS/M3U8 stream works depends on how the site exposes the media URL and session requirements.
- For iOS: Aloha Browser includes video-download and private-file features, although the download control appears only on supported pages and accessible streams.
App availability and supported sites may change, so confirm the current device requirements and capabilities on each app's official listing.
FAQs
Q1. Why is my M3U8 download only a few seconds long?
A short or frozen file usually means a media segment failed, the signed playlist expired, or the copied streams are incompatible with the selected container. Obtain a fresh authorized playlist URL, review the tool's failed-segment messages, and retry the download.
Q2. Why did yt-dlp save an MKV file instead of MP4?
yt-dlp may select MKV when the downloaded video, audio, subtitles, or metadata cannot be combined safely in MP4 without conversion or lost data. MKV is a container choice, not necessarily a sign that the download failed.
Q3. Can an online M3U8 downloader handle a login-protected stream?
Online tools generally work best with public playlist URLs their remote server can access. Login state, rotating tokens, required headers, localStorage credentials, or encrypted streams can prevent a remote service from retrieving every segment.
Q4. Can I download a live HLS stream while it is airing?
An authorized live HLS stream can be captured while its segments remain available. The saved duration depends on when capture begins, playlist retention, token life, and whether every segment is delivered successfully.
Q5. Does every M3U8 URL work in KeepStreams?
No. An M3U8 label alone does not guarantee support for a site, login flow, or stream variant. KeepStreams works with supported sites and compatible streams, and current availability may change with platform updates.
Conclusion
The best HLS M3U8 downloader depends on how the stream is delivered and how much control you need. For public, accessible streams, a browser extension or online tool may be enough. If you are comfortable with the terminal, FFmpeg or yt-dlp gives you more control over accessible playlists and output containers. For content you're authorized to access, KeepStreams for M3U8 offers a managed Windows and macOS workflow for saving supported streams as local MP4 or MKV files for personal offline viewing.
