Two formats do the same job in IPTV: they tell your player where the channels are and prove you are allowed to watch them. One is a text file (M3U), the other is a login (Xtream Codes). Every IPTV app supports at least one, most support both, and providers send one or the other. This guide explains what each one is, when to use which, how to enter them correctly, and how to fix the errors they cause.
M3U: the playlist file
M3U is a plain text playlist format that dates back to the days of MP3 players. An IPTV M3U file is simply a list of channels, each with a name, a logo, a category and the internet address of its stream. Your provider gives you a URL that ends with something like get.php?username=…&password=…&type=m3u_plus; when the player opens that address, it downloads the list and shows the channels.
Strengths: it works everywhere, including very old apps, VLC on a computer, Kodi and some Smart TV apps that accept only playlists. Weaknesses: the list is a snapshot, so new channels appear only when the app re-downloads it; the EPG (TV guide) is a separate URL you often have to add by hand; and movies and series arrive as one enormous flat list rather than a browsable library.
Xtream Codes: the API login
Xtream Codes is the name of the server software most IPTV providers run (or a compatible clone). Instead of a file, you enter three things in the app: server URL (with its port, e.g. http://example.com:8080), username and password. The app then talks to the server directly and asks for what it needs.
Strengths: the channel list and the EPG update automatically, movies and series come with posters, descriptions and categories, catch-up works out of the box, and the app can tell you when your subscription expires. Weaknesses: only apps built for it support it (though that is now nearly all of them), and some free desktop players still take M3U only.
Which one should you use?
If your app offers both, choose Xtream Codes. It is the same subscription, but everything stays in sync and the on-demand library becomes usable. Use M3U when the app accepts nothing else (VLC, some Kodi add-ons, a few TV apps) or when you want to load the list into a tool that filters or renames channels.
Where to enter each one, app by app
- IPTV Smarters Pro: Login with Xtream Codes API for the login, or Load your playlist or file/URL for M3U. Setup details in our Smarters guide.
- TiviMate: Add playlist → Xtream Codes login or M3U playlist. TiviMate builds the EPG automatically from Xtream Codes; with M3U you add the EPG URL under Settings → EPG.
- XCIPTV, OTT Navigator, GSE, iPlayTV: all accept both; look for “Xtream” or “API” versus “M3U” when adding a playlist.
- VLC: Media → Open Network Stream → paste the M3U URL. No EPG, but useful for a quick test on any computer.
Reading your login message correctly
A typical activation message contains the server URL, username, password, an M3U link, an EPG link and an expiry date. Three details trip people up:
- The port number matters. http://example.com:8080 and http://example.com are different addresses. Copy the whole thing.
- Usernames and passwords are case-sensitive and often contain letters that look alike (l, I, 1, O, 0). Copy and paste; never retype.
- One M3U link already contains your username and password, so anyone who has the link has your subscription. Do not share it in groups or forums; your provider will disable it if it is used from too many places.
Common errors and their fixes
“Invalid credentials” / “Unable to login”: usually the port is missing or a character is wrong. Paste again from the original message; then check the expiry date and that you haven’t exceeded your connection limit.
M3U loads but shows 0 channels: the link was truncated when copied (they are long) or the app needs the m3u_plus version. Ask your provider for the full link and paste it through the app’s URL field, not by typing.
Channels work but the guide is empty: with M3U you need to add the EPG URL separately; with Xtream Codes, wait a few minutes after first login and refresh.
Everything worked yesterday, nothing today: the server address changed (providers move servers to stay fast) or the subscription expired. Check the latest message from your provider.
Buffering: not related to M3U vs Xtream; see our buffering guide.
A note on security
Never download an M3U list from a random website or a “free IPTV” Telegram channel. Those lists are unlicensed, break constantly and occasionally point to malicious streams. A real provider gives you your own credentials and support; ours arrive by WhatsApp in a few minutes. Ask for a free trial and you will see exactly what a proper activation message looks like.
Related: TiviMate vs IPTV Smarters · How it works · Help Center
