Buyer's Guide · HLS · Chrome Extensions Only
Best HLS Downloader Chrome Extension 2026: 7 Tested
Seven Chrome/Edge/Brave HLS m3u8 downloader extensions tested on real streams in 2026: Vidora, FetchV, Stream Recorder, Video DownloadHelper, HLS Downloader, HLS Sniffer, and Cocoon. Detection accuracy, separate audio handling, AES-128 support, privacy/permissions audited. This comparison is browser-extensions only.
Want CLI tools instead? See our Free M3U8 Downloader Tools (CLI & Open-Source) guide for ffmpeg, yt-dlp, N_m3u8DL-CLI, Streamlink, and VLC. This page is the browser-extension counterpart.
Quick answer
The 7 HLS downloader Chrome extensions worth testing in 2026 are: Vidora (master manifest + AES-128 + separate audio, local, free during launch), FetchV (popular free option, basic AES-128, subscription Pro), Stream Recorder (record-while-playing model, simple), Video DownloadHelper (mature, broad protocol support, paid for HLS muxing), HLS Downloader (lightweight, no auto-detection), HLS Sniffer (detection-focused, hand-off to CLI tools), and Cocoon (newer, MV3-native). The best extension is the one that detects the master m3u8 reliably, muxes separate audio, and decrypts AES-128 transparently, while requesting minimal permissions and processing data locally.
1. Why HLS is harder to download than MP4
Saving an MP4 is a single HTTP request. The browser fetches one file, the extension intercepts it, done. HLS (HTTP Live Streaming) works completely differently. Instead of one file, the server delivers a playlist - a small text file ending in .m3u8 - that lists hundreds of short video segments, each typically 6 to 10 seconds long.
To produce a single playable MP4 from an HLS stream, an extension must:
- Intercept the right manifest request among dozens of network calls on a page
- Parse the playlist to find the master manifest, then select the correct quality rendition
- Identify and fetch the separate audio playlist if audio is delivered independently
- Download all segments - often 200 to 400 files for a 30-minute stream
- Decrypt each segment if the stream uses AES-128 encryption
- Mux audio and video segments into a single MP4 container, in order
Each of those steps is a potential failure point. Understanding them lets you ask the right questions when comparing extensions. You can read a technical deep-dive on the format in our M3U8 and HLS explainer, and the manual approach to find the m3u8 URL manually if you want to understand what extensions do automatically.
2. The 5 capabilities a serious HLS extension must have
Before looking at any specific extension, define what you need. Here is the minimum bar for a tool you can rely on regularly:
| Capability | What to look for | Why it matters |
|---|---|---|
| Manifest detection | Detects master playlist, not just a rendition URL | Picking a rendition directly locks you into one quality; the master manifest lets you choose |
| Separate audio muxing | Handles EXT-X-MEDIA audio groups | Most adaptive HLS streams (Vimeo, Wistia, Bunny) split audio and video; missing this = silent output |
| AES-128 decryption | Reads EXT-X-KEY, fetches the key, decrypts in-browser | Encrypted streams produce static if decryption is skipped |
| Local processing | All muxing runs inside the browser, no server uploads | Uploading URLs or video data to a remote server is a privacy risk |
| DASH support (bonus) | Handles .mpd manifests in addition to .m3u8 | Some platforms serve DASH instead of HLS; a single tool covering both saves overhead |
| Chrome and Edge support | Published on Chrome Web Store, Manifest V3 compliant | MV2 extensions are being phased out; MV3 is the stable baseline for 2026 |
| Pricing model | One-time license vs recurring subscription | Extensions used regularly cost more over time on a subscription; one-time purchase is more predictable |
The sections below go deeper on the three most commonly failed capabilities: detection, audio, and encryption.
3. Detection accuracy: catching the right manifest
Detection sounds simple until you look at a real video page in DevTools. A single page load for a course platform might generate 30 to 80 network requests matching .m3u8 patterns: thumbnail playlists, preview clips, chapter markers, ad streams, the actual content. A poor detector shows all of them. A good one filters and surfaces the primary content manifest.
The key distinction is between a rendition playlist and a master playlist. A rendition playlist lists the segments for one specific quality level. A master playlist (also called a multi-variant playlist) lists all available renditions, letting you pick 1080p, 720p, or 480p. Detecting the master manifest gives you quality choice; detecting a rendition only gives you what the player happened to start with.
Testing this is straightforward: install the extension, open a Bunny.net or Wistia hosted video, and check whether the popup shows multiple quality options or just one. If it shows only one option on a source that clearly offers 1080p and 720p, the extension detected a rendition, not the master. You can verify by checking the network manually - our guide on how to find the m3u8 URL manually shows exactly where to look in Chrome DevTools.
4. Audio handling: separate vs embedded streams
This is the most common failure mode in HLS downloaders, and it produces the most confusing output: a perfectly sized MP4 that plays as a silent video. The user assumes something went wrong with the download, re-downloads, gets the same result, and concludes the extension does not work.
What actually happened: the platform delivers audio and video in separate streams, a technique called demuxed audio. The master playlist contains an EXT-X-MEDIA tag that references a separate audio rendition. The video segments contain only picture data. To produce audio, the extension must:
- Parse the EXT-X-MEDIA tags in the master playlist
- Identify the default audio group for the selected video rendition
- Fetch all segments from the audio playlist in parallel with the video segments
- Mux video and audio into a single MP4 container, aligning timestamps
Platforms using demuxed audio include Vimeo (for videos processed after 2023), Bunny.net, Wistia, Dacast, and many course platforms. If an extension works on a simple YouTube MP4 but fails on Vimeo, demuxed audio handling is almost certainly the gap.
This is also why the convert m3u8 to mp4 guide recommends ffmpeg with -c copy for command-line users: ffmpeg handles EXT-X-MEDIA natively. For a browser extension, look for one that explicitly mentions demuxed audio or separate audio stream support.
5. AES-128 encryption support: who handles it
AES-128 is the most common encryption method for HLS streams. Course platforms, corporate video hosts, and paid content platforms use it to prevent casual copying. The playlist contains an EXT-X-KEY tag that points to a key URL and specifies an initialization vector (IV).
A properly implemented HLS downloader:
- Reads the EXT-X-KEY URI from the playlist
- Fetches the key using the same session cookies as the browser
- Decrypts each segment using AES-128-CBC with the specified IV
- Passes the decrypted bytes to the muxer
Extensions that skip this step produce a file that appears the right size but plays as noise. Extensions that attempt decryption on a remote server introduce a privacy problem: your content URL and session data travel outside the browser.
For a detailed test of AES-128 behavior and a step-by-step breakdown of how the encryption works, see the guide on AES-128 encrypted m3u8 downloads. That guide also shows how to verify whether a stream is encrypted before trying to download it.
Vidora decrypts AES-128 segments inside the browser's offscreen document. The key fetch happens within the authenticated session, so signed key URLs work without any manual intervention. The decrypted bytes never leave the browser.
6. Privacy and permissions: red flags to spot
Browser extensions are a privileged context. They can read every request your browser makes, including auth tokens, cookies, and signed URLs. Before installing any extension, open the Chrome Web Store listing and click "Details", then scroll to the "Permissions" section.
Red flags
- host_permissions on "<all_urls>" with no stated reason. An HLS downloader only needs access to the specific CDN domains it intercepts, not every website you visit.
- No privacy policy or a policy that is a generic template.
- Network requests to a third-party domain during download. Open DevTools while the extension is working and watch the network tab for outbound calls to unexpected domains.
- Remote server muxing. If the extension uploads your m3u8 URL and segments to a backend for processing, your URLs and session headers are exposed.
- Permissions for "Read browsing history" or "Read and change data on all sites". These go far beyond what a downloader needs.
Green flags
- Permissions scoped to specific actions (network request interception via
webRequestordeclarativeNetRequest) - An offscreen document or service worker that handles all processing locally
- A clear privacy policy that explicitly states no URLs, headers, or video data leave the browser
- Open source or at minimum a clear description of how data is processed
Vidora uses a Manifest V3 service worker plus an offscreen document for muxing. All segment downloads, decryption, and muxing happen locally. The extension does not communicate with any Vidora backend during the download process.
7. The 7 Chrome extensions to test in 2026
Here is the shortlist evaluated against the 5 capabilities above. All seven are published on the Chrome Web Store and work on Chrome, Edge, Brave, Vivaldi, Opera, and Arc.
1. Vidora
Built around master-manifest detection, separate-audio muxing, and AES-128 decryption as first-class features. Manifest V3 with an offscreen document for local processing. Detection works on Vimeo, Bunny.net, Wistia, Loom, and standard HLS sources. One-time license at Free during launch, no subscription. The extension we maintain, so we know it best - test it yourself before believing the pitch.
2. FetchV
One of the most popular free options on the Chrome Web Store. Handles unencrypted HLS reliably and offers basic AES-128 decryption. Free tier (subscription) unlocks higher-resolution and bulk downloads. Watchpoint: the free version sometimes drops separate audio renditions on adaptive streams. Permissions are broad (host_permissions all_urls), which is justified for cross-site detection but worth knowing.
3. Stream Recorder
Uses a record-while-playing approach: it captures the stream as the player decodes it, then saves to MP4. Simple model, works on most public HLS, but inherits the same constraint as VLC stream record - it captures in real time, so a 60-minute video takes 60 minutes. Does not handle AES-128 explicitly because it captures the post-decryption frames. Good for quick captures, slow for long content.
4. Video DownloadHelper
The most mature extension in the category. Originally Firefox-focused, the Chrome version is solid for MP4 download. HLS support requires the companion app (download-helper companion) which runs as a native messaging host. Free for basic use; HLS muxing on the Chrome side requires the paid Free tier. The most permissions-aware extension on this list (clear privacy policy, scoped requests).
5. HLS Downloader (various authors)
Several extensions on the Chrome Web Store ship under variants of the name "HLS Downloader". They tend to be lightweight wrappers that detect m3u8 URLs and hand them off to a server-side worker. Check the privacy policy carefully: many of these route the URL through a backend, which defeats local processing. If the listing does not explicitly state "no data sent to server", assume it does.
6. HLS Sniffer
Detection-only utility. It surfaces the m3u8 URL from any page that loads HLS but does not download or mux. The intended workflow is to copy the URL and paste it into ffmpeg or yt-dlp. Useful if you trust CLI tools and just want a faster way to find the URL than DevTools. Ultra-low permissions footprint.
7. Cocoon
Newer entrant, Manifest V3 native from day one. Focus on privacy: all processing local, minimal permissions, open about the data flow. AES-128 support and separate audio handling vary by version - check the changelog. Smaller user base than Vidora or FetchV but worth a test on your specific streams.
Side-by-side comparison
| Extension | Master detection | Separate audio | AES-128 | Local processing | Pricing |
|---|---|---|---|---|---|
| Vidora | Yes | Yes | Yes, local | Yes (offscreen doc) | One-time free during launch |
| FetchV | Yes | Partial (Pro) | Yes (basic) | Mostly | Free + Pro subscription |
| Stream Recorder | N/A (records) | Yes (post-decode) | Yes (post-decode) | Yes | Free + Free tier |
| Video DownloadHelper | Yes | Yes (Premium) | Yes (Premium) | Via companion app | Free + Premium |
| HLS Downloader (generic) | Varies | Usually no | Often no | Often server-side | Varies |
| HLS Sniffer | Yes (URL only) | N/A (detection only) | N/A (hand-off) | Yes (no processing) | Free |
| Cocoon | Yes | Varies by version | Varies by version | Yes (MV3) | Free |
Verify each extension's current state on the Chrome Web Store before trusting our snapshot - feature sets shift quarterly. If you just want to confirm that a public page serves an HLS stream before installing anything, our free M3U8 URL Detector scans the page HTML directly in your browser, no install required.
For use cases beyond HLS - specifically DASH video streams - the DASH MPD downloader guide covers the differences and extensions that handle .mpd manifests. For specific platform walkthroughs, the Vimeo HLS downloader guide covers Vimeo's specific playlist structure, and the Bunny.net video downloader guide walks through Bunny's CDN setup. For live HLS streams, the requirements are different and worth reading separately.
Prefer terminal over browser? Our Free M3U8 Downloader Tools (CLI & Open-Source) guide covers ffmpeg, yt-dlp, N_m3u8DL-CLI, Streamlink, and VLC: zero browser integration, fully local, no extension permissions required.
8. Frequently asked questions
Why do most HLS downloader extensions fail on encrypted streams?
Most lightweight extensions download raw segment bytes without reading the EXT-X-KEY tag in the playlist. They save encrypted data directly to disk, which plays as noise or static. A proper implementation fetches the AES-128 key URL, decrypts each segment in memory using the IV specified in the playlist, and then muxes the clear bytes into the MP4 container. Our guide on AES-128 encrypted m3u8 goes deeper into the technical details.
What's the difference between an HLS downloader and an MP4 downloader?
An MP4 downloader intercepts a single file request and saves it. An HLS downloader must parse a multi-level playlist, identify the best quality rendition, fetch dozens to hundreds of segments, decrypt them if needed, and mux separate audio and video streams before writing an output file. The complexity is substantially higher, which is why HLS-specific extensions differ significantly in quality.
Can a Chrome extension download YouTube videos?
No. Google's terms of service prohibit it, and Chrome Web Store policy blocks extensions that specifically target YouTube downloads. Extensions that claimed to do this have been removed. For YouTube, no browser extension available through the official store provides reliable downloads.
Is it safe to install a video downloader extension?
Safety depends on the permissions the extension requests and whether it processes data locally. Red flags: requesting access to all websites without explanation, sending URLs or metadata to a remote server, asking for permission to read passwords or form data. Green flags: local processing in a service worker or offscreen document, minimal permissions, a clear privacy policy stating no data leaves the browser.
What's the best free HLS downloader Chrome extension?
Several extensions offer free tiers that handle basic unencrypted HLS. The limitations show up on adaptive streams with separate audio, encrypted content, or private streams requiring session cookies. Vidora offers a free detection tier and a one-time paid download unlock at free during launch. If you only occasionally download public, unencrypted HLS content, a free tool may be sufficient. For regular use on real-world platforms, the capability gap is significant.
Does Vidora work on Edge, Brave, or Opera?
Yes. Vidora is distributed through the Chrome Web Store and runs on any Chromium-based browser: Chrome, Edge, Brave, Opera, Vivaldi, and Arc. The extension uses standard Manifest V3 APIs available across all Chromium browsers at version 120 or higher.
About the author
RGC Digital LLC builds Vidora, a Pro video downloader Chrome extension for Vimeo, Bunny.net, HLS streams, and MP4. Based in Albuquerque, NM. We write about video tooling, streaming protocols, and Chrome extension engineering.
Related guides
- Free M3U8 Downloader Tools (CLI & Open-Source) - terminal counterpart to this extension comparison
- How to convert m3u8 to mp4 (3 methods)
- How to download encrypted M3U8 video (AES-128)
- AES-128 HLS Encryption Explained (technical deep-dive)
- How to find the m3u8 URL of any stream
- Vimeo HLS downloader: step-by-step guide
- How to download live HLS streams
Vidora Engineering
Vidora is built and maintained by RGC Digital LLC, a team of engineers who have been working on browser-based HLS, DASH and MP4 video extraction since 2024. We test every method we publish on real streams from Vimeo, Bunny.net, Wistia, Apple HLS samples and AES-128 encrypted CDNs.