Online HLS m3u8 Playlist Inspector and Validator

Online HLS Playlist
& DASH Manifest Inspector.

Validate .m3u8 Playlists, Inspect Variants, Codecs and Segment Timing Instantly

An HLS master playlist that loads but never plays, or a media playlist with a missing #EXT-X-ENDLIST, costs you viewers the moment they hit play. This tool parses your HLS (m3u8) playlists and MPEG-DASH (MPD) manifests and turns them into a readable report: variants, renditions, codecs, segment durations, target latency and a validation checklist.

Everything runs entirely client-side / in your browser. Paste a manifest URL, drop a .m3u8 file, or paste the playlist text directly — nothing is stored, and the manifest is never forwarded to any server. When you load a manifest from a URL, the request goes directly from your browser to your own server, so it only works if that server allows cross-origin reads (CORS). Not a fan of CORS errors? Just open the manifest in a text editor and paste its contents instead.


HLS / DASH manifest inspector

The parser auto-detects whether the input is an HLS master playlist, an HLS media playlist or a DASH MPD, and renders the matching report.

Fetching a remote manifest requires the manifest server to send Access-Control-Allow-Origin headers (CORS). If the fetch is blocked, download the playlist and drop it below, or paste its text.

Drop .m3u8 / .mpd file here or click to browse

…or paste the raw manifest text below

What the Inspector Checks

For HLS master playlists the tool lists every variant in the order a player will read it: peak and average bandwidth, resolution, frame rate, video range and the CODECS= string. Each codec identifier is then tested against your browser with both MediaSource.isTypeSupported() and <video>.canPlayType(), so you immediately see whether this browser could play each rendition.

For HLS media playlists it reports segment count, total duration, the declared #EXT-X-TARGETDURATION versus the actual maximum segment length, playlist type (VOD, Event or Live), and the lowest-latency tuning when Low-Latency HLS tags (#EXT-X-SERVER-CONTROL, #EXT-X-PART-INF, #EXT-X-PART) are present.

For DASH MPD manifests it summarizes the manifest type (static/dynamic), durations and presentation, every Period, Adaptation Set and Representation with codec strings, resolutions and bandwidths, plus segmentation style and DRM signaling.

The validation checklist

Beyond pretty tables, the tool runs a list of common-sense checks that catch the mistakes players actually fail on:

  • Missing #EXTM3U header — every conformant parser rejects the playlist without it.
  • Segment longer than #EXT-X-TARGETDURATION — live playlists hit this immediately, iOS Safari can stall on it.
  • Missing #EXT-X-ENDLIST on what looks like finished VOD — the classic "spinner forever" manifest.
  • Unsorted or duplicate variant bandwidths, variants without CODECS= (Smart TV players frequently need it), and missing resolutions.
  • Media sequence continuity, #EXT-X-KEY declared without a URI, encrypted variants with no key URI, and suspicious relative URIs.

Debugged your manifest — now make it play everywhere?

The Bradmax HTML5 player handles HLS, MPEG-DASH and Low-Latency HLS across Web, Smart TV and mobile, with the codec fallbacks this report can only point at. Drop the same manifest into our demo to see it play.

See it in action: Test your stream via our Media Player.

Want to dig one level deeper?

Inspect a single HLS/MPEG-TS segment with our MPEG-TS inspector, the container bytes of a progressive file with our MP4 file inspector, or whether your MP4 is streamable with our MP4 faststart checker.