HLS Player Online (M3U8 Tester)
Paste an .m3u8 link to test an HLS stream in your browser. See every quality level, switch renditions and read the player log to debug problems.
How to test an HLS stream
- Copy the URL of the master playlist. It usually ends in
.m3u8, oftenmaster.m3u8orindex.m3u8. - Paste it into the box above and press Play stream. A public test stream is already filled in so you can see how the tool behaves.
- Use the quality menu to lock a rendition. This is the quickest way to check that every rung of your bitrate ladder actually plays.
- Read the log. Network errors, 403 and 404 responses and codec problems all show up there with the stage where they happened.
Reading the errors
manifestLoadError means the playlist itself could not be fetched. Check the URL, and check that the server sends an Access-Control-Allow-Origin header, because browsers block cross-site requests without it. levelLoadError points to a broken media playlist for one rendition. fragLoadError means segments are missing or blocked, which is common with expired tokens on signed CDN URLs. bufferAppendError or manifestIncompatibleCodecsError means the browser cannot decode what the stream contains, for example HEVC in Firefox.
What sits under the hood
The player uses hls.js, the open-source library behind many web players. In Chrome, Edge and Firefox it downloads segments itself and feeds them to the browser through Media Source Extensions. Safari on iPhone and iPad plays HLS natively, so there the tool hands the URL to the video element directly. If you want to understand the playlist format itself, paste it into our M3U8 analyzer or read what an M3U8 file is.
Only test streams you own or have permission to access. This tool does not bypass logins, tokens or DRM.
Frequently asked questions
Why does my m3u8 link not play here?
The most common causes are CORS (the server does not allow requests from other websites), an http:// stream being loaded on an https:// page, an expired signed URL, or DRM-protected content. The log under the player shows the exact error.
Can this player play DRM-protected HLS?
No. This is a testing tool for clear or AES-128 streams you control. FairPlay and Widevine streams need a licence server and a player configured for them.
Does my stream URL get sent to viddlp?
No. The player runs in your browser and requests the playlist and segments directly from the stream host.