Most IPTV streaming servers don't include CORS headers, which means browsers can't read the stream content directly. When we detect this, we run a second probe to confirm the server is actually responding. 'Server Reachable' means the server is up and responding, the stream will almost certainly work in an IPTV player. Click 'Play' to open it in the browser player.
M3U8 Stream Checker: test any HLS URL
Paste one or more stream URLs below to check if they are working, get response details, and view available quality levels.
Checking whether a stream is alive
Paste a URL. The checker requests it and reports what came back: the status code, how long it took, and whether a manifest was actually served rather than an error page wearing a 200. Do several at once and you get a table instead of a guess.
What the three results mean
Working means a manifest came back and parsed. Dead means the request failed outright: no DNS, connection refused, a 404. Server reachable is the interesting one, and it is not a failure. It means the host answered but the browser was not allowed to read the response, which happens constantly and says nothing at all about whether the stream plays in a native app.
Why most streams report "server reachable"
That last case is CORS. A browser will not let a page read a response from another origin unless that origin says so with an Access-Control-Allow-Origin header. Most stream servers never send one. They were not built for browsers. So the check can tell you the machine is alive and answering, and still not be permitted to look inside the reply. VLC has no such restriction, which is why a URL can fail here and work there.
Separating the failures
Failures worth separating. A plain http:// address cannot load on a secure page at all, and no header fixes that. A redirect chain that ends somewhere unexpected usually means the token expired. A manifest that loads but lists no segments is a live stream that stopped. When you need a known-good address to compare against, the HLS test streams are there for it.
Formats it understands
The format is detected from the URL and from what the server says it is sending, so there is nothing to choose. HLS arrives as an .m3u8 manifest and is what most of this is. DASH arrives as .mpd. A direct .mp4 or .mkv is just a file and is treated as one.
For HLS the checker goes a step further and reads the manifest, so you also get the quality levels on offer, the video codecs declared, and any audio or subtitle tracks. If that is the part you care about, the HLS stream analyzer lays all of it out properly rather than as a summary line.
Frequently Asked Questions
What does 'Server Reachable' mean?
Can I check multiple streams at once?
Yes. Paste multiple URLs (one per line) and/or load an M3U playlist file. The checker processes all extracted URLs in optimized concurrent batches for fast, reliable results.
What stream formats are supported?
This checker supports HLS (.m3u8), DASH (.mpd), MP4, MKV, and other HTTP/HTTPS video stream URLs. It automatically detects the format and shows relevant details.
Why is the response time different for each stream?
Response time measures how long the server took to respond to our request. It depends on the server's location, current load, and your internet connection. Faster response times generally mean smoother playback. A response under 500ms is excellent; under 2 seconds is acceptable.
Can I check streams from my M3U playlist file?
Yes. You can load a .m3u/.m3u8 playlist file directly in this checker to validate all extracted stream URLs. If you also want automatic dead-channel removal and cleaned-playlist export, use our M3U Playlist Cleaner tool.
Related Tools
You might also find these tools useful: