Playlist format

IPTV M3U playlist — what the URL actually is

An M3U playlist is a text file with one channel per line. Everything confusing about it comes from the URL that generates it — so this page opens the file up, then explains each part of the link and where it belongs.

Updated 25 October 2026 5 min read 24-hour trial · no card

What is actually inside the file

An M3U playlist is not a video and not an app. It is a text file — often a few megabytes of it — where every channel is two lines: a description line beginning #EXTINF, then the stream address. Open one in Notepad and it looks like this:

#EXTM3U
#EXTINF:-1 tvg-id="bbcone.uk" tvg-logo="http://host:8080/logos/1.png" group-title="UK",BBC One
http://host:8080/live/USER/PASS/1234.ts
#EXTINF:-1 tvg-id="skysports.main" group-title="Sport",Sky Sports Main Event
http://host:8080/live/USER/PASS/1235.ts

The tvg-id is what links a channel to a guide entry, tvg-logo is the artwork the player shows, and group-title is the category the player builds its menu from. None of it is metadata you need to edit — but knowing it exists explains two things people ask about constantly: why a channel can have a name and no guide, and why renaming something in the player does not stick.

Reading your playlist URL

Providers do not host one file per customer. They generate the playlist from your account when you request it, which is why the URL is long and personal. It decomposes into five parts:

PartExampleWhat it does
Server http://host.example.com:8080 The machine that answers. The port is part of it.
Script /get.php The endpoint that builds a playlist. Not /player_api.php, which is the Xtream API.
Username username=abc123 Your account, in plain text.
Password password=xyz789 Also in plain text, also yours to protect.
Format type=m3u_plus&output=ts Which channels and which container. m3u_plus includes guide IDs and logos; m3u alone does not.

The format parameter is the part people accidentally drop. type=m3u returns the same channels without logos or guide IDs, so the list loads, looks plain, and the EPG has nothing to match against. If your welcome email offers m3u_plus, use that one.

M3U, M3U8, Xtream — three names, two things

M3U / M3U8 playlistXtream Codes
What you pasteOne URL containing your credentialsServer URL, username, password
Where the guide comes fromA separate XMLTV URLSupplied by the API
Refresh costRe-downloads the whole fileFetches only what changed
Best onDesktops, quick tests, simple TVsRemotes, Fire Stick, phones
Typical failureTruncated URLOne field with a trailing space

M3U8 is the same format saved as UTF-8 — the right default for channel names with accents. The extension is overloaded, though: an .m3u8 file is also what an HLS stream manifest is called, and that is a list of video segments, not a list of channels. When a playlist URL ends output=m3u8, you are asking for HLS delivery, which buffers better on weak Wi-Fi at the cost of a second or two of extra delay.

Where the URL goes

PlayerMenu pathNotes
TiviMate Settings → Playlists → Add playlist → M3U playlist Accepts the URL or a local file; guide URL asked for on the next screen
IPTV Smarters Pro Login → M3U URL Also has a local-file option for exported lists
VLC Media → Open Network Stream No channel grid or guide; good for proving the URL works
Kodi PVR IPTV Simple Client → M3U Play List URL Set the EPG path in the same panel or the guide stays blank
Smart TV (SS IPTV) Settings → Content → Playlist URL Typing a long URL with a TV remote is painful — use the app’s web upload
Apple TV (iPlayTV) Add playlist → Remote URL tvOS has no clipboard sharing; type carefully or use the iPhone app

Test the URL before you touch the player

This one step settles whether the problem is the credentials or the app. Paste the full playlist URL into a desktop browser:

  • A file downloads, or thousands of lines of text appear — the credentials are valid and the server is reachable. Any failure after this is local to the player or the device.
  • A one-line error appears — the server answered and rejected the login. Copy the fields again from the email; do not keep editing the player.
  • The page never loads — DNS, port or ISP blocking. Try the same URL on mobile data to tell the last one apart.

Do not test it in a shared browser window

A playlist URL is a password in URL form, and it will sit in the address bar history afterwards. Test in a private window, or paste it into a text editor and delete it when you are done.

Why a playlist that worked stops working

SymptomCauseFix
Channels vanish after a refresh The account expired or was reset Check the plan’s term, then sign in again with the current URL
“Invalid username” where it worked last week The URL was copied from a rendered HTML email, so & replaced & Retrieve the plain-text version, or rewrite the parameter separators
List loads, every stream fails The old server address was retired Replace the host in the URL; the credentials are unchanged
Works at home, not at the office Network-level filtering of the port Nothing to fix in the player — try another network
One device works, another is refused Connection limit reached Close the other device or add a connection to the plan

If you have the choice, use Xtream

Both formats reach the same subscription, but the playlist carries its credentials inside the URL, which makes it one typo away from a support ticket on a television remote. The Xtream Codes login splits the same information into three short fields the player can validate one at a time — which is why every set-up guide here recommends it for a Stick or a TV, and keeps the playlist for desktops.

Questions about this

What is an M3U playlist in IPTV?

It is a plain text file listing stream addresses, one per line, each preceded by an #EXTINF line that gives the channel its name, logo and group. Your provider generates it on demand from your account, which is why the URL contains your username and password rather than pointing at a fixed file.

What is the difference between M3U and M3U8?

M3U8 is simply an M3U file saved as UTF-8, which is what you want for non-English channel names. The extension is also used for HLS manifests, which are a different thing entirely — a list of short video segments rather than a list of channels. In an IPTV playlist URL, output=ts delivers MPEG-TS streams and output=m3u8 delivers HLS, and the second is more tolerant of weak Wi-Fi.

Can I open the playlist URL in a browser?

Yes, and you should when something is wrong. A working URL downloads a .m3u file or displays thousands of lines of text. A URL with bad credentials returns a short error string instead. That one test separates a credentials problem from a player problem before you change any settings.

Why does my playlist show only some of the channels?

Usually the URL was truncated when it was copied — everything from the first ampersand onward is missing, so the server receives a valid username but no password, or a password but no format. Paste it into a text editor first and check it ends with the format parameter, not mid-word.

Do I need a separate EPG URL?

With an M3U login, usually yes: the playlist carries channels, not guide data. The welcome email includes an XMLTV address ending in .xml or .xml.gz. Paste it into the player’s EPG settings, or the channel list will load with an empty guide beside it.

Is it safe to share my playlist URL?

No. The URL is the account: anyone who has it can watch on your connection and eat into your allowance. Do not post it in forums, screenshots or public chats, and ask support to reset your credentials if it has been exposed.

$5.42/mo on the 12-month plan Free trial