Skip to content
Nipo Player

M3U player: the M3U / M3U8 playlist

M3U (or its M3U8 variant) is a plain-text playlist format. It’s the format most TV players expect, Nipo Player included: an M3U player that reads it by link or by file.

Player only

Nipo Player does not provide, sell or host any content. Use it with playlists you are legally allowed to access.

In one sentence

An M3U playlist is a text file where each channel or video is described by an #EXTINF line (name, logo, category…) followed by the stream’s address; Nipo Player reads it by link or by file, up to 50,000 entries.

The #EXTINF line

Each entry starts with #EXTINF, with attributes in quotes, followed by a name and, on the next line, the stream’s address. Example with fictional names:

playlist.m3u

#EXTM3U url-tvg="https://example.com/guide.xml.gz"
#EXTINF:-1 tvg-id="aurora1.fictif" tvg-name="Aurora 1 HD" tvg-logo="https://example.com/logos/aurora1.png" group-title="Généraliste" catchup="default" catchup-days="7",Aurora 1 HD
https://example.com/live/aurora1/index.m3u8
#EXTINF:-1 tvg-id="nova.doc" tvg-name="Nova Doc" tvg-logo="https://example.com/logos/novadoc.png" group-title="Documentaire",Nova Doc
https://example.com/live/novadoc/index.m3u8

Attributes Nipo reads

Nipo recognises these attributes on the #EXTINF line when present; a playlist that only provides a few of them still plays normally.

tvg-id
Identifier used to match the channel to an XMLTV guide.
tvg-name
Fallback name if none is written after the line’s last comma.
tvg-logo
The channel’s logo address.
group-title
The channel’s category (used to sort it into folders).
catchup, catchup-days
Signals that the channel offers catch-up, and for how many days.
catchup-source
Address template to replay an archive, when the stream provides one.
url-tvg / x-tvg-url
On the #EXTM3U line: the address of an XMLTV guide for the whole playlist.

Link or file

Nipo accepts either an address (a direct link to a .m3u/.m3u8 file) or a .m3u/.m3u8 file imported from the device. Both are parsed the same way.

Large playlists

A 50,000-entry playlist is parsed in a separate task (it never freezes the screen), then cached: it reopens in a fraction of a second afterwards, even on an entry-level TV.

FAQ

M3U vs M3U8, what’s the difference?

None for Nipo: M3U8 is the same syntax, just saved as UTF-8. Both extensions are read the same way.

Do I need every attribute for it to work?

No. Only the stream’s address is required; missing attributes (logo, category, guide id…) simply don’t show up.

Does Nipo show a guide without an XMLTV link in the playlist?

If the playlist provides neither a guide nor a usable tvg-id, you can add your own XMLTV link in Settings → Guide.

Is there a size limit?

Nipo is built for playlists up to 50,000 entries, with a “My countries” filter to make them easier to browse.

Add your M3U playlist

By link, by file, or by QR code from your phone.