XTREAM3U

Format hub

Public M3U playlists

M3U-focused public resource hub. M3U is a plain-text playlist format players resolve into channels. Use the validator to check header, entries, and parse errors before blaming the player.

Maintained by XTREAM3U Research · Entries updated 2026-10-03

Public M3U playlists — illustrated directory cover
PlaylistCategoryCountryTypeChannelsLast checkedStatus
IPTV-Org Public Collection (Main Index)

Source: iptv-org (GitHub, third-party)

internationalinternationalm3uUnknownNot checked yetUncheckedTest →
IPTV-Org Public Collection — USA

Source: iptv-org (GitHub, third-party)

generalusam3uUnknownNot checked yetUncheckedTest →
IPTV-Org Public Collection — UK

Source: iptv-org (GitHub, third-party)

generalukm3uUnknownNot checked yetUncheckedTest →
IPTV-Org Public Collection — Sports

Source: iptv-org (GitHub, third-party)

sportsinternationalm3uUnknownNot checked yetUncheckedTest →
IPTV-Org Public Collection — News

Source: iptv-org (GitHub, third-party)

newsinternationalm3uUnknownNot checked yetUncheckedTest →

Reading an M3U entry in ten seconds

Every resource listed here is a text file starting with #EXTM3U, followed by repeating pairs: an #EXTINF line carrying the display name plus optional group-title, tvg-id, and logo attributes, then the stream URL on the next line. Documented: this header and UTF-8-without-BOM encoding behavior descends from the M3U family documented in RFC 8216 §4.1. Strict players reject files that violate it, while VLC forgives them, which explains most “works on desktop, fails on TV” reports.

Because the format is inspectable, every entry here can be verified before it ever touches a player: fetch the URL, confirm the header, count the entries. That inspectability is M3U's structural advantage over login-based formats. See M3U vs Xtream for the full contrast.

Encoding pitfalls that break strict players

Four byte-level issues cause most “valid-looking file, rejected import” cases. Documented: the descendant specification requires UTF-8 without a byte-order mark and LF or CR+LF line endings with no stray whitespace, so each of these is a spec-level defect, not a player quirk:

  • Byte-order mark: invisible bytes before #EXTM3U that strict parsers read as a corrupt header. Re-save explicitly as “UTF-8 without BOM”; most editors hide this setting two menus deep.
  • Wrong encoding (mojibake names): files saved in legacy Windows encodings render accented and non-Latin names as garbage. The fix is at the source file, not the player. No player setting repairs mis-encoded bytes.
  • Mixed line endings: CRLF and LF mixed through cross-platform editing. Tolerated by most parsers, but trailing whitespace after stream URLs breaks strict ones, so trim line ends when hand-editing.
  • Smart quotes and rich-text damage: editing in word processors or notes apps replaces straight quotes in attributes with curly ones and injects formatting. Plain-text editors and the M3U editor only.

Testing workflow for anything listed here

  1. Open the entry's detail page and check source, last-checked time, and status. Unchecked means unknown, not broken.
  2. Run the URL through the IPTV test: HTTP 200, M3U header present, entries above zero.
  3. Paste excerpts into the validator if a player rejects the file; fix header, pairing, and encoding findings top-down.
  4. Attach EPG via the EPG test-verified guide URL, matching on tvg-id.
  5. Import into a player verified for M3U, build favorites, and set a refresh cadence.

FAQ

The URL downloads a file instead of opening. Is that wrong? No, that's correct behavior for a playlist file. Save it, or better, give the player the URL so it can refresh.

Why do entries show “Unknown” channel counts? Counts are recorded from real parses only. Until the checker parses an entry, Unknown is the honest value.

Can I edit these lists? For personal use, yes. Rename and regroup with the M3U editor. Redistribution terms live with each source.

GitHub link shows a webpage, not the file. What now? You pasted the repository page instead of the raw file URL. Open the file on GitHub and use its “Raw” view; that URL returns the playlist text players expect.

.m3u or .m3u8: which should I prefer? Whichever the source maintains better. The extensions signal encoding lineage, but freshness and entry quality dominate: a maintained .m3u beats an abandoned .m3u8 every time.

The validator passes but my TV still rejects it. Why? Stale cached import on the TV is the prime suspect: remove the playlist from the app entirely and re-add it. “Refresh” often re-reads the failed parse rather than fetching anew.

How do I play an M3U file on my phone? Paste the URL into any compatible player app (see the M3U player guide for selection criteria), or preview it instantly with the M3U viewer. No downloads or accounts are needed for public lists.

Where can I find M3U playlists to use? Start with the entries on this page: each links to a detail page with source, format, and test status. Prefer small focused files over giant indexes, and always test before importing.

How these entries are checked

Methodology: status badges appear only with a real check timestamp; until then entries show as Unchecked with unknown counts. Channel counts come from parsed data, never estimates, and HTTP 200 on a playlist URL never implies every stream plays. Third-party sources are attributed and their licensing is stated only when known. The full methodology — badge meanings, freshness reading, and what we never claim — is on the main directory page.

Sources

Current entries derive from the iptv-org public collection (verified October 2026); format rules reference RFC 8216 §4.1. Full definitions: What is an M3U playlist?