StreamTest

HLS analyzer

Audit an M3U8 master or media playlist, from ladder shape to live-edge drift.

Where to run the fetch
Request headers

For signed URLs and protected origins. In this browser mode, User-Agent, Referer and Cookie cannot be set — browsers forbid it — so use server mode for those.

For DRM streams with a cleartext key. Format kid:key or a 32-character hex key. Used only to play the stream in your browser — the key never leaves this page.

No analysis yet.

Enter a hls playlist url above, or paste the content, to see results here.

What this checks

  • ABR ladder shape: bitrate inversions, oversized gaps, duplicated rungs
  • Segment timing against EXT-X-TARGETDURATION, and duration variance
  • Live window depth, program date-time continuity and live-edge drift
  • Low-latency HLS: PART-TARGET, PART-HOLD-BACK and blocking reload
  • Encryption method, key URIs and EXT-X-VERSION compatibility

Privacy

Results are never shared. Choose “This browser” and the fetch and the analysis both happen on your machine — the URL, any headers you set and the results never reach our servers, which is also how you test a stream on a private network or behind a login. Pasted content is always analysed locally.

Common HLS findings, explained

Every finding links to a write-up on what it means and how to fix it.

Frequently asked questions

What does the HLS analyzer check?
ABR ladder shape: bitrate inversions, oversized gaps, duplicated rungs. Segment timing against EXT-X-TARGETDURATION, and duration variance. Live window depth, program date-time continuity and live-edge drift. Low-latency HLS: PART-TARGET, PART-HOLD-BACK and blocking reload. Encryption method, key URIs and EXT-X-VERSION compatibility.
Is the HLS analyzer free?
Yes. Every tool on StreamTest is free and works without an account. Sign in only to keep a private history.
Can I test a stream on a private network or behind a login?
Yes. Choose "This browser" and the fetch and the analysis both run on your machine — the URL, any headers you set and the results never reach our servers, so local, staging and authenticated origins work.
Do you support custom request headers and DRM keys?
Yes. You can set Authorization, User-Agent, Referer and Cookie headers per test, and supply cleartext ClearKey keys for encrypted DASH so the preview plays.