M3U8 & HLS Streaming Guide

Understanding M3U8: A Complete Guide to HLS Streaming

Learn what M3U8 files are, how HTTP Live Streaming works, and how playlists and media segments deliver online video. When you are ready to test a stream, use the OLABC online M3U8 player.

Browser-based playback for supported M3U8 and HLS streams. No desktop player installation required.

M3U8 basics

What Is an M3U8 File?

M3U8 is a UTF-8 encoded playlist format based on the extended M3U specification. It is widely used with HTTP Live Streaming (HLS) to describe media presentations and identify the resources a compatible player needs to request.

An M3U8 file is usually not the video itself. Instead, it contains playlist information and references to media segments or to other playlists. A player reads those references, retrieves the corresponding media resources, and presents the content in sequence.

Depending on the stream, an M3U8 playlist may describe a live broadcast, a video-on-demand presentation, or a set of alternative streams with different bitrates and resolutions.

Try the online M3U8 player

An M3U8 playlist

A text-based index of media resources

Playlist information

Tags, durations and stream metadata

↓

Resource references

Media segments or variant playlists

↓

Compatible media player

Loads and plays the referenced stream

The streaming protocol

What Is HTTP Live Streaming (HLS)?

HTTP Live Streaming, commonly called HLS, is an HTTP-based media streaming protocol developed by Apple. It delivers audio and video as a sequence of media segments and uses playlists to describe how those segments are organized.

HLS can be used for both live streaming and video on demand. It can also provide multiple encoded versions of the same presentation, allowing a compatible player to select or switch between available variants as network conditions and playback capabilities change.

M3U8 and HLS are related but not interchangeable terms: HLS is the streaming protocol, while M3U8 files are commonly used as its playlist files.

HTTP delivery

Media resources are requested over HTTP or HTTPS, often using standard web infrastructure.

Live and on-demand

The protocol supports live presentations as well as recorded video-on-demand content.

Multiple variants

A master playlist can describe different renditions for adaptive streaming.

Behind the stream

How Does M3U8 Streaming Work?

When a player opens an M3U8 URL, it does more than download a single video file. It reads the playlist, follows the resource references, and requests the media needed for playback. The exact sequence depends on whether the URL points to a master playlist or a media playlist.

STEP 01

Load the playlist

The player requests the M3U8 URL and receives playlist text from the streaming server.

STEP 02

Read stream details

The player parses playlist tags, variant references, segment locations and other metadata.

STEP 03

Retrieve media

The player requests the required media segments and, when applicable, related encryption keys.

STEP 04

Decode and play

A compatible playback engine processes the media and presents audio and video in the browser.

Playlist structure

Understanding M3U8 Playlist Structure

HLS commonly uses two playlist levels. A master playlist can point to one or more variant playlists, while a media playlist describes the media segments for a particular rendition. Some streams use a media playlist directly without a separate master playlist.

Master playlist

A master playlist identifies available variants or renditions, which may differ in bitrate, resolution, audio, or other characteristics.

#EXTM3U
#EXT-X-STREAM-INF:BANDWIDTH=1500000,RESOLUTION=1280x720
720p/playlist.m3u8
#EXT-X-STREAM-INF:BANDWIDTH=700000,RESOLUTION=640x360
360p/playlist.m3u8

Media playlist

A media playlist lists the media segments that make up a particular stream, along with timing and playback information.

#EXTM3U
#EXT-X-VERSION:3
#EXT-X-TARGETDURATION:10
#EXTINF:10.0,
segment001.ts
#EXTINF:10.0,
segment002.ts
#EXT-X-ENDLIST

These are simplified illustrative examples. Actual playlists can contain additional tags, attributes, initialization sections, encryption information, byte ranges, and other features.

Common applications

Where Is M3U8 and HLS Used?

M3U8 playlists are commonly encountered wherever HLS is used to organize and deliver streaming media. Typical examples include live broadcasts, on-demand video services, and multi-quality streaming workflows.

Live video streaming

Live playlists can be updated as new media segments become available, allowing viewers to follow an ongoing broadcast.

Video on demand

Recorded presentations can be divided into segments and described by a playlist for playback on demand.

Adaptive bitrate delivery

Multiple stream variants can make it possible for a compatible player to adapt playback quality to changing network conditions.

Cross-device streaming

HLS is supported across a range of Apple devices, browsers, applications, and media playback environments, subject to implementation and codec support.

Format comparison

M3U8 vs MP4: What Is the Difference?

M3U8 and MP4 serve different roles in media delivery. M3U8 is a playlist format commonly used by HLS, while MP4 is a media container that can hold audio and video tracks. They are not direct equivalents.

FeatureM3U8 / HLSMP4
What it isA playlist used with HLSA media container format
Media dataUsually references separate media resourcesStores media tracks in the container
Typical deliverySegmented HTTP streamingFile download or progressive playback
Live streamingSupported by HLSNot typically used alone as a live streaming protocol
Adaptive bitrateCan be described through HLS variantsNot provided by the MP4 container alone

The best option depends on the use case. HLS is designed for streaming delivery, while MP4 is commonly used to package and distribute a video file.

Try it with OLABC

How to Play an M3U8 URL Online

If you have an M3U8 playlist URL and permission to access its content, you can test it with a compatible browser-based player. Follow these steps to get started.

  1. 1

    Get an accessible M3U8 URL

    Use a playlist URL from a source you own or are authorized to access. Some URLs require valid tokens or session access.

  2. 2

    Open the OLABC player

    Visit the online M3U8 player page in a supported browser.

  3. 3

    Paste your playlist URL

    Enter the URL in the player input field and check that it has not expired.

  4. 4

    Start playback

    Select Play and wait for the playlist and media segments to load.

Ready to test your stream?

Open the OLABC M3U8 player to load a supported HLS playlist directly in your browser.

Open M3U8 Player

No desktop installation required.

Why streaming uses HLS

Key Advantages of HLS Streaming

HLS is widely used because it combines segmented media delivery with playlist-based stream descriptions. Its capabilities can help publishers deliver live and on-demand content across different network conditions and playback environments.

Adaptive bitrate streaming

When multiple variants are available, a compatible player can adapt the selected rendition to changing bandwidth and playback conditions.

HTTP-based delivery

HLS uses HTTP delivery, which can work with common web servers, caches, and content delivery networks.

Live and on-demand support

The playlist model supports both changing live playlists and fixed on-demand presentations.

Flexible media organization

Playlists can describe variants, renditions, segment timing, and other information needed by a compatible player.

Playback help

Common M3U8 Playback Errors and How to Fix Them

A stream may fail even when its playlist URL looks correct. Playback depends on the playlist, referenced media segments, server responses, browser capabilities, and any access controls applied by the content provider.

ProblemPossible reasonWhat to check
404 Not FoundPlaylist or segment path is unavailableCheck the URL and resource path
403 ForbiddenAccess denied, token expired, or authorization requiredConfirm permission and access credentials
CORS errorThe server does not allow the browser originCheck the stream server's CORS configuration
Unsupported codecThe browser or playback engine cannot decode the mediaVerify codec and device compatibility
Playlist will not loadInvalid response, MIME type, network, or playlist contentInspect the HTTP response and playlist text
Playback stopsMissing segments, network interruption, or expired accessCheck segment requests and URL validity

For a more useful diagnosis, check the playlist request and the media segment requests separately. A playlist can load successfully while one or more referenced segments remain inaccessible.

Test a supported stream with the OLABC M3U8 player

M3U8 questions

Frequently Asked Questions About M3U8

What is an M3U8 file?+

An M3U8 file is a UTF-8 playlist file commonly used with HLS. It describes media resources or references other playlists that identify the content a compatible player should retrieve.

Is M3U8 a video format?+

No. M3U8 is a playlist format, not a video container. It usually points to media segments or other playlists rather than storing the complete video itself.

What is the difference between M3U8 and HLS?+

HLS is the HTTP-based streaming protocol. M3U8 is the playlist format commonly used by HLS to describe streams and media segments.

Can I play M3U8 in Chrome?+

Yes, in supported configurations. Chrome commonly relies on a JavaScript HLS playback engine, such as hls.js, together with Media Source Extensions. Stream codecs and server settings also matter.

Can M3U8 be used for live streaming?+

Yes. HLS supports live streaming. A live media playlist can be updated as new segments become available.

What is an M3U8 master playlist?+

A master playlist describes available variants or renditions and points to their media playlists. A player can use this information to select a suitable stream.

Why does my M3U8 URL not work?+

Possible causes include an expired or inaccessible URL, missing segments, CORS restrictions, authorization requirements, unsupported codecs, or an invalid server response.

Can I convert M3U8 to MP4?+

An M3U8 playlist itself is not the video. A media workflow can retrieve and remux or transcode the referenced media when permitted and technically supported. Make sure you have the rights to access and process the content.

Does M3U8 require an internet connection?+

Online HLS playback normally needs a network connection to retrieve the playlist and its media resources. Offline playback requires the necessary resources to have been made available locally by a supported workflow.

How can I play an M3U8 URL online?+

Open a compatible online HLS player, paste an accessible M3U8 URL, and start playback. The stream must allow access from the browser and use supported media formats.

Ready to try it?

Play Your M3U8 Stream Online

Have an M3U8 playlist URL you are authorized to access? Open the OLABC player and test your supported HLS stream in your browser.

Go to M3U8 Player