Greek IPTV M3U Playlists Explained

A technical guide to the M3U file format, how it works for IPTV, and how to use it on every major player

What Is an M3U File?

M3U stands for "MP3 URL" (sometimes expanded as "Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator"). It is a plain-text file format that was originally created by Nullsoft for the Winamp media player in the late 1990s. Its original purpose was simple: list audio files in a specific playback order. Each line in an M3U file pointed to a local file path or a URL of an audio track.

Over the decades, the M3U format was adapted far beyond audio. Today, it is the standard way to distribute IPTV channel lists. An IPTV M3U file contains a list of stream URLs — one per channel — along with metadata like channel names, logos, and group categories. The file uses the .m3u extension, or .m3u8 when encoded in UTF-8.

The M3U8 variant is particularly important for Greek IPTV. Standard M3U files use the system's default character encoding (often Latin-1/ISO 8859-1), which cannot represent Greek characters like "Ε", "Ρ", or "Τ" in channel names such as "ΕΡΤ1" or "ΣΚΑΪ". M3U8 uses UTF-8 encoding, which fully supports the Greek alphabet and ensures channel names display correctly in your IPTV player.

Anatomy of an M3U Playlist File

An IPTV M3U file follows a specific structure. Every file starts with the #EXTM3U header, followed by pairs of lines: a metadata line (#EXTINF) and a stream URL. Here is a real-world example showing how Greek channels appear in an M3U file:

#EXTM3U

#EXTINF:-1 tvg-id="ERT1.gr" tvg-name="ERT1" tvg-logo="https://example.com/logos/ert1.png" group-title="Greece",ERT1 HD
http://server:port/username/password/12345

#EXTINF:-1 tvg-id="Mega.gr" tvg-name="MEGA" tvg-logo="https://example.com/logos/mega.png" group-title="Greece",MEGA
http://server:port/username/password/12346

#EXTINF:-1 tvg-id="RIK1.cy" tvg-name="RIK 1" tvg-logo="https://example.com/logos/rik1.png" group-title="Cyprus",RIK 1
http://server:port/username/password/12347

#EXTM3U

The header tag. It must be the very first line of the file. It tells the media player that this is an extended M3U playlist (as opposed to a simple list of file paths). Without this line, most IPTV players will reject the file as invalid.

#EXTINF:-1

The extended information tag for each channel. The "-1" after the colon indicates the track length is unknown (live streams have no fixed duration). In audio M3U files, this would be the track length in seconds. For IPTV, it is always -1.

tvg-id

The EPG (Electronic Program Guide) identifier. This value must match the channel ID used in your XMLTV EPG source file. For example, if your EPG file uses "ERT1.gr" as the channel ID for ERT1, then tvg-id must also be "ERT1.gr" for the program guide to display correctly for that channel. A mismatch means no program data shows up.

tvg-name

The display name of the channel as it appears in your IPTV player's channel list. This is separate from the tvg-id and can be anything human-readable. The text after the final comma on the #EXTINF line (e.g., "ERT1 HD") is also used as the display name by some players.

tvg-logo

A URL pointing to the channel's logo image, usually a PNG or JPG file. IPTV apps like TiviMate and IPTV Smarters display these logos next to channel names. If the URL is broken or the server hosting the image is down, the channel still works — you just see a placeholder icon instead of the logo.

group-title

The category or group the channel belongs to. IPTV players use this to organize channels into folders or tabs. Common group-title values in Greek IPTV playlists include "Greece", "Cyprus", "Sports", "Movies", "News", and "Kids". You can filter by group in most players to quickly find channels by category.

Stream URL

The line immediately following each #EXTINF entry is the actual stream URL. This is the address your player connects to in order to receive the live video data. The URL format varies by provider but typically follows the pattern http://server:port/username/password/channelid. This URL contains your account credentials — keep it private.

M3U vs Xtream Codes API

IPTV providers typically offer two ways to deliver channels to your player: an M3U playlist link or Xtream Codes API credentials. Both methods give you access to the same channels, but they work differently under the hood.

M3U

  • -Single URL that contains the entire channel list
  • -EPG guide URL must be configured separately
  • -Works in virtually any media player (VLC, Kodi, etc.)
  • -Plain-text file — can be opened and inspected in any text editor
  • -Channel groups determined by group-title attribute in the file

Xtream Codes API

  • -Three credentials: server URL, username, and password
  • -EPG data is fetched automatically from the server
  • -Supports live TV, VOD (movies/series), and catch-up
  • -Requires a compatible app (IPTV Smarters, TiviMate, etc.)
  • -Categories and channel order are managed server-side

Converting Between Formats

Most IPTV providers give you both formats. If you only have Xtream Codes credentials, you can generate an M3U URL yourself using this pattern:

http://server:port/get.php?username=X&password=Y&type=m3u_plus&output=ts

Replace "server", "port", "X", and "Y" with your actual Xtream Codes credentials. The "type=m3u_plus" parameter tells the server to return a full M3U playlist with all metadata (tvg-id, tvg-logo, group-title). The "output=ts" parameter requests MPEG-TS stream format, which has the widest player compatibility.

How to Use Your M3U Link in Every Major Player

Once you have your M3U playlist URL from your IPTV provider, here is exactly how to load it in the most popular media players:

VLC

VLC Media Player

Open VLC, go to Media (or File on macOS) and click "Open Network Stream." Paste your full M3U URL into the network URL field and click Play. VLC will load the playlist and start playing the first channel. To switch channels, go to View → Playlist to see all available channels. VLC supports M3U natively on Windows, macOS, and Linux, but it does not display EPG data or channel logos.

K

Kodi (PVR IPTV Simple Client)

Install the PVR IPTV Simple Client add-on from Kodi's built-in repository (Settings → Add-ons → Install from repository → PVR clients). Open its settings, set Location to "Remote Path (Internet address)," and paste your M3U URL. In the EPG Settings tab, add your provider's XMLTV URL for program guide data. Restart Kodi — a "TV" menu appears on the home screen.

S

IPTV Smarters Pro

Open IPTV Smarters and select "Load Your Playlist or File / URL." Choose the "M3U URL" option (not Xtream Codes). Enter a name for the playlist (e.g., "Greek IPTV"), paste your M3U URL, and tap "Add User." The app will parse the playlist and organize channels by group-title categories. IPTV Smarters supports channel logos and has a built-in EPG viewer.

T

TiviMate

On first launch, TiviMate prompts you to add a playlist. Select "M3U playlist" and paste your URL. TiviMate will download and parse the file. Next, it asks for an EPG source — paste your provider's XMLTV URL. TiviMate is widely regarded as the best Android TV IPTV player due to its clean interface, favorites system, catch-up support, and multi-view feature (premium version).

TV

Smart TV Apps (Samsung, LG, etc.)

On Samsung (Tizen) TVs, install "Smart IPTV" or "IPTV Smarters" from the app store. On LG (webOS) TVs, use "Smart IPTV" or "SS IPTV." Each app has a settings or playlist section where you paste your M3U URL. For Smart IPTV specifically, you upload your M3U URL through their website (siptv.eu/mylist) using your TV's MAC address, and the playlist loads on the TV within minutes.

Troubleshooting M3U Playlist Issues

"Failed to load playlist"

This error means the player could not download or parse the M3U file. Common causes: the URL has expired (IPTV providers periodically regenerate URLs), the URL was copied incorrectly (check for missing characters or extra spaces), or the provider's server is temporarily down. Try opening the M3U URL directly in a web browser — if it downloads a text file, the URL is valid. If you get a 404 or connection error, contact your provider for a fresh link.

Channels Not Playing (Black Screen or Spinning)

The playlist loaded but individual channels fail to play. This usually means the stream URLs inside the M3U file have changed (the provider updated their servers) or your subscription has expired. If only some channels are affected, those specific streams may be temporarily offline on the provider side. Also check your internet connection — IPTV streams require stable bandwidth, especially for HD and FHD content.

Missing Channel Logos

Channel logos are loaded from the URLs specified in each channel's tvg-logo attribute. If logos appear as blank placeholders, the image hosting server may be down or the URLs may have changed. This is a cosmetic issue — channels still stream normally. Some IPTV players (like TiviMate) cache logos locally after the first download, so the issue may resolve itself once the image server comes back online.

EPG Not Matching Channels

If the program guide shows "No information available" for channels, the tvg-id values in your M3U file do not match the channel IDs in the XMLTV EPG source. For example, if your M3U has tvg-id="ert1" but the EPG file uses "ERT1.gr", there is no match and no program data loads. This is a provider-side issue — contact your provider to confirm the correct EPG URL that matches your M3U file's tvg-id values.

Greek Characters Displaying as Garbled Text

If channel names like "ΕΡΤ1" or "ΣΚΑΪ" appear as "ΕÎΤ1" or similar garbled text, the M3U file is encoded in UTF-8 but your player is reading it as Latin-1 (or vice versa). The fix is to use an M3U8 file instead, which explicitly declares UTF-8 encoding. Most providers offer both .m3u and .m3u8 versions of their playlist URL — ask your provider for the M3U8 variant if Greek names are not displaying correctly.

M3U Security: Protecting Your Subscription

Your M3U playlist URL is not just a link to a file — it contains your IPTV account credentials embedded directly in the stream URLs. A typical stream URL looks like http://server:port/username/password/channelid. Anyone who has this URL can use your subscription on their own devices.

Never share your M3U link publicly — not on forums, social media, or file-sharing sites. IPTV providers monitor for credential sharing by tracking concurrent connections and IP addresses. If your M3U link is used from multiple different IP addresses simultaneously, your provider will likely detect it and may suspend your account without refund.

Some providers also tie your M3U link to your IP address or device MAC address. If you change your internet provider or router (which changes your public IP), you may need to contact your IPTV provider to re-authorize the new IP. Similarly, if you switch to a new device, you may need to update your MAC address in the provider's portal.

Frequently Asked Questions

What is the difference between M3U and M3U8?

They are the same format. The only difference is character encoding. M3U files use the system's default encoding (often Latin-1), while M3U8 files are explicitly encoded in UTF-8. For Greek IPTV, M3U8 is preferred because UTF-8 supports Greek characters in channel names. The file structure, tags, and syntax are identical.

Can I edit my M3U file to remove unwanted channels?

Yes. Since M3U is plain text, you can open it in any text editor (Notepad, VS Code, TextEdit). To remove a channel, delete both its #EXTINF line and the stream URL line immediately below it. Save the modified file and load it into your IPTV player. However, if you use a remote M3U URL (not a local file), any edits you make locally will be overwritten the next time your player refreshes the playlist from the server.

Why does my M3U link stop working after a few days?

IPTV providers sometimes rotate server addresses or regenerate playlist URLs for security and load balancing. If your M3U link stops working, log in to your provider's customer portal to get the updated URL. Some providers also expire trial M3U links after a set period. If your paid subscription is active and the link stopped working, contact your provider — they can issue a fresh URL.

Where do I get an M3U link for Greek channels?

An M3U playlist link is provided by your IPTV service when you subscribe. It is unique to your account and contains your full channel list with Greek, Cypriot, and international channels. We provide both M3U playlist URLs and Xtream Codes API credentials with every subscription plan.

Should I use M3U or Xtream Codes for my setup?

It depends on your player and needs. Use M3U if you want maximum compatibility (it works in VLC, Kodi, and every IPTV app). Use Xtream Codes if your app supports it (IPTV Smarters, TiviMate) and you want automatic EPG, VOD library, and server-managed categories without manual configuration. For Kodi users, M3U with PVR IPTV Simple Client is the most common and well-documented approach.

Get Your M3U Playlist Link

Subscribe to get your personal M3U and Xtream Codes credentials. Set up any player in minutes and start watching Greek and Cypriot channels.