{{schema.webApplication}}
Paste your M3U8/HLS manifest content below to instantly parse and visualize stream variants, segments, encryption details, and more.
Paste M3U8 content and click "Parse" to see results.
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.
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.
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.
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.
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.
Inspect master playlists to understand the available quality ladder - bandwidth thresholds, resolution options, and codec configurations offered by a streaming service.
Check that DRM and encryption tags are correctly configured in your HLS manifests, including key rotation patterns, initialization vectors, and encryption methods.
Quickly determine the total duration of a VOD stream by summing all segment durations, useful for verifying encoding output or estimating storage requirements.
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.
#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.
#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.