IPTV basics

How an IPTV playlist is structured

A playlist is a plain text file, and reading one explains a surprising number of otherwise mysterious problems — missing logos, channels in the wrong group, names that appear as codes.

What the file is

An M3U playlist is text. No video, no channels — a list of names and addresses that tells your player what exists and where to request it.

It opens with a single header line, #EXTM3U, and then repeats a two-line pattern for every channel: one line describing the channel, one line giving its address.

That is the entire structure. Everything else is detail on the description line. If you are new to the concept, what an M3U URL is covers the basics first.

The channel line

A typical description line looks roughly like this:

#EXTINF:-1 tvg-id="..." tvg-logo="..." group-title="Sports",Channel Name

Reading it piece by piece:

  • #EXTINF: marks it as a channel entry.
  • -1 is the duration. Live channels have no fixed length, so minus one means indefinite.
  • tvg-id links the channel to guide data. If this is missing or does not match the guide, the channel has no programme information — the single most common cause of a blank EPG, discussed in the EPG guide.
  • tvg-logo is a web address for the channel icon. A missing or unreachable one leaves a blank tile.
  • group-title is the category the player files it under. This is what produces your folder structure.
  • After the comma is the display name — the only part most people ever see.

The line after it is the stream address itself.

What this explains

Several familiar complaints become obvious once the structure is clear.

No logos. Either tvg-logo is absent, or the address it points at is unreachable. Nothing to do with your service or connection.

No programme guide on some channels. Their tvg-id is missing or does not match an entry in the guide. Guide data and playlist are separate things that have to agree, which is why a guide can be blank while every channel plays perfectly.

Odd grouping. Your player is faithfully reproducing group-title. If everything lands in one enormous list, the attribute is probably absent throughout.

Channels in a strange order. Playlists have no sort field. Most players show them in file order unless told otherwise, which is why the order can look arbitrary.

Names as codes. The display name after the comma is whatever the file says. Prefixes and country codes are part of the data, not something your player added.

Looking at your own

Opening a playlist URL in a browser usually downloads the file rather than showing it. Open it in any plain text editor afterwards.

Two warnings before you do. A playlist URL contains your credentials, so never paste one into a public forum, a support thread or a screenshot — anyone who has it can use your subscription. And large playlists can be many megabytes of text, which some editors handle poorly.

Once open, check the top for #EXTM3U, then look at whether the attributes above are present and populated. Comparing a channel that works correctly against one that does not is usually enough to identify what is missing.

Why editing it is rarely the answer

It is technically possible to edit a playlist — fix names, add groups, remove clutter. It is usually the wrong approach.

An edited file is a snapshot. Any change at the source — a channel added, an address changed — will not reach your copy, and the file quietly rots. You will eventually be troubleshooting a problem you created.

Most players offer their own favourites, hiding and reordering, which achieve the same result without breaking updates. Use those first. Reading the file is diagnostic; rewriting it is maintenance you will regret.

Frequently asked questions

What is inside an M3U playlist file?

Plain text: an #EXTM3U header, then a repeating pair of lines per channel — one describing the channel with attributes such as tvg-id, tvg-logo and group-title, and one giving the stream address.

Why do some of my channels have no logo?

Either the tvg-logo attribute is missing from that channel line, or the address it points to is unreachable. It is a playlist data issue, not a connection or service fault.

Why is my channel order strange?

Playlists contain no sort field, so most players display channels in file order unless you tell them otherwise. Use the player favourites, sorting or hiding options to change it.

Should I edit my M3U playlist?

Usually not. An edited file is a snapshot that stops receiving updates from the source, so it gradually goes out of date. Use your player favourites, hiding and reordering instead.

Related articles