Table of Contents
ToggleM3U8 is the plain-text playlist format behind HTTP Live Streaming (HLS) — the technology powering most video streaming today. Instead of one large video file, HLS breaks a video into small segments, and the M3U8 playlist lists those segments in order so a player knows exactly what to fetch and play, and when.
This guide covers how M3U8 playlists work, why HLS breaks video into segments instead of one file, how adaptive bitrate streaming keeps video playing smoothly on any connection, and what it takes to deliver secure HLS streaming from your own site.
How Does an M3U8 Playlist Work?
An M3U8 playlist doesn’t contain any video — it’s a list of instructions telling the player which segment files to download, in what order, and how long each one plays. The actual video lives in separate small files the playlist points to.

A typical HLS delivery involves:
- Segmenting — Source video is encoded and cut into short chunks, usually 2-10 seconds each, traditionally in MPEG-TS format or the newer fMP4/CMAF format.
- Playlisting — Segments are listed in order inside a .m3u8 text file, each entry tagged with its duration.
- Fetching — The player downloads the playlist first, then requests each listed segment in sequence over standard HTTP.
- Updating (for live streams) — For live content, the playlist keeps updating with new segments as they’re produced; for on-demand video, it’s a fixed list from start to finish.
Master Playlist vs. Media Playlist — What’s the Difference?
An HLS stream almost always uses two layers of M3U8 playlist working together, and mixing them up is the most common source of confusion. The master playlist (Apple’s newer spec calls it the multivariant playlist) lists every available quality version of the video. The media playlist lists the actual segments for one specific quality version.
Here’s how they interact:
Next, the pipeline that turns a source video into something playable:
- The player reads the master playlist once, at the start, to see what quality options exist (e.g. 1080p, 720p, 480p) and their bandwidth requirements.
- Based on the viewer’s connection, the player picks one variant and starts reading that variant’s media playlist.
- The media playlist is what the player re-fetches repeatedly to get the next segments — continuously for live streams, once for on-demand video.
How HLS Uses M3U8 for Adaptive Bitrate Streaming
Adaptive bitrate streaming (ABR) is what lets a video keep playing smoothly even when a viewer’s connection changes mid-stream, and M3U8’s master/media structure is what makes it possible. Because the master playlist lists every quality variant upfront, the player can switch to a different media playlist — a lower bitrate when bandwidth drops, a higher one when it improves — without restarting playback or reloading the page.

This is exactly the problem HLS was built to solve: Apple introduced it for the original iPhone because mobile networks were unreliable enough that a single large video file would constantly stall or fail. Segmenting video and switching quality on the fly let playback recover from network drops and start almost instantly instead of waiting for a full download.
Is M3U8/HLS Secure?
An M3U8 playlist and its segments aren’t secure by default — anyone with the playlist URL can typically fetch the segments unless protection is added. HLS supports segment-level AES-128 encryption through a key tag in the playlist, which is a meaningful first layer. For content where piracy is a real risk — paid courses, enterprise training, premium subscriptions — that’s usually paired with full DRM (Widevine, FairPlay, PlayReady), which we cover in What Is DRM? Digital Rights Management Explained. Inkrypt’s video security features layer both together automatically.
M3U8/HLS vs. Other Streaming Formats
- Vs. plain MP4 download — A single MP4 has no adaptive quality and no recovery from a network drop; a poor connection just means buffering or a failed load. HLS’s segmented, multi-quality approach was built specifically to fix this.
- Vs. MPEG-DASH — DASH uses the same segmented, adaptive approach as HLS but with its own manifest format (MPD instead of M3U8). It’s not natively supported on Apple devices, which is part of why HLS remains the more universal default for cross-platform delivery.
- Vs. RTMP — RTMP was built for live streaming but is mostly used today to get video into a platform (ingest) rather than to deliver it to viewers; HLS and DASH have largely taken over on the delivery side.
Common Use Cases for M3U8/HLS Streaming
- Online courses and on-demand video — Smooth playback across student devices and connection speeds, without buffering interruptions.
- Live streaming events — Real-time delivery that keeps updating the playlist as new segments are produced.
- Enterprise training and internal video — Reliable playback across corporate networks with varying bandwidth.
- Premium subscription platforms — Adaptive delivery paired with encryption to protect paid content.
How to Add HLS/M3U8 Streaming to Your Videos
Getting HLS streaming running comes down to using a platform that handles segmenting and playlist generation automatically — building and maintaining an adaptive bitrate ladder by hand is a real ongoing engineering task most businesses shouldn’t take on themselves.
- Choose a hosting platform that auto-generates HLS output rather than encoding and packaging manually.
- Upload your source video — the platform encodes it into multiple quality renditions.
- Master and media playlists are generated automatically, along with the segment files.
- Embed an HLS-compatible player — native on Safari and iOS, via a library like hls.js elsewhere.
- Add protection — AES-128 encryption at minimum, full DRM for higher-risk content.
If you’re comparing platforms, our guide on choosing a video delivery platform with CDN and encryption support walks through what to look for. And our breakdown of cloud video hosting platforms covers how this fits into a broader hosting decision.
FAQs
The playlist file itself can be downloaded, but it only lists segment locations — it isn’t the video. Without additional protection, the individual segments it points to can often be downloaded and reassembled too, which is why encryption or DRM matters for content you want to protect.
Not exactly. HLS is the overall streaming protocol; M3U8 is the playlist file format that HLS uses to organize and sequence segments. You can’t have HLS without M3U8, but M3U8 alone is just a manifest file.
Nearly all — Safari and iOS support it natively, and browsers like Chrome, Firefox, and Edge play it through a JavaScript library such as hls.js. Most modern smart TVs support it natively or via an SDK.
No. A plain M3U8 stream can typically be accessed by anyone with the playlist URL. Segment-level AES-128 encryption is a common baseline; full DRM adds stronger protection for premium or paid content.
MP4 is a single video file downloaded as one piece. M3U8 is a playlist pointing to many small segments, which enables adaptive quality switching and faster, more resilient playback — something a single MP4 can’t do on its own.
Ready to deliver adaptive HLS streaming with built-in security? Start a free 30-day trial and see your videos auto-packaged for every device.
This article is for general informational purposes only, not legal advice. DRM and streaming laws vary by jurisdiction — consult an attorney for guidance specific to your business. Technical details reflect current standards and may change over time.