Guide

M3U vs Xtream Codes: what is the difference and which should you use?

M3U playlists and Xtream Codes logins both feed your IPTV player. Here is how they differ, how to recognise yours and how to add them safely.

HHPlayer live TV with categories

The short answer

An M3U playlist is a single list of channels (and sometimes movies and series) delivered as a link or a file. An Xtream Codes login is a server address plus a username and a password: the app signs in to your provider's server and asks it for live TV, movies, series, the TV guide and, where offered, catch-up.

You do not choose between them: your provider decides what to give you, and many give both. If you have the choice, Xtream is usually the more convenient one in a player, and M3U is the more universal one. Either way, no content comes with the player, so use a provider you are entitled to use.

What an M3U playlist is

M3U is a plain text file. It is either a URL that ends in something like .m3u or .m3u8 (or has query parameters), or a file you download. Each channel is a line of information followed by the stream address:

#EXTM3U
#EXTINF:-1 tvg-id="channel1.example" tvg-logo="http://provider.example/logo1.png" group-title="News",Channel One
http://provider.example/live/channel1

  • #EXTINF introduces a channel and its display name.
  • tvg-id links the channel to its entry in the TV guide.
  • tvg-logo is the logo image.
  • group-title is the category the channel appears in.

The playlist only lists streams. The TV guide normally lives in a separate XMLTV file with its own link. A player has to download both, then match them through the tvg-id values. That is why the guide is sometimes empty with M3U; see TV guide and catch-up explained.

What an Xtream Codes login is

Xtream Codes is an interface many IPTV providers run. You are given three values: a server URL (with a port), a username and a password. The player uses them to call the provider's API, which returns:

  • live channels with their categories;
  • movies and series listed separately, with seasons and episodes;
  • the TV guide for each channel;
  • catch-up or timeshift on channels where the provider keeps an archive.

Because the app asks for each section on its own, large libraries are usually organised better and refresh faster than one giant file. Which of these parts work still depends on your provider's service.

M3U vs Xtream Codes: comparison

M3U playlistXtream Codes login
What you enterOne link, or a fileServer URL, username, password
Live TVYesYes
Movies and seriesMixed in the list, grouped by categorySeparate sections with seasons and episodes
TV guideNeeds a separate XMLTV link and matching tvg-idProvided through the API
Catch-upOnly if the provider adds archive information to the listWhere the provider offers timeshift
CompatibilityVery wide: most players and many TVsNeeds a player that supports Xtream
Typing on a TVOne long linkThree short fields
CredentialsUsually inside the linkSeparate fields

Neither format is better quality: the picture comes from the provider's stream in both cases.

How to tell what your provider gave you

  • A link or a file that mentions m3u, m3u_plus or m3u8: an M3U playlist.
  • A server address, a username and a password, sometimes called "Xtream codes", "Xtream API" or "login details": an Xtream login.
  • A link that looks like http://provider.example:8080/get.php?username=...&password=...&type=m3u_plus contains an Xtream login inside an M3U link. You can add it as M3U, or use the three values separately.
  • A separate link to a guide file (XMLTV, often ending in .xml or .xml.gz): that is the TV guide, not a playlist.

If you only have an M3U link, check with your provider whether an Xtream login is available too, and the other way round.

Adding each one in HHPlayer

HHPlayer accepts both. Install it from the platforms page, then add a playlist in the app:

  1. For M3U: enter the playlist link.
  2. For Xtream: enter the server URL, username and password exactly as your provider wrote them.
  3. Wait for the channels to load. HHPlayer refreshes your playlists automatically and keeps several side by side.

If it does not load, check the link or the three values for typos, confirm your connection, and use Retry on the Home screen. Our support page lists the usual checks. You can also try a player without a provider: add the public demo playlist https://hhplayer.app/demo.m3u (see the demo page).

The guide and catch-up appear when your provider supplies the data; see the features page for what HHPlayer does with it. If you are choosing a player for a specific device, start with the Android TV guide, or see HHPlayer vs IPTV Smarters.

Security tips

  • An M3U link is a password. Many contain your username and password. Anyone with the link can use your subscription, so do not post it in forums, screenshots or support chats.
  • Do not share your login. Providers often limit the number of simultaneous connections, and sharing can get the account blocked.
  • Use a reputable provider. You are responsible for using playlists and content you have the right to access.
  • Keep the details private when asking for help. When you contact support, describe the problem but hide the credentials.
  • Change the password with your provider if you think a link leaked.

Questions and answers

What is the difference between M3U and Xtream Codes?

M3U is a single playlist link or file listing streams. Xtream Codes is a server URL, username and password that lets the app request live TV, movies, series, the guide and catch-up separately.

Is Xtream Codes better than M3U?

Not in picture quality, which comes from the provider. Xtream is often more convenient, with separate sections and a guide through the API, while M3U works in more players.

How do I find my M3U link or Xtream login?

Your provider supplies them, usually in your account area or a welcome message. A link with get.php and username/password parameters contains both the login and an M3U playlist.

Can I use an M3U link and an Xtream login in HHPlayer?

Yes, HHPlayer supports M3U playlists and Xtream logins, and you can keep several playlists. You can also test it with the demo playlist at https://hhplayer.app/demo.m3u.

Is it safe to share my M3U link?

No. Many M3U links contain your username and password, so anyone with the link can use your subscription. Keep it private, including in screenshots and support requests.

HHPlayer is a media player: no content is included. Use a playlist or login from a provider you are entitled to use.