Xtream Codes vs M3U: the short answer
Both formats give a player app access to the same thing: the streams included in your IPTV subscription. The difference is in how the app receives them.
- An M3U playlist is a text list. The app downloads it once, reads every line and builds the channel list.
- An Xtream Codes login lets the app talk to the provider’s server and request specific parts: live categories, then films, then series, then the guide.
Think of M3U as receiving a printed catalogue, and Xtream Codes as having an account on the shop’s website. Same shop, same products, different experience.
Neither format is an app, and neither is a subscription by itself. They are the delivery method for the access your subscription gives you. The player app, whether IBO Player, TiviMate or another, is a separate product that reads them.
What an M3U URL looks like
An m3u url from a typical provider looks like this:
http://server-address.example:8080/get.php?username=YOURNAME&password=YOURPASS&type=m3u_plus&output=ts
Read it piece by piece:
| Part | Meaning |
|---|---|
http://server-address.example:8080 |
The server and its port |
/get.php |
The script that produces the playlist |
username=YOURNAME |
Your username |
password=YOURPASS |
Your password |
type=m3u_plus |
A richer playlist format with logos and categories |
output=ts |
The stream format (TS; some providers offer HLS as m3u8) |
Once you can read this, you can see that the M3U link already contains your Xtream Codes details. That is why converting between the two is usually easy.
What Xtream Codes details look like
An Xtream Codes login has three fields:
- Server URL (also called host or portal URL):
http://server-address.example:8080 - Username:
YOURNAME - Password:
YOURPASS
Apps such as IPTV Smarters Pro, Smarters Player Lite, XCIPTV and TiviMate have a dedicated form for this. IBO Player accepts it on its playlist portal.
Converting between the two formats
From M3U to Xtream Codes: take everything before /get.php as the server URL, the value after username= as the username, and the value after password= as the password. Stop each value at the next &.
From Xtream Codes to M3U: most providers use the pattern shown above. Assemble the server URL, then /get.php?username=, your username, &password=, your password, and &type=m3u_plus. Ask your provider to confirm the exact form, because some add or change parameters.
Small details matter. Do not drop the port. Keep http:// at the start. Do not leave a space at the end. And remember that usernames and passwords are case-sensitive.
Where the EPG URL fits in
The programme guide is a separate file, usually in XMLTV format. Its address is the epg url. With many providers it follows a pattern such as:
http://server-address.example:8080/xmltv.php?username=YOURNAME&password=YOURPASS
How apps find it:
- With Xtream Codes, the app knows the server and credentials, so it can request the guide by itself. In most apps, the guide just appears.
- With M3U, the playlist may contain the guide address in its header (
url-tvg). If it does not, you add the EPG URL manually in the app’s guide settings.
If channels show but the guide is empty, the cause is nearly always a missing or wrong guide address, not a broken playlist. Our IBO Player playlist guide shows where to add it in IBO Player.
Which format to choose in each app
| App | Recommended format | Why |
|---|---|---|
| IBO Player | Xtream Codes on the portal | Film library and guide come automatically |
| IPTV Smarters Pro, Smarters Player Lite | Xtream Codes | Built around that login |
| TiviMate | Either; Xtream Codes is simpler | Guide detected automatically |
| XCIPTV | Xtream Codes | Designed for it |
| Smart IPTV, SET IPTV | M3U | Upload pages expect a link |
| SS IPTV | M3U | Links or editor, no login screen |
| GSE Smart IPTV | Either | Separate sections for each |
For the app-by-app details, see the IPTV player apps page.
Mistakes that break playlists
- Uploading a file instead of a link. A downloaded M3U file is a frozen copy. When the provider changes a stream address, the file goes stale. A link refreshes.
- Cutting the link. Some messaging apps break long addresses across lines. Make sure you copy the whole thing.
- Mixing accounts. Using the server of one account with the credentials of another fails silently in some apps.
- Using public M3U lists. They are unreliable, often outdated, and the content is generally not something you are entitled to watch.
Summary
The xtream codes vs m3u choice is less dramatic than it seems. Both formats usually describe the same account. Use Xtream Codes when your app supports it, M3U when it does not, and add the EPG URL manually only when the guide does not appear by itself. If a playlist still refuses to load after these checks, our IBO Player not working guide lists the next steps.