M3U Playlist Checker โ test your IPTV links online
Paste your M3U URL or the raw .m3u content. The tool counts every entry, flags malformed lines, shows the channel-by-group breakdown, and probes up to 30 random streams for liveness. No upload, no signup, no provider URL stored anywhere. If your IPTV playlist suddenly broke last night, run it through here and you'll know in 30 seconds whether the subscription died or just the URL changed.
The URL is fetched server-side so browser CORS does not block it. We never log or store the URL.
Why your M3U playlist stops working (and how this checker tells you which)
The single most common reason an IPTV playlist suddenly stops working is that the subscription silently expired and nobody told you. The M3U URL still resolves โ you get a file back โ but every stream URL inside that file returns HTTP 401 or 403. Open the file in a player and you see the channel list, but click any channel and it just buffers forever. Paste the URL into this checker and run the 30-stream sample: if the report shows 30 dead, 0 working, that's an expired subscription. Renew, get a fresh M3U URL from your provider panel, paste the new one in, run the sample again. 30 working, 0 dead means you're back in business.
The second most common cause is the IPTV provider rotated server domains. Resellers do this every few months to dodge ISP-level blocks (especially in the UK and Italy where some broadband providers DNS-block known IPTV-reseller hostnames). The fix is the same โ pull a new M3U URL from your provider panel. If you can't reach the provider panel either, check from a different network or a mobile hotspot to rule out an ISP block on your end.
Third on the list: the playlist itself is intact but the channels you actually care about were dropped from the provider's lineup. The checker doesn't tell you exactly which channels disappeared, but if the sample comes back with 5 dead out of 30 (versus 30 of 30), that's the signature โ most of the playlist is alive, but a chunk got pulled. Open the playlist in TiviMate or IPTV Smarters and search for the specific channel you can't watch; if it's missing from the channel list entirely, your provider dropped it.
Less common but worth checking: malformed metadata. An IPTV provider with sloppy panel software can ship M3U files with mismatched #EXTINF lines, missing channel names, or corrupted attribute strings. The checker's "malformed lines" counter catches those. If you see 50+ malformed lines in a 5,000-channel playlist, the provider's export tool is buggy โ message support and they'll regenerate.
What this M3U tester checks (and doesn't check)
โ What we check
- Playlist file structure (#EXTM3U header)
- Total number of entries
- Malformed lines (orphan EXTINF, orphan URLs)
- Duplicate URLs across the file
- Missing metadata (tvg-id, group-title, tvg-logo)
- Group / category breakdown
- HTTP liveness on 30 sampled streams
โ What we deliberately skip
- Codec / resolution inspection (ffprobe)
- Audio track detection
- Subtitle track detection
- EPG XMLTV validation (different tool)
- Catchup / archive endpoint testing
- Bitrate measurement (would need to download chunks)
Each "skipped" item exists because it would multiply our bandwidth bill (ffprobe alone would download 30-150 MB per check) and make the tool abuse-prone. If you specifically need codec / resolution info on one stream, run it through VLC locally โ File โ Open Network Stream โ paste the URL โ Tools โ Codec Information.
Questions about M3U playlists and the checker
Everything we get asked by email + a few we get asked in person.
How does this M3U playlist checker work?
You give the tool either an M3U / M3U8 URL or the raw playlist content. The parser walks every #EXTINF line, pairs it with the stream URL on the next line, and reports the total entry count, malformed lines, duplicate URLs, missing tvg-id / group-title / tvg-logo metadata, and a breakdown of channels by group. Optionally the server samples up to 30 random URLs and probes each with a HEAD request to give a working-vs-dead ratio. Nothing is stored or logged.
Why does the tool only check 30 streams instead of every link?
Two reasons. First, IPTV playlists routinely contain 5,000 to 50,000 streams; checking all of them would take 10-60 minutes per playlist and DDoS the upstream IPTV servers (which would in turn get our IP blocked by them). Second, 30 random samples are statistically representative โ if 28 of 30 random streams are alive, the playlist is in good shape; if 25 of 30 are dead, the playlist is dead. Random sampling beats checking only the first 30, which are often hand-curated and not representative.
What is an M3U file and why do IPTV providers use it?
M3U is a plain-text playlist format originally designed for MP3 players in the late 1990s. The IPTV industry adopted M3U Plus (an extension with extra metadata fields like tvg-id, tvg-logo, group-title, catchup) because every modern IPTV player understands it. When you subscribe to any IPTV service, the provider hands you a URL that returns an M3U file containing one entry per channel: the channel name, logo URL, group, and stream URL. Your IPTV app reads that file once at startup and shows you the channel list.
My playlist used to work, now it doesn't โ what changed?
Five common causes. (1) Your subscription expired โ the M3U URL still loads but every stream inside returns HTTP 401 or 403. The sample check will show 30 dead out of 30. (2) The IPTV provider rotated server domains or changed the URL scheme โ the M3U file itself returns 404 or 502; download a fresh one from your provider panel. (3) Your ISP is blocking the provider's IP range โ try from a different network. (4) The playlist URL contained a session token that expired; regenerate. (5) Specific channels were dropped from the provider's lineup โ the playlist works but particular streams 404.
What's the difference between M3U and M3U Plus?
Plain M3U has only the channel name and the URL. M3U Plus (introduced around 2014) adds attribute fields on the #EXTINF line: tvg-id (matches the EPG to the channel), tvg-name (canonical channel name), tvg-logo (URL to a channel logo image), group-title (groups channels into categories like UK, Sport, News, Kids), catchup (signals which channels support 7-day catchup), and several others. Modern IPTV apps (TiviMate, IPTV Smarters Pro, IBO Player) prefer M3U Plus because it powers the channel-list UI; plain M3U leaves them showing just a flat list with no logos.
Is M3U the same thing as M3U8?
No. M3U is the playlist container โ a list of pointers to other URLs. M3U8 is HLS (HTTP Live Streaming), which IS a container for video chunks. The confusion comes from file extensions: both can be called .m3u or .m3u8 on disk. In practice, "an M3U file" in the IPTV world is a playlist that contains 5,000 channel entries; "an .m3u8 URL" inside that playlist points to one specific HLS-formatted stream. The checker handles both: it parses the outer playlist as M3U and treats the inner stream URLs as opaque endpoints to probe.
Do you store the M3U file or my IPTV provider URL?
No. The server fetches the M3U content, returns it to your browser, and immediately discards it from memory. Nothing is logged. The same applies to the stream-sample check โ the URLs are probed and forgotten. You can verify this in the browser DevTools Network tab: the request body shows what you sent, and the response shows what came back; nothing else moves over the wire.
Does this tool detect codec or video resolution?
No โ we deliberately don't do codec or resolution inspection because it would require downloading 1-5 MB per stream (multiplied by 30 samples per check, multiplied by every user) to run ffprobe analysis. That bandwidth cost makes the tool either expensive to run or abuse-prone. If you specifically need codec / resolution data, run the stream URL through VLC: Window โ Media Information โ Codec Details shows it after the stream starts playing.
What counts as a "working" stream in the report?
The server makes a HEAD request to the URL with a 5-second timeout. A response with status 200-399 counts as working. 400-599 counts as dead (subscription expired, channel removed, server error). DNS failures or connection refused count as "error". Timeouts after 5 seconds count as "timeout" โ sometimes those are alive but slow, sometimes dead; treat the timeout bucket as ambiguous.
Is this M3U checker free? Why is it free?
Yes, completely free, no signup, no email harvesting. We run it because the iBostreaming team wanted a checker that actually works (most online ones either don't parse properly, are riddled with ads, or sell the URLs they receive). It's open source-style: the parsing logic and the server route are in our public GitHub. If our IPTV service catches your eye at the end of the page, great; if not, the tool stays free anyway.
Your old playlist is dead. Try a working one for 24 hours.
iBostreaming's M3U is one URL, 40,000+ channels, regularly maintained. 14-day money-back guarantee โ paste your activation code into TiviMate, channel list loads in 30 seconds.