TROUBLESHOOT GUIDE · 10 min read

How to test an M3U8 playlist

Check playlist syntax, segment URLs, seeking, and final hosted playback in a repeatable order.

Start with the extracted package

Open the primary M3U8 as text. Confirm it begins with #EXTM3U and that every non-comment URI maps to a real child playlist or segment.

For Master output, repeat the inspection inside the referenced media playlist. This catches missing folders before hosting is involved.

Quick path chain
master.m3u8
  -> 720p/index.m3u8
       -> 720p/segment_000.ts
       -> 720p/segment_001.ts

Test more than startup

A player can start correctly while later segments are absent. Play the beginning, seek to several points, cross segment boundaries, and watch through the final seconds.

Check picture, sound, lip synchronization, duration, and whether the player reaches the end cleanly.

  • Beginning and ending
  • Seek near 25%, 50%, and 75%
  • Motion-heavy and quiet sections
  • Audio-only playback for MP3 sources

Inspect hosted requests

Use the browser network panel or HTTP tools to verify that playlists and segments return 200 responses with media content—not an HTML login or error page.

A 404 usually means a path or filename mismatch. A CORS console error means the browser was not allowed to read a cross-origin response.

Separate package and hosting failures

If the extracted package fails locally, regenerate it and inspect the source compatibility. If it works locally but not at the public URL, focus on upload completeness, letter case, MIME types, HTTPS, caching, and CORS.

Retest in a fresh session after changes so an old cached playlist does not hide the current package.

Technical references

Primary documentation used to review this guide:

Ready to create your HLS package?

Return to the converter. Your source file stays inside your browser.

Open converter