Tiny IPTV

Guides

What is an M3U playlist?

October 3, 2026 · 6 min read

An M3U playlist is a plain text file that lists channels and where to stream each one from. When an IPTV provider gives you an "M3U link", that's the address of this file.

The format dates back to 1990s MP3 players, which used it to list songs. IPTV took it over because it's simple: any app can read it, and a provider can generate one for each customer. Your player downloads the file, reads the channel list, and streams whichever channel you pick.

M3U or M3U8?

They're the same format. An .m3u8 file is saved as UTF-8, which means channel names in Arabic, Greek, Cyrillic or any other script come through intact. Players handle both the same way.

One thing can be confusing. Apple's HLS streaming also uses .m3u8 files, but for a single stream rather than a list of channels. So a link ending in .m3u8 might be a full playlist or just one channel. Tiny IPTV checks which one it got. If the link is a single stream, it adds it as a one-channel playlist.

What's inside the file

Here's a short playlist with two channels:

#EXTM3U url-tvg="https://example.com/guide.xml.gz"
#EXTINF:-1 tvg-id="MeridianNews.us" tvg-logo="https://example.com/meridian.png" group-title="News",Meridian News
https://example.com/live/meridian-news/index.m3u8
#EXTINF:-1 tvg-id="Earthline.us" tvg-logo="https://example.com/earthline.png" group-title="Documentary",Earthline
https://example.com/live/earthline/index.m3u8

The first line, #EXTM3U, marks it as an extended M3U file. After that, each channel takes two lines. The #EXTINF line describes the channel, and the line under it is the stream address. The -1 is a duration, which means "no fixed length" for live TV. The text after the last comma is the channel's name.

Everything between the duration and the name is a set of tags. None of them is required, but a good playlist uses most of these:

TagWhat it does
group-titleThe category the channel belongs to, like News or Sports. Players group channels by it.
tvg-logoA link to the channel's logo.
tvg-idThe channel's ID in the TV guide. This is how a player matches a channel to its listings.
tvg-nameThe channel's name as the guide spells it, when that differs from the display name.
tvg-shiftShifts the guide's times by a number of hours, for channels that air the schedule late.
url-tvg or x-tvg-urlGoes on the first line, not on a channel. It links to the TV guide for the whole playlist.

Some playlists also add #EXTVLCOPT lines that set a user agent or referrer for a channel. Certain servers only answer apps that send these, and Tiny IPTV sends them when the playlist asks.

Where do you get an M3U link?

From an IPTV provider. You subscribe, and they send a link made for your account, usually by email or in their customer dashboard.

There are also free lists of publicly available channels. The best known is iptv-org on GitHub, which collects free-to-air streams from around the world. Expect some of the links in lists like that to stop working without warning.

Keep your link private

A provider's M3U link almost always has your username and password in it. Anyone who has the link can watch on your account, and many providers limit how many streams can run at the same time. So don't post it in forums or screenshots, or paste it into a support email.

Why a channel list goes out of date

Your player keeps a copy of the playlist so it doesn't have to download it every time. Providers add, remove and rename channels, so the copy needs refreshing now and then. Tiny IPTV refreshes a playlist on its own when you open the app and the copy is more than 12 hours old. To refresh sooner, go to Settings and choose Refresh All Playlists.

M3U links and Xtream Codes

If your link contains get.php?username=, it was generated by an Xtream Codes server. You can sign in to that server directly instead of using the link, and in most apps you get a few extras for it. M3U vs Xtream Codes explains what changes.

Tiny IPTV for Apple TV

Add your M3U link once and your channels show up sorted by category, with their logos.

Download on the App Store

More guides