STREAMING

HLS & DASH Manifest Inspector

Paste an HLS playlist (.m3u8) or DASH manifest (.mpd) and get a structured breakdown - variants, codecs, resolutions, bandwidths, segment durations, encryption tags, and parse errors. Want to test a live URL instead? Use the Stream Tester & Player.

Manifest type
Paste a manifest above to inspect.
    Want HLS / DASH packaging handled for you?

    OTT Engine packages CMAF segments with HLS and DASH manifests and multi-DRM out of the box - Roku, Fire TV, and Apple TV ready.

    What the inspector decodes

    The inspector parses two manifest types directly from the text you paste - it never fetches the URL, so CORS and mixed-content rules do not apply.

    HLS (m3u8) - master vs media playlist

    A master playlist lists each variant of the stream via #EXT-X-STREAM-INF plus alternative renditions (audio, subtitles, captions) via #EXT-X-MEDIA. A media playlist lists the actual segments via #EXTINF framed by #EXT-X-TARGETDURATION and ending with #EXT-X-ENDLIST (VOD) or no end tag (live).

    TagWhereWhat it means
    #EXT-X-STREAM-INFMasterDeclares one variant - BANDWIDTH, RESOLUTION, CODECS, FRAME-RATE
    #EXT-X-MEDIAMasterAlternative audio, subtitles, or closed-caption track
    #EXT-X-I-FRAME-STREAM-INFMasterI-frame-only variant for trick-play
    #EXTINFMediaDuration of the next segment in seconds
    #EXT-X-TARGETDURATIONMediaMaximum segment duration in the playlist
    #EXT-X-DISCONTINUITYMediaCodec / encoding boundary before the next segment
    #EXT-X-KEYMediaSegment encryption parameters - METHOD, KEYFORMAT, URI
    #EXT-X-ENDLISTMediaVOD playlist terminator (live playlists omit it)

    DASH MPD structure

    A DASH MPD is XML: <MPD> → <Period> → <AdaptationSet> → <Representation>. Each Representation has its own bandwidth, codecs, and a SegmentTemplate describing the segment naming scheme. Content protection lives on AdaptationSet or Representation via <ContentProtection> elements.

    Frequently Asked Questions

    How do I read an m3u8 file?

    An m3u8 file is a UTF-8 text playlist of #EXT tags. A master playlist lists each variant via EXT-X-STREAM-INF with BANDWIDTH, RESOLUTION, and CODECS attributes. A media playlist lists segments via EXTINF and the segment URI. Pasting either into this tool decodes the tags into a sortable table.

    What is EXT-X-STREAM-INF?

    Declares a variant inside an HLS master playlist. Required: BANDWIDTH and the URI on the next line. Common attributes: RESOLUTION, CODECS, FRAME-RATE, AUDIO/SUBTITLES/CLOSED-CAPTIONS group IDs, AVERAGE-BANDWIDTH.

    How is a DASH MPD different from an HLS master?

    A DASH MPD is XML and describes Periods → AdaptationSets → Representations. With CMAF the same fMP4 segments can be referenced from both an HLS master and a DASH MPD.

    Related tools

    Related reading