Tutorial

HLS vs M3U8: What Is the Difference?

· LivePlayer · 8 min read
HLS vs M3U8What is M3U8HLSStreaming Basics

Paste either a .m3u8 playlist URL or an HLS stream link into LivePlayer to verify browser playback.

Test an M3U8 / HLS URL

Short answer: HLS is the streaming protocol. M3U8 is the playlist file that HLS usually uses. When someone sends an “M3U8 link,” they are usually giving you the playlist entry point for an HLS stream.

Apple’s HLS overview explains that HTTP Live Streaming delivers media over HTTP and uses playlists to point players to media: HTTP Live Streaming.

What HLS is

HLS stands for HTTP Live Streaming. It is a delivery method that breaks media into small segments and lets the player adapt quality based on network conditions. The player keeps requesting playlist updates and media pieces over normal HTTP(S).

What M3U8 is

M3U8 is a UTF-8 playlist format. It is plain text. It can point to media segments directly, or to other playlists for different bitrates and resolutions. That is why opening an M3U8 file in a text editor shows tags and URLs instead of video frames.

For a plain-language walkthrough, see What is M3U8?.

How HLS and M3U8 work together

  1. The player requests an M3U8 playlist.
  2. The playlist lists segments or variant playlists.
  3. The player fetches those media pieces over HTTP.
  4. Playback continues while the player keeps reading the playlist.

Apple’s example playlist documentation shows both media playlists and master playlists: Example playlists for HTTP Live Streaming.

Quick comparison

  • HLS: the streaming system / protocol
  • M3U8: the playlist format HLS commonly uses
  • Segments: the actual media chunks referenced by the playlist
  • Master playlist: often lists multiple quality variants
  • Media playlist: usually lists the segments for one rendition

Why the terms get mixed in real work

Support tickets, dashboards, and CDN panels often label the same URL as “HLS URL,” “M3U8 link,” or “stream playlist.” For browser testing, that is usually fine. Paste the URL into LivePlayer and check whether it plays.

If you need to inspect whether the URL is a master or media playlist, use the M3U8 Analyzer.

What this means for testing

  • If someone says “test this HLS stream,” they usually mean “open this playlist URL.”
  • If someone says “the M3U8 is broken,” the failure may be the playlist, the segments, CORS, tokens, or DRM.
  • A working desktop player does not prove the same HLS/M3U8 URL will work in a browser.

Try it yourself

Use a public sample from Public M3U8 / HLS Test Streams, then compare it with your own URL. For a full browser QA flow, continue with How to Test HLS Streams in Your Browser.

Related tools and guides

FAQ

Is M3U8 the same as HLS?
No. HLS is the HTTP Live Streaming protocol. M3U8 is the playlist format commonly used by HLS to list media segments or stream variants.
Why do people say “M3U8 stream” and “HLS stream” for the same link?
In practice, most HLS streams are delivered through an M3U8 playlist URL, so people use the terms interchangeably even though they are not identical.
Can I play HLS without an .m3u8 file extension?
Sometimes. The important part is the playlist content and server headers, not only the file extension. Still, many public links end in .m3u8.