{{schema.webApplication}}
gv45 gv45

M3U8 / HLS Playlist Parser

Paste your M3U8/HLS manifest content below to instantly parse and visualize stream variants, segments, encryption details, and more.

Supports both master playlists (with #EXT-X-STREAM-INF) and media playlists (with #EXTINF segments).
Parse Results

Paste M3U8 content and click "Parse" to see results.

How It Works

HTTP Live Streaming (HLS) is the most widely deployed adaptive bitrate streaming protocol on the internet today. Originally developed by Apple in 2009, HLS delivers video and audio content by breaking media into small file segments and serving them over standard HTTP connections. The protocol uses M3U8 playlist files as its manifest format to describe the available streams and their properties.

An M3U8 file is essentially a UTF-8 encoded text file that follows the Extended M3U format. It begins with the #EXTM3U header tag and contains a series of tags prefixed with #EXT-X- that provide metadata about the stream. There are two types of M3U8 playlists: master playlists (also called multivariant playlists) and media playlists.

Master Playlists

A master playlist acts as a table of contents for an HLS stream. It contains #EXT-X-STREAM-INF tags that describe variant streams available at different quality levels. Each variant entry specifies properties like bandwidth (bits per second), resolution (width x height), codec information (using RFC 6381 codec strings), and optionally references to alternative audio or subtitle renditions via #EXT-X-MEDIA tags. The player uses this information to select the most appropriate quality level based on the viewer's network conditions and device capabilities.

Media Playlists

A media playlist contains the actual segment references that make up the stream. Each segment is described by an #EXTINF tag specifying its duration in seconds, followed by the segment URI (which can be a relative or absolute URL). Additional tags like #EXT-X-TARGETDURATION declare the maximum segment duration, #EXT-X-MEDIA-SEQUENCE indicates the sequence number of the first segment, and #EXT-X-KEY provides encryption parameters when content protection is applied.

How This Parser Works

Our M3U8 parser processes the playlist text entirely in your browser using JavaScript. It performs a line-by-line analysis of the content, identifying and categorizing each HLS tag. The parser first validates the #EXTM3U header, then extracts global properties like version, target duration, and media sequence. It detects whether the content is a master playlist or media playlist based on the presence of #EXT-X-STREAM-INF tags.

For master playlists, the parser extracts each variant stream's bandwidth, resolution, codecs, frame rate, and audio group references. For media playlists, it catalogs every segment with its duration, URI, and associated encryption keys. The parser also identifies discontinuities, byte ranges, and playlist end markers (#EXT-X-ENDLIST). Results are displayed in a structured format with summary statistics including total duration, segment count, and average segment length.

Because all processing happens client-side, there is zero latency from network requests and complete privacy for your data. The parser handles playlists of any size, from simple VOD manifests with a handful of segments to complex live streams with hundreds of entries and multiple encryption key rotations.

Use Cases

Debugging Playback Issues

When a video player fails to load or stutters, paste the M3U8 manifest to quickly identify malformed tags, missing segments, or incorrect codec strings that may be causing the problem.

Analyzing Stream Quality Tiers

Inspect master playlists to understand the available quality ladder - bandwidth thresholds, resolution options, and codec configurations offered by a streaming service.

Verifying Encryption Setup

Check that DRM and encryption tags are correctly configured in your HLS manifests, including key rotation patterns, initialization vectors, and encryption methods.

Calculating Stream Duration

Quickly determine the total duration of a VOD stream by summing all segment durations, useful for verifying encoding output or estimating storage requirements.

Learning HLS Format

Students and developers new to streaming can paste sample manifests to understand the structure and meaning of each HLS tag in a visual, interactive way.

Frequently Asked Questions

An M3U8 file is a UTF-8 encoded playlist file used by HTTP Live Streaming (HLS). It contains references to media segments or variant streams, along with metadata tags that describe the stream properties such as bandwidth, resolution, and codec information. The format was originally developed by Apple and is now the most widely used adaptive streaming format on the web.

Yes. All parsing happens entirely in your browser using JavaScript. Your M3U8 content is never uploaded to any server. You can verify this by checking the Network tab in your browser's developer tools while using the parser - you will see zero outgoing requests containing your playlist data.

The parser extracts variant stream information (bandwidth, resolution, codecs, audio groups), individual segment details (duration, URI, sequence number), encryption parameters (method, URI, IV), target duration, media sequence number, playlist type, and version information. It also calculates summary statistics like total duration and average segment length.

A master playlist (also called a multivariant playlist) contains #EXT-X-STREAM-INF tags that reference multiple media playlists at different quality levels. A media playlist contains #EXTINF tags followed by segment URIs that point to the actual media data. The parser automatically detects which type you have and displays the appropriate information.

The parser can read and display encryption metadata from #EXT-X-KEY tags, including the encryption method (AES-128, SAMPLE-AES), key URI, and initialization vector. However, it does not decrypt the actual media content - it only analyzes the manifest structure and reports the encryption configuration.

Related Tools & Articles