Skip to main content
Free 24-hour trial Start now
DrexTV
Technical

M3U vs Xtream Codes: Which Connection Method to Use

Why an M3U playlist gives you no programme guide and no on-demand library, what the Xtream Codes API adds, and when the older method is still the right choice.

Last reviewed 2 September 2026

Technical11 min readPublished By the DrexTV engineering team

Quick answer

Should I use M3U or Xtream Codes for IPTV?

Use Xtream Codes if your player supports it. An M3U playlist is a static text file containing channel names and stream URLs — nothing else — so it produces a flat channel list with no programme guide, no categories and no on-demand library. Xtream Codes is an API: your player asks the server for the channel list, the guide and the on-demand catalogue separately, which is what gives you posters, a working guide and resume tracking. M3U remains useful for quick tests in VLC and for older players that lack API support.

This is the single most consequential setup decision in IPTV, and it is usually made by accident. People paste whichever credential arrived first in the email, end up with a flat channel list and no programme guide, and conclude that the provider is missing features it actually supplies.

The distinction takes two minutes to understand and permanently changes how good your setup feels.

What each one actually is

An M3U playlist is a plain-text file. It has been around since the 1990s and it was designed for audio playlists. Each entry is a display name and a URL, and that is the whole format. When your player loads an M3U, it downloads a static snapshot of that list and shows you the names.

Extended M3U adds attribute tags for logos, group titles and a channel identifier for matching against an external guide file. That helps, but it is still a static file that must be re-downloaded to reflect any change, and it still contains no guide data itself.

Xtream Codes is an API standard — a defined set of requests a player can make to a server. It is worth stating plainly that it is a protocol, not a company or a service you sign up to. Your player authenticates with a server URL, username and password, then asks separate questions: what categories exist, what channels are in this category, what is the guide for this channel, what films are in the on-demand library, where did this user stop watching.

The practical difference

Because the player can ask structured questions, it can build a real interface. Channels arrive already grouped into categories rather than as one list of thousands. The programme guide arrives as data, so a grid renders with correct times in your timezone. Catch-up appears in the guide itself, so scrolling back and pressing play works. The on-demand library appears as a browsable section with posters, synopses, cast and per-episode detail for series, and your playback position is tracked per title.

With M3U you get none of that. You get a list. If your provider also publishes a separate guide URL you can add it manually and get a partial guide, but on-demand content — if it appears at all — arrives as thousands of unsorted entries with no metadata, which is unusable in practice.

There is a second, less obvious advantage: resilience. When we re-point a channel to a healthy source, an Xtream Codes player picks up the new URL on its next request. An M3U player is still holding the old URL from whenever the file was downloaded, so the channel appears broken until the playlist is reloaded. A meaningful share of "channels stopped working" reports resolve to exactly this.

Side by side

Programme guide: Xtream Codes includes a full 7-day guide as data. M3U has none unless you add a separate URL manually, and then only for channels whose identifiers match.

Categories: Xtream Codes delivers them from the server. M3U relies on group tags that vary in quality and are often absent.

On-demand library: Xtream Codes provides a browsable section with posters, synopses and season groupings. M3U produces an unsorted list of URLs, or nothing.

Resume position: Supported with Xtream Codes, tracked per title and per profile. Not possible with M3U.

Catch-up: Integrated into the guide with Xtream Codes. Not available through M3U.

Channel updates: Automatic with Xtream Codes. Requires a manual playlist reload with M3U.

Player support: M3U works in essentially everything, including VLC and Kodi. Xtream Codes works in every current dedicated IPTV player but not in general-purpose media software.

Setup effort: M3U is one URL. Xtream Codes is three fields. Neither is difficult.

When M3U is still the right choice

Three legitimate cases. Quick diagnosis: pasting a single stream URL into VLC on a laptop is the fastest way to establish whether a stream is alive at all, with no app, no account and no interface in the way. When a customer reports that everything is broken, this is the first thing we ask them to try.

Kodi: the PVR IPTV Simple Client is M3U-based, so if you are committed to Kodi you are using M3U by definition. Add the separate guide URL manually to get a partial guide.

Older or unusual hardware: some legacy smart TVs and older set-top boxes have built-in players that only accept a playlist URL. M3U is what makes those devices work at all.

Outside those cases, Xtream Codes is the better choice every time. Our player comparison notes which apps support each method.

How to connect with each

Xtream Codes. In your player, choose to add a playlist and select the Xtream Codes or "login with username" option. Enter the server URL exactly as supplied, including the port number — this is the field people get wrong most often. Enter your username and password, save, and wait ten to thirty seconds while the channel list and guide download. The first load is the slow one; subsequent launches are fast.

M3U. Choose to add a playlist and select the M3U or URL option. Paste the full playlist URL, which will be long and include your username and password as parameters. Save and wait for the list to load. If your provider supplies a separate guide URL, add it in the guide or EPG settings.

We send both sets of credentials with every subscription and every trial, so you can start with Xtream Codes and keep the M3U URL for diagnosis. Our device guides cover both methods per platform.

Common problems with both

"Invalid credentials" on Xtream Codes. Nine times out of ten this is the server URL missing its port number, or a typing error in the username. A capital I read as a lowercase l, a zero read as a capital O, and a trailing space copied from an email account for most of the rest. Copy and paste rather than typing.

The guide is empty or offset by an hour. Check the timezone setting in your player. Automatic detection is usually right and occasionally wrong, and an offset guide is worse than none — you will miss programmes and blame the service. Set it explicitly.

Channels missing after they worked yesterday. On M3U, reload the playlist; the file is stale. On Xtream Codes, clear the app cache and restart, which forces a fresh category request.

The on-demand section is empty. You are on M3U. Reconnect with Xtream Codes and the 140,000+-title library will appear with posters and metadata.

Everything loads but nothing plays. The connection is fine and the stream is the problem — either your simultaneous-connection limit is reached, or the source needs re-pointing. Our support page has a five-minute sequence for isolating this.

What DrexTV sends you, and why both methods exist

Every activation email includes Xtream Codes fields and an M3U URL. That is not indecision. Xtream Codes is the daily driver. M3U is the escape hatch for VLC, a hotel laptop, or a player that predates the API. If you only bookmark the long playlist because it “looked simpler”, you will spend the next month asking why there is no guide. The simpler typing job is three short fields, not a 200-character URL on a D-pad.

Setup guides pick the method per device. This article exists so you can refuse a host who only offers M3U and calls the missing EPG a premium extra. The guide is not a premium extra. It is the difference between television and a bucket of URLs.

Frequently asked questions

Should I use M3U or Xtream Codes?

Use Xtream Codes if your player supports it, which almost all modern players do. It delivers the channel list, the programme guide and the on-demand library as structured data, which is why you get posters, categories and a working guide. An M3U playlist carries only channel names and stream URLs, so you get a flat list with no guide and no on-demand section.

Why does my IPTV have no programme guide?

Because you connected with an M3U playlist. An M3U file is a plain-text list of channel names and stream URLs and contains no guide data at all. Some providers supply a separate guide URL you can add manually, but the simpler fix is to reconnect using the Xtream Codes credentials, which include guide data by default.

What are Xtream Codes credentials?

Three fields: a server URL including its port, a username and a password. Your player uses them to query the provider's API for the channel list, categories, the programme guide and the on-demand catalogue separately, rather than downloading one static file. Xtream Codes is an API standard rather than a company or a service.

Is Xtream Codes safe to use?

It is a connection protocol, not software you install, so there is nothing to be compromised by. The only real caution is that your credentials are effectively your subscription: anyone with them can use your connections. Do not post them in forums or public chats, and ask your provider to regenerate them if you think they have leaked.

Can I use both M3U and Xtream Codes?

Yes, and it is worth having both. We send both sets with every subscription. Use Xtream Codes as your main connection on your television, and keep the M3U URL for quick checks in VLC or on a device with an older player that does not support the API.

Why does my M3U playlist keep expiring?

An M3U file is a static snapshot generated at the moment you requested it. When the provider re-points a channel to a different source, your downloaded file still holds the old URL, so channels stop working until you reload the playlist. Xtream Codes avoids this entirely because the player asks for current URLs each time.

Does Xtream Codes use more bandwidth than M3U?

No, for the video itself — the stream is identical either way. The API makes a few small metadata requests that an M3U connection does not, amounting to a few hundred kilobytes when you open the app. It is irrelevant compared with even a minute of video.

Which players support Xtream Codes?

TiviMate, IPTV Smarters Pro, OTT Navigator, Televizo, GSE Smart IPTV, XCIPTV and most other current players all support it. The main exceptions are Kodi's PVR IPTV Simple Client, which is M3U-based, and VLC, which plays a single stream URL and has no concept of a subscription at all.
99.9% uptime target

Test all of this on a free 24-hour trial

Full channel and on-demand access, no card details, no auto-enrolment. Run it during your busiest viewing hour.