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 belowWhat 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
#EXTM3Uheader — 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-ENDLISTon 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-KEYdeclared 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.