The response is not an HLS playlist
The document does not begin with #EXTM3U, so it is not a playlist at all.
What it means
Every HLS playlist must start with the #EXTM3U tag on its first line. What came back does not, so it is some other kind of document — very often an HTML error page returned with a 200 status.
Why it matters
A player receives exactly the same thing and refuses to start. Because the status code is often 200, monitoring that only checks status codes reports the stream as healthy while nobody can watch it.
How to fix it
- Open the URL directly and look at what comes back — an HTML login page or error page is the usual answer.
- Check whether the URL needs a token or a signed query string that has expired.
- Confirm you are pointing at the playlist and not at a player page that embeds it.
Check your own stream
The free HLS analyzer runs this check on every analysis and links each finding straight back here.
Open the HLS analyzer →Frequently asked questions
- What does "The response is not an HLS playlist" mean?
- Every HLS playlist must start with the #EXTM3U tag on its first line. What came back does not, so it is some other kind of document — very often an HTML error page returned with a 200 status.
- Why does it matter?
- A player receives exactly the same thing and refuses to start. Because the status code is often 200, monitoring that only checks status codes reports the stream as healthy while nobody can watch it.
- How do I fix it?
- 1. Open the URL directly and look at what comes back — an HTML login page or error page is the usual answer. 2. Check whether the URL needs a token or a signed query string that has expired. 3. Confirm you are pointing at the playlist and not at a player page that embeds it.
- How can I detect this automatically?
- Paste your HLS streaming URL into StreamTest's free HLS analyzer. It runs this check on every analysis, flags the finding, and links straight back to this page — no sign-up required.
Related HLS checks
- HLS ladder has a bitrate inversionA lower-resolution variant is allocated more bandwidth than a higher-resolution one, so adaptive switching picks the wrong rendition.
- HLS variant is missing the CODECS attributeWithout CODECS, players must download a segment before they can tell whether they can play the rendition at all.
- HLS variant references an undeclared rendition groupA variant points at an AUDIO or SUBTITLES group that has no matching EXT-X-MEDIA entry, which breaks playback on strict players.
- HLS segment is longer than EXT-X-TARGETDURATIONA segment rounds to more than the declared target duration, which violates the HLS specification.
- HLS live window is shorter than three target durationsThe playlist holds too little content, so any player that falls slightly behind runs off the end of the window.
- HLS playlist has no EXT-X-PROGRAM-DATE-TIMEWithout program date-time the stream cannot be mapped to wall-clock time, which breaks DVR seeking and multi-stream alignment.