Xtream Codes vs M3U: Which Connection Should You Use?
When you set up an IPTV player like TIVRA, you will typically have two ways to connect to your provider: an M3U playlist URL or Xtream Codes API credentials. Both get your channels playing, but they work differently under the hood and offer different feature sets. This guide breaks down the differences so you can choose the right one for your setup.
What Is an M3U Playlist?
An M3U playlist is a plain-text file that lists TV channels and their stream URLs. It is the simplest and most universal way to load channels into an IPTV player. The format has been around since the late 1990s and is supported by virtually every media player in existence.
When you use an M3U connection, your IPTV player downloads the entire playlist file, parses all the channel entries, and builds your channel list locally. The playlist is essentially a static document — a snapshot of what your provider offers at the time it was generated.
A typical M3U connection URL looks like this:
http://server.example.com:8080/get.php?username=user&password=pass&type=m3u_plus
For a detailed walkthrough on setting up M3U playlists, see our M3U setup guide.
What Is Xtream Codes API?
Xtream Codes API is a structured interface that IPTV providers use to deliver content to player apps. Instead of dumping everything into a single text file, the API provides separate endpoints for live channels, VOD content, series, EPG data, and account information.
When you use an Xtream Codes connection, you enter three pieces of information: a server URL, a username, and a password. The player then communicates with the server through a set of API calls to fetch categories, channels, EPG data, and stream URLs on demand.
An Xtream Codes connection uses credentials like these:
Server: http://server.example.com:8080
Username: myuser
Password: mypass
The key difference is that the API is dynamic. Instead of downloading a giant file with everything in it, the player requests only the data it needs, when it needs it. This makes the initial load faster and allows for features that M3U simply cannot support.
Feature Comparison
| Feature | M3U Playlist | Xtream Codes API |
|---|---|---|
| Live TV channels | Yes | Yes |
| VOD movies | Sometimes (if provider includes them) | Yes, with full catalog browsing |
| TV series | Rarely included | Yes, with season/episode structure |
| EPG program guide | Requires separate XMLTV URL | Built-in, automatic |
| Catch-up / timeshift | Not supported | Supported (if provider enables it) |
| Channel categories | Basic (from group-title attribute) | Full category tree from server |
| Account info | Not available | Expiry date, max connections, status |
| Initial load speed | Slower (downloads entire playlist) | Faster (loads categories first, then on-demand) |
| Compatibility | Universal — works with any player | Requires player support for the API |
| Setup complexity | Simple — paste one URL | Simple — enter server, user, pass |
When to Use M3U
M3U is the right choice when:
- Your provider only offers M3U. Some smaller or non-Xtream-based providers only distribute M3U playlists. In that case, the choice is made for you.
- You want maximum compatibility. M3U works with every IPTV player, every media player (VLC, Kodi, MPV), and even some smart TV built-in apps. If you switch between players frequently, M3U is the safe bet.
- You use a custom or curated playlist. If you maintain your own M3U file — perhaps combining channels from multiple sources or keeping a personal favorites list — M3U is the only option.
- You only need live TV. If you are not interested in VOD, series, or catch-up features, M3U delivers the core live TV experience just fine.
When to Use Xtream Codes
Xtream Codes API is the better choice when:
- You want EPG without extra setup. The biggest practical advantage of Xtream Codes is that EPG data comes automatically from the server. With M3U, you need to find and configure a separate EPG source.
- You watch VOD content or series. Xtream Codes provides a structured catalog with movie info, posters, and season/episode breakdowns. M3U typically only includes live channels.
- You want catch-up TV. If your provider supports catch-up (replaying programs from the last 24-72 hours), this feature is only available through the Xtream Codes API.
- You have a large channel list. With 5,000+ channels, an M3U file can be several megabytes and slow to parse. Xtream Codes loads category-by-category, which is faster and uses less memory.
- You want to check your account status. Xtream Codes lets your player show your subscription expiry date, maximum allowed connections, and account status.
How to Switch Between Them in TIVRA
TIVRA supports both connection types, and you can even have multiple providers configured simultaneously — some via M3U and others via Xtream Codes. Here is how to set up or switch:
- Open Settings from the sidebar.
- Go to Content Sources.
- Tap Add Provider and choose either "M3U Playlist" or "Xtream Codes."
- Enter your credentials and save.
If you already have a provider set up via M3U and want to switch to Xtream Codes (or vice versa), you can add the new connection as a separate provider. You do not need to delete the old one first — TIVRA will let you switch between providers from the sidebar.
Note: Your favorites and custom channel arrangements are stored per provider. If you switch from M3U to Xtream Codes for the same service, you will need to re-mark your favorite channels.
Can You Use Both at the Same Time?
Yes. In TIVRA, you can add multiple providers using different connection types. This is useful if you have one provider that only offers M3U and another that provides Xtream Codes credentials. You switch between them from the sidebar menu.
Some users also add the same provider twice — once via Xtream Codes for daily use (to get EPG and VOD) and once via M3U as a fallback in case the API endpoint has issues. This is a valid approach, though most of the time one connection is sufficient.
Performance Differences
In terms of streaming quality, there is no difference. Both connection types ultimately deliver the same video streams from the same servers. The stream URL format and codec are identical regardless of how you connected.
The difference is in metadata loading. With M3U, your player downloads the entire playlist upfront, which can take 10-30 seconds for large lists (10,000+ channels). With Xtream Codes, the initial load is faster because only the category list is fetched first. Individual channel lists within categories are loaded on demand as you browse.
For daily use, once everything is loaded, the experience is essentially the same. Both connection types in TIVRA support channel favorites, category browsing, and search. The main ongoing advantage of Xtream Codes is automatic EPG updates without needing a separate XMLTV source.
The Bottom Line
If your provider offers both options, use Xtream Codes. The automatic EPG, VOD support, catch-up capability, and faster initial loading make it the superior choice for most users. The setup is equally simple — three fields instead of one URL.
If your provider only offers M3U, that is perfectly fine. M3U delivers an excellent live TV experience, and with a separately configured EPG source, you can still get full program guide data. Check our M3U setup guide for step-by-step instructions.
Try TIVRA TV
TIVRA supports both M3U playlists and Xtream Codes API. Connect your provider in under a minute.
Download for Android TV