
Understanding IPTV Playlist Formats: M3U, Xtream, MAC
Every IPTV service needs a mechanism to deliver channel information to your player application. The channel name, stream URL, logo, category, EPG identifier, and connection parameters all need to travel from the server to your device. Three formats dominate the IPTV industry in 2026: M3U playlists, Xtream Codes API, and MAC address portals. Each uses fundamentally different approaches to solve the same problem, and understanding their mechanics helps you choose the right one for your setup.
This guide covers each format at the technical level. We examine data structures, protocol mechanics, authentication methods, and feature sets. If you are choosing between connection methods for your IPTVPlaylist subscription, this comparison gives you the information to make an informed decision.
M3U Playlist Format: The Universal Standard
The M3U format is a plain-text file format that lists media streams with metadata. An IPTV M3U file begins with the #EXTM3U header, followed by pairs of lines: an #EXTINF directive containing channel metadata and a stream URL on the following line. This format is human-readable, editable with any text editor, and supported by virtually every IPTV player and general-purpose media player in existence.
The data flow for M3U is simple. Your player sends an HTTP GET request to the M3U URL. The server returns the complete playlist file as a text response. The player parses the file, extracts channel entries, and builds its internal channel database. From that point, the player uses the stream URLs within the file to connect directly to each channel's video stream when you select it.
M3U attributes provide rich metadata. The tvg-id attribute links channels to EPG data sources. The tvg-name attribute defines the display name. The tvg-logo attribute provides a URL to the channel's logo image. The group-title attribute categorizes the channel. Some providers add custom attributes like tvg-language, tvg-country, and tvg-shift for timezone-adjusted EPG data.
Authentication in M3U is typically embedded in the URL itself. The stream URLs within the playlist contain username and password parameters: http://server:port/live/username/password/channelid.ts. The M3U URL that delivers the playlist also contains credentials: http://server:port/get.php?username=user&password=pass&type=m3u_plus. This means the M3U file contains your credentials in plain text, which is a security consideration if you share the file.
M3U Capabilities and Limitations
M3U's greatest strength is universality. Every IPTV player supports it: VLC, TiviMate, IPTV Smarters Pro, XCIPTV, Kodi, Perfect Player, and dozens more. General-purpose media players like VLC and PotPlayer can open M3U files directly. This makes M3U the safest format choice if you use multiple players or switch between devices frequently.
M3U playlists can be edited, merged, filtered, and processed with standard text tools. You can remove unwanted channels, rename groups, reorder entries, and create custom sub-playlists using a text editor or command-line tools. This level of user control is not available with other formats.
The primary limitation of M3U is its static nature. The file represents a snapshot of the channel lineup at the time it was generated. If the provider adds or removes channels, your local copy becomes stale. URL-based M3U playlists mitigate this because the server generates a fresh file on each request, but the player must re-download and re-parse the entire file to pick up changes.
M3U does not natively support VOD browsing, series organization, or catch-up TV. While some providers include VOD entries in M3U files, they appear as additional channel entries rather than a structured movie or series catalog. There is no pagination, search, or metadata beyond what fits in the EXTINF line. For a playlist with 115,000+ VOD titles, this makes the M3U file extremely large and the browsing experience poor.
Xtream Codes API: The Feature-Rich Alternative
The Xtream Codes API is a RESTful HTTP API that provides structured access to IPTV content. Instead of downloading a single monolithic playlist file, the player makes targeted API calls to retrieve specific data: categories, channel lists within categories, VOD catalogs, series information, EPG data, and account details.
The API authentication uses server URL, username, and password as parameters in each request. A typical authentication request looks like: http://server:port/player_api.php?username=user&password=pass. The server responds with JSON containing account information including subscription status, expiration date, active connections, and allowed output formats.
After authentication, the player retrieves content through specific API endpoints. Live TV categories: /player_api.php?username=user&password=pass&action=get_live_categories. Channels within a category: /player_api.php?username=user&password=pass&action=get_live_streams&category_id=123. VOD categories and movies use parallel endpoints with get_vod_categories and get_vod_streams. Series use get_series_categories and get_series.
Each API response returns JSON data with structured fields. A live channel entry includes stream_id, name, stream_type, stream_icon (logo URL), epg_channel_id, category_id, and the stream URL template. VOD entries include additional fields for runtime, genre, cast, director, plot, and cover image. Series entries include season and episode structures.
Xtream Codes Capabilities and Limitations
The API format excels at structured content delivery. VOD content is browsable by category with full metadata, including movie posters, descriptions, and genre tags. Series are organized by show, season, and episode with proper hierarchy. Catch-up TV is supported natively, with the API providing available timeshift data for each channel. These features make Xtream Codes the preferred format for users who watch VOD and series content alongside live TV.
The API also provides account management information. Your player can display subscription expiration date, maximum simultaneous connections, and account status. This transparency is useful for tracking subscription validity.
The limitation of Xtream Codes is player compatibility. Not all IPTV players support the Xtream Codes API. VLC, for instance, only supports M3U playlists. Kodi requires an add-on for Xtream Codes support. General-purpose media players do not support it at all. The format is effectively limited to dedicated IPTV player apps like TiviMate, IPTV Smarters Pro, XCIPTV, and similar applications.
Another consideration is that Xtream Codes data is not user-editable. You cannot open an API connection in a text editor and rearrange channels. The category structure and channel ordering are controlled server-side. While players like TiviMate offer favorites and custom channel ordering within the app, the underlying data source remains read-only from the user's perspective.
MAC Address Portal: The Set-Top Box Approach
MAC address portal authentication is the oldest IPTV delivery method still in widespread use. It originated with hardware set-top boxes like MAG (Infomir) devices, which use their network interface's MAC address as a unique device identifier for authentication. The device connects to a portal URL, the server identifies the device by its MAC address, and grants access to the channel lineup.
The portal URL is an HTTP endpoint, typically formatted as http://server:port/c/ or http://server:port/stalker_portal/c/. The device sends its MAC address as an HTTP header or URL parameter. The server looks up the MAC address in its database, verifies the associated subscription is active, and returns a portal interface with channel categories, EPG data, and stream access.
The authentication model is device-bound. Unlike M3U and Xtream Codes where credentials (username/password) can be used on any device, MAC address authentication ties the subscription to a specific physical device. To use the subscription on a different device, the MAC address registered on the server must be updated. This makes MAC portal both more secure (harder to share credentials) and less flexible (device changes require provider intervention).
MAC Portal Capabilities and Limitations
MAC portals provide a full-featured IPTV experience similar to Xtream Codes: live TV with EPG, VOD browsing with metadata, series support, and catch-up TV. The portal interface is rendered server-side and displayed on the device, giving the provider control over the user experience's look and feel.
The primary limitation is device compatibility. Native MAC portal support is limited to MAG devices, STBEmu (an Android app that emulates MAG box functionality), and a few other specialized applications. Mainstream IPTV players like TiviMate do not support MAC portal connections. This format is best suited for users who specifically use MAG hardware or STBEmu.
MAC portals also introduce the Stalker middleware layer, a server-side software stack that handles device authentication, content delivery, and the portal interface. This middleware adds complexity for providers but enables features like device management, usage analytics, and centralized interface updates. From the user's perspective, the middleware is transparent but occasionally introduces latency compared to direct API or M3U connections.
Format Comparison: M3U vs Xtream Codes vs MAC Portal
- Player compatibility: M3U is universal (every player), Xtream Codes is wide (most dedicated IPTV apps), MAC Portal is narrow (MAG devices and STBEmu)
- Authentication: M3U uses credentials in URL, Xtream Codes uses username/password API parameters, MAC Portal uses hardware MAC address
- Live TV: all three formats support live television streaming equally well
- VOD support: M3U has basic support (flat list), Xtream Codes has full catalog browsing with metadata, MAC Portal has full catalog browsing
- Series support: M3U has no native series structure, Xtream Codes organizes by show/season/episode, MAC Portal supports series browsing
- Catch-up TV: M3U has no native support, Xtream Codes supports catch-up natively, MAC Portal supports catch-up natively
- EPG integration: M3U requires separate EPG URL, Xtream Codes includes EPG automatically, MAC Portal includes EPG through the portal
- User editability: M3U is fully editable with text tools, Xtream Codes is not user-editable, MAC Portal is not user-editable
- Multi-device flexibility: M3U credentials work anywhere, Xtream Codes credentials work anywhere, MAC Portal is tied to one device
Which Format to Choose
For most users in 2026, Xtream Codes API is the best choice. It combines broad player compatibility with full feature access including VOD, series, and catch-up. The JSON-based data structure enables rich browsing experiences, and the credential-based authentication works across all your devices.
Choose M3U if you use VLC, Kodi without Xtream add-ons, or other general-purpose media players. Also choose M3U if you want to edit and customize your channel lineup using text tools. The format's simplicity and universality make it the fallback option that always works.
Choose MAC Portal only if you use a MAG device or specifically prefer the STBEmu experience. The format is robust but tied to a narrow ecosystem of compatible devices.
IPTVPlaylist supports all three formats. Every subscription includes M3U URL, Xtream Codes API credentials, and MAC portal access. You can use different formats on different devices simultaneously: Xtream Codes on your TiviMate-equipped Fire Stick, M3U in VLC on your laptop, and MAC portal on your MAG box in the bedroom. The channel lineup, EPG data, and VOD catalog are identical across all formats.
Visit /pricing to select your plan. Browse the full channel lineup at /channel-list. For device-specific setup instructions, see /setup-guide. Learn about all included features at /features.
Ready to Start Streaming?
Get instant access to 20,000+ live channels, 4K streaming, and 80,000+ movies and series.
View Plans & Pricing
