Download M3U8

What is M3U8? A Complete Guide to HLS Playlist Files

M3U8 is a UTF-8 encoded text file that serves as the playlist for HTTP Live Streaming (HLS), Apple's adaptive streaming protocol. It tells video players where to find media segments and how to play them back in sequence.

What is HLS (HTTP Live Streaming)?

HTTP Live Streaming (HLS) is a media streaming protocol developed by Apple and widely adopted across the web. Instead of sending a single large video file, HLS breaks the video into small chunks calledsegments (typically 2-10 seconds each) and delivers them over standard HTTP.

The key advantage of HLS is adaptive bitrate streaming (ABR): the player can dynamically switch between different quality levels (e.g., 720p, 1080p, 4K) based on the viewer's network conditions. This ensures smooth playback without buffering, even on slow connections.

M3U8 File Structure

An M3U8 file is a plain text file with specific tags that describe the stream. Here is a simple example:

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:0
#EXTINF:10.0,
segment-001.ts
#EXTINF:10.0,
segment-002.ts
#EXTINF:10.0,
segment-003.ts
#EXT-X-ENDLIST

Key tags explained:

  • #EXTM3U — Marks this as an extended M3U playlist
  • #EXT-X-VERSION:3 — HLS protocol version
  • #EXT-X-TARGETDURATION:10 — Maximum segment duration in seconds
  • #EXTINF:10.0, — Duration and optional title of the next segment
  • #EXT-X-ENDLIST — Signals end of a VOD (Video on Demand) stream

Master Playlist vs Media Playlist

There are two types of M3U8 files:

Master Playlist

Also called a Variant Playlist. It lists multiple versions of the same content at different quality levels. Uses #EXT-X-STREAM-INF tags. The player picks the best quality based on available bandwidth.

Media Playlist

Contains the actual list of TS segment URLs. This is what the player uses to fetch and play video chunks sequentially. A Master playlist references one or more Media playlists.

What are TS Segments?

TS stands for MPEG Transport Stream. Each .ts file is a short chunk of video (typically 2-10 seconds) containing multiplexed audio and video data. The player downloads these segments in order and plays them seamlessly as a continuous stream.

Because segments are independent, they can be cached by CDNs, delivered over standard HTTP, and played back before the entire video is downloaded. This is why HLS is the dominant protocol for live streaming and on-demand video delivery.

Adaptive Bitrate Streaming (ABR)

Adaptive Bitrate Streaming is the core innovation of HLS. A Master playlist offers the same video at multiple resolutions and bitrates (e.g., 360p, 720p, 1080p, 4K). The player monitors network conditions and automatically switches between these variants:

  • When bandwidth drops, the player switches to a lower quality to avoid buffering
  • When bandwidth improves, it switches to a higher quality for a better viewing experience
  • Switches happen at segment boundaries, making them seamless to the viewer

How to Open or Play M3U8 Files

You can open and play M3U8 files in several ways:

  1. Use our online M3U8 player — Just paste the URL and start watching instantly. No software installation required.
  2. VLC Media Player — Open VLC, go to Media → Open Network Stream, paste the M3U8 URL, and click Play.
  3. Safari browser — Safari has native HLS support. Simply open an M3U8 URL directly in Safari on macOS or iOS.
  4. hls.js — A JavaScript library that enables HLS playback in browsers that don't natively support it (Chrome, Firefox, Edge).

M3U8 vs MP4 vs DASH

FeatureM3U8 (HLS)MP4DASH
TypeStreaming playlistSingle file containerStreaming manifest
Adaptive BitrateYesNoYes
Browser SupportSafari native; hls.js for othersUniversaldash.js or Shaka Player
DRM SupportFairPlay, WidevineN/AWidevine, PlayReady
Use CaseLive & VOD streamingDownload & local playbackPremium streaming services

Frequently Asked Questions About M3U8

What is an M3U8 file?

M3U8 is a UTF-8 encoded playlist file used by the HTTP Live Streaming (HLS) protocol. It lists the media segment URLs (.ts files) that make up a stream and tells players how to play them in sequence.

What is the difference between M3U8 and MP4?

M3U8 is a streaming playlist that references multiple small TS segments, while MP4 is a single self-contained video file. M3U8 enables adaptive bitrate streaming; MP4 is ideal for download and local playback.

How do I open or play an M3U8 file?

You can play M3U8 streams in Safari natively, in VLC Media Player, or using an online M3U8 player by pasting the URL. A text editor can read the playlist but cannot play the media.

What are TS segments in HLS?

TS segments are short MPEG Transport Stream chunks (typically 2-10 seconds) containing multiplexed audio and video. The player downloads them in order to play a continuous stream.

Can I convert M3U8 to MP4?

Yes. You can use FFmpeg or an online M3U8 downloader to download the TS segments and merge them into a single MP4 file.

Ready to work with M3U8 files?

Use our Download M3U8 tool to play, analyze, or download any M3U8 stream.

Open Download M3U8 →