What Is an EPG? Electronic Program Guide for IPTV Explained

IPTV M3U Editorial Team
IPTV M3U Editorial Team IPTV Expert
What Is an EPG? Electronic Program Guide for IPTV Explained

Understanding what is an EPG for IPTV is essential for getting a full TV guide experience. This guide covers setup, formats, and troubleshooting.

What Is an EPG and Why Does It Matter for IPTV?

Electronic Program Guide EPG for IPTV showing TV schedule and channel guide

Key Statistics

  • 85% of IPTV users cite EPG integration as essential for viewing (user survey)
  • XMLTV EPG data files contain 7-14 days of program schedule information
  • A good EPG reduces channel browsing time by up to 60%

Traditional TV providers — cable, satellite, and over-the-air — broadcast EPG data as part of the signal. Your TV or set-top box reads this data and displays a guide automatically. With IPTV, the situation is different. IPTV channels are delivered as individual video streams over the internet, with no broadcast signal to carry guide data. Instead, EPG information is distributed as a separate data file that your IPTV player app downloads and displays alongside the channel list.

The EPG data includes program names, descriptions, start and end times, category tags, ratings, and sometimes cast information. Your IPTV app matches this data to your channels using unique channel identifiers, then renders the guide in a grid or list format. Good apps update the EPG automatically every 24 hours so the guide always reflects current and upcoming programming.

A working EPG also enables advanced features: setting reminders for upcoming shows, using catch-up or time-shift viewing (if your provider supports it), recording programs, and browsing what is on while a channel plays in a picture-in-picture window. These features make IPTV feel as polished as a premium TV service.

How EPG Works with IPTV — The Technical Side

When you set up IPTV and add your playlist, the app loads a list of channel names and stream URLs. Each channel in an M3U playlist can include a tvg-id tag — a unique identifier that links that channel to its EPG entry. The EPG file uses those same IDs to map program schedules to the right channels.

Here is a simplified example of what this looks like in an M3U file:

#EXTINF:-1 tvg-id="BBC1.uk" tvg-name="BBC One" tvg-logo="http://logo-url.com/bbc1.png" group-title="UK",BBC One

The tvg-id value “BBC1.uk” is what the app looks for in the EPG file. In the XMLTV file, there will be a channel entry with the same ID and a list of programs scheduled on that channel. When they match, the guide populates correctly. When they do not match, you see a channel with no guide data.

Your IPTV app downloads the EPG file from a URL provided by your service. The app caches this data locally and refreshes it on a schedule you configure (typically every 24 hours). Larger EPG files covering many channels can take several minutes to download and parse on first load.

Types of EPG Data: XMLTV vs MPEG-SI

XMLTV Format

XMLTV is the standard EPG format for IPTV. It is a structured XML file that contains two main sections: channel definitions and program listings. Channel definitions assign each channel a unique ID, a display name, and optionally a logo URL. Program listings assign programs to those channel IDs with start time, stop time, title, description, and category.

XMLTV files are human-readable text. If you open one in a browser or text editor, you can see the raw program data. This makes it easy to troubleshoot — if a channel has no guide data, you can search the XMLTV file for that channel ID to see if it is present. Most IPTV providers supply an XMLTV URL that the app fetches automatically.

MPEG-SI (DVB EPG)

MPEG-SI (Service Information) is the EPG format used in traditional DVB broadcast signals — the same technology used by cable and satellite TV. It is embedded directly in the MPEG transport stream rather than delivered as a separate file. Some IPTV providers that use multicast delivery may use MPEG-SI, but for standard IP-based unicast IPTV (the most common type), XMLTV is the format you will encounter.

Xtream Codes API EPG

When you connect via Xtream Codes login instead of an M3U URL, EPG data is delivered through the same API that provides your channel list. Your IPTV app queries the server for EPG data and it is returned in a format the app can use directly. No separate EPG URL is needed — it is all handled automatically. This is one of the main advantages of using Xtream Codes over plain M3U.

JSON EPG

Some providers deliver EPG data in JSON format rather than XMLTV. Most modern IPTV apps support JSON EPG alongside XMLTV, but check your app documentation if you receive a JSON-format EPG URL and the guide is not loading. TiviMate and IPTV Smarters both support multiple EPG format types.

How to Set Up EPG in TiviMate (Step by Step)

TiviMate has the most feature-rich EPG implementation of any IPTV player. Here is how to configure it fully:

  1. Open TiviMate and go to Settings (gear icon)
  2. Select Playlists and then select the playlist you want to add EPG to
  3. Scroll down to the EPG source option
  4. Tap Add EPG source
  5. Enter a name for the EPG source (e.g., “Provider EPG”)
  6. Paste the XMLTV EPG URL from your IPTV service
  7. Set the Update interval — 24 hours is the standard setting
  8. Tap OK and then allow TiviMate to download and parse the EPG data
  9. Large EPG files (100+ channels, 7-day schedule) can take 10–20 minutes to load initially
  10. Once loaded, press the Up arrow on your remote while watching a channel to open the guide grid

TiviMate also allows you to add multiple EPG sources and will merge the data together. If your provider EPG is missing some channels, you can add a third-party XMLTV source as a supplement. TiviMate premium users can also enable catch-up (archive) viewing, which lets you watch programs that aired in the past if your provider supports it — this is navigated directly from the EPG grid.

How to Set Up EPG in IPTV Smarters Pro

  1. Open IPTV Smarters Pro
  2. Go to Settings from the main menu
  3. Select EPG
  4. Tap Add EPG Source
  5. Enter a name and paste the EPG URL provided by your IPTV service
  6. Tap OK
  7. Wait for the app to download the guide data — this happens in the background
  8. Once loaded, return to your channel list and tap the Guide or EPG icon to open the program guide

If you used Xtream Codes login in IPTV Smarters, the EPG is already included. The guide will populate automatically without needing to add a separate URL. If some channels are missing guide data, it is because the provider EPG does not have data for those specific channels.

How to Set Up EPG in VLC (and Its Limitations)

VLC does not natively support EPG guides. When you open an M3U playlist in VLC, you see a list of channel names and can play streams, but there is no program guide overlay, no schedule information, and no way to browse upcoming programs. VLC is a powerful media player, but it was designed for general-purpose media playback, not TV guide functionality.

If you want EPG support and are currently using VLC for IPTV, switch to TiviMate or IPTV Smarters Pro. Both apps provide a full TV guide experience that VLC simply cannot match. VLC remains useful for testing streams and playing individual files, but for day-to-day IPTV with guide data, use a dedicated IPTV player.

How to Set Up EPG in Kodi (PVR IPTV Simple Client)

  1. Open Kodi and go to Settings > Add-ons
  2. Select My Add-ons > PVR Clients
  3. Open PVR IPTV Simple Client and go to its Settings
  4. In the General tab, add your M3U URL or local M3U file path
  5. Go to the EPG Settings tab
  6. Paste your XMLTV EPG URL in the EPG URL field
  7. Set the EPG cache time (24 hours recommended)
  8. Click OK and restart Kodi
  9. After restart, go to the TV section in the main menu to see your channels and guide

Kodi with PVR IPTV Simple Client provides a full TV guide with schedule browsing, recordings, and timer-based recording. It requires a bit more setup than TiviMate but gives experienced users deep control over their IPTV experience. See our VLC and Kodi IPTV guide for full Kodi IPTV configuration.

Common EPG Problems and How to Fix Them

EPG Not Loading at All

The most common cause is an incorrect or expired EPG URL. Verify the URL directly in a browser — paste it and confirm you see XML data or a download prompt. If you see an error page or a blank page, the URL is wrong or the EPG server is down. Check with your IPTV provider for the current EPG URL.

  • Check for extra spaces at the start or end of the URL
  • Confirm the URL starts with http:// or https:// (not missing the protocol)
  • Force-refresh the EPG in your app settings (look for a Refresh or Update EPG button)
  • Clear the app cache in device settings and restart the app
  • Try a different network (mobile hotspot) to rule out ISP-related blocking of the EPG server

EPG Loads But Shows Wrong Times

Time zone mismatches cause program times to be displayed incorrectly. Check your app time zone settings — most IPTV apps have a time zone offset setting in their EPG configuration. The EPG data is stored in UTC, and the app needs to know your offset to display local times correctly. Set it to match your local time zone.

Some Channels Have No Guide Data

This occurs when the tvg-id in the M3U file does not match any channel ID in the EPG file. It can also mean the provider does not have EPG data for those channels. To verify: open the M3U file in a text editor and look at the tvg-id for the affected channel. Then open the XMLTV file and search for that same ID. If it is not there, the IDs do not match.

Solutions: ask your provider for a corrected M3U or EPG, try a third-party XMLTV source for missing channels, or manually assign channels to EPG entries in TiviMate using the channel editor.

Guide Shows Old Data (Not Updating)

EPG data is cached locally and refreshed on a schedule. If the guide shows outdated programs, trigger a manual refresh in your app settings. Check that the auto-update interval is set (24 hours). If the data is consistently stale, the EPG server may be slow — try updating during off-peak hours. Also check that your device clock is set correctly, as a wrong system time can cause EPG matching issues.

EPG Takes Very Long to Load

Large XMLTV files covering thousands of channels and 7 days of programming can be several megabytes in size. On first load, parsing this data takes time. On budget devices with slower processors, this can take 20+ minutes. After the initial load, subsequent updates are faster because the app only needs to refresh changed data. If buffering occurs during EPG loading, ensure your connection is stable and the app is using your local network bandwidth efficiently.

Best XMLTV EPG Sources for IPTV

Your IPTV provider should supply an EPG URL — always use theirs first as it is matched to their channel IDs. If the provider EPG is incomplete or unavailable, you can use third-party XMLTV sources:

  • epg.pw — large free XMLTV database covering hundreds of channels worldwide
  • rytec.org — community-maintained European XMLTV data, widely used
  • i.mjh.nz — free EPG for Australian, New Zealand, and some US/UK channels
  • xmltv.net — web-based tool to generate custom XMLTV feeds
  • WebGrab+Plus — desktop software that scrapes TV guide websites and generates XMLTV files for local use

For any third-party EPG source to work with your M3U playlist, the channel IDs in the XMLTV file must match the tvg-id tags in your M3U. If they do not match, the guide will not populate for those channels even if the EPG data exists.

EPG on Different Devices

EPG on Fire Stick

TiviMate and IPTV Smarters Pro both work excellently on Fire Stick and provide full EPG support. The Fire Stick 4K and 4K Max have enough processing power to load large EPG files quickly. On older Fire Sticks, loading a large EPG may take longer — consider using a lighter-weight EPG source or a compressed XMLTV file if available from your provider. See our Fire Stick IPTV setup guide for full configuration steps.

EPG on Android TV Box

Android TV boxes — especially higher-end models like the NVIDIA Shield — handle large EPG files with no issues. All major IPTV apps are available in the Google Play Store for Android TV, and EPG setup follows the same process as described above. Android TV boxes with more RAM and storage can cache larger EPG files and load the guide faster than budget devices.

EPG on Smart TV

EPG support on built-in Smart TV apps varies. Samsung and LG TVs have their own app stores with IPTV player apps. Smart IPTV and OTT Navigator are popular apps for Samsung and LG. Both support XMLTV EPG. However, Smart TV apps are often less feature-rich than dedicated devices and may not support catch-up, recordings, or advanced EPG features. For the best EPG experience on a Smart TV, connect a dedicated IPTV device like a Fire Stick or Android TV box instead.

EPG on Windows and Mac (PC IPTV)

On PC, Kodi with PVR IPTV Simple Client provides full EPG support. IPTV Smarters has a Windows desktop version that includes EPG. For Mac users, Kodi or the web-based TiviMate Companion app are options. EPG loading on PC is generally fast due to more processing power compared to streaming devices.

What Is an M3U with EPG Included (EXTINF Tags Explained)

An M3U playlist is a text file that lists your channels and their stream URLs. Each channel entry uses the #EXTINF tag format, which can include several optional EPG-related parameters:

  • tvg-id — the unique identifier that links this channel to its EPG data
  • tvg-name — the display name of the channel in the app
  • tvg-logo — a URL to the channel logo image
  • tvg-url — a channel-specific EPG URL (less common, overrides the global EPG source)
  • group-title — the category group the channel belongs to (Sports, News, Movies, etc.)

Some M3U playlists include the EPG URL directly in the header line of the file using the x-tvg-url parameter. When your IPTV app imports the M3U, it reads this header and automatically sets the EPG source. This is the most convenient configuration because you do not need to manually enter the EPG URL — it is embedded in the playlist.

A full M3U header line with EPG included looks like this:

#EXTM3U x-tvg-url="http://provider.com/epg.xml.gz" url-tvg="http://provider.com/epg.xml.gz"

When you set up IPTV with a playlist that includes this header, apps like TiviMate and IPTV Smarters automatically detect and use the embedded EPG URL. You just need to confirm the EPG source is active in the app settings and allow it to download.

Using a VPN with EPG

A VPN does not affect EPG functionality under normal circumstances. However, if your EPG server is geo-restricted or your ISP blocks access to the EPG URL, a VPN can help by routing your connection through a different server. If you use a VPN for IPTV generally, the EPG download will use the same VPN tunnel as your video streams, so performance depends on your VPN server speed.

EPG Standards & Resources

Frequently Asked Questions

What is the difference between EPG and TV Guide?

They are the same thing. EPG (Electronic Program Guide) is the technical term used in broadcasting and IPTV. TV Guide is the common consumer term. Both refer to the on-screen listing of programs by channel and time. With IPTV, EPG data is delivered digitally via XMLTV files rather than embedded in a broadcast signal.

Why is my EPG not showing any programs?

The most common causes are: the EPG URL is incorrect or expired, the channel tvg-id tags in the M3U do not match the IDs in the EPG file, or the EPG has not finished downloading yet. Verify the URL opens in a browser, wait for the initial download to complete, and check that your M3U playlist was provided by the same service that provided the EPG URL.

How often should the EPG update?

Once every 24 hours is standard. IPTV providers typically update their EPG data daily. Setting your app to refresh every 24 hours ensures you always have current program information without unnecessary bandwidth use. You can always trigger a manual refresh if you need up-to-date data sooner.

Can I use EPG without an IPTV subscription?

XMLTV EPG files are publicly available from third-party sources like epg.pw and rytec.org. You can load these into any IPTV app. However, if you are not using an IPTV subscription and are loading your own M3U playlist, you would need to manually match the channel tvg-id values in your playlist to the channel IDs in the XMLTV file. This requires editing the M3U file — contact your content source for guidance on the correct IDs to use.

What is a compressed EPG (.xml.gz)?

Many providers deliver their XMLTV EPG as a gzip-compressed file (.xml.gz) to reduce file size and download time. A large EPG file might be 20–50 MB uncompressed but only 3–8 MB compressed. All major IPTV apps automatically decompress .xml.gz files, so you can paste a .xml.gz URL just like a regular .xml URL. This is the preferred format when available because it downloads and loads faster, especially on slower connections and budget devices.

Does EPG work on all IPTV apps?

Most dedicated IPTV player apps support XMLTV EPG — including TiviMate, IPTV Smarters Pro, XCIPTV, GSE Smart IPTV, and Kodi with PVR IPTV Simple Client. VLC does not support EPG natively. If you want a full guide experience, use one of the dedicated IPTV players rather than a general-purpose media player. Our full IPTV setup guide covers the best app options for every device.

Related Guides

IPTV M3U Editorial Team

IPTV M3U Editorial Team

IPTV Expert & Editor

The IPTV M3U editorial team has spent years researching IPTV technology, testing devices, and building comprehensive guides to help readers understand internet television. Our writers have hands-on experience with IPTV setup across Fire Stick, Android TV, Kodi, VLC, and more. All content is fact-checked and updated regularly to reflect the latest developments in streaming technology.

View all posts →