IPTV EPG Explained: XMLTV, Guide Sources and Catch-Up

Short answer: the EPG, or electronic programme guide, is the TV listings grid in your player app, and for IPTV it almost always comes from a separate XMLTV file rather than from the channels themselves. That's why a playlist can work perfectly with an empty guide, and why the guide's quality depends on who compiles the data: your provider, a listings service such as Schedules Direct, or broadcast signals from an aerial or dish.

At a glance

IPTV EPG at a glance

What it is The listings grid: what's on now and next
Format XMLTV, an XML file of channels and programmes
Main sources Your provider, listings services, broadcast data
Schedules Direct US$35 a year, US and Canada listings
Links to channels by Matching IDs (tvg-id)

What the EPG actually does

On a cable or satellite box, the guide arrives with the signal and you never think about it. IPTV works differently: the stream carries pictures and sound, and the listings come from somewhere else.

A good EPG does more than show the time of the next programme. It powers several features in player apps:

The grid. Channels down the side, time across the top, programme titles in the cells.

Now and next information when you change channel.

Catch-up. Where a provider offers it, you pick a past programme from the guide to watch it.

Recording and reminders. Scheduled recordings and alerts rely on the guide's start and end times.

Search. Finding every showing of a film or match across all channels.

Without a guide, none of those work, even though the channels still play.

XMLTV: the format behind the guide

Almost every IPTV app reads guide data in XMLTV, a long-established open format. It's a single XML file, often compressed as .xml.gz, with two parts.

Channels. Each has an ID, a display name and sometimes a logo: <channel id="bbcone.uk">.

Programmes. Each has a start and stop time, a channel ID, a title and, optionally, a description, category, episode number and image: <programme start="20260929200000 +0100" stop="20260929210000 +0100" channel="bbcone.uk">.

The channel ID is the key. Your player matches it against the tvg-id attribute in your playlist. When the two match, the programmes appear next to the channel. When they don't, that channel's row stays blank, which is the most common guide problem of all; our guide to fixing an EPG that won't load deals with it.

Times include a time-zone offset, so a correctly built file displays properly wherever you are. When the whole guide is shifted by an hour or more, either the file or the app's time-shift setting is at fault.

Where EPG data comes from

Guide data has to be compiled by someone, and the source affects accuracy, coverage and cost.

Source Coverage Cost Notes
Your IPTV provider Its own channel list Included Easiest; IDs already match your playlist
Licensed live-TV services Their own channels Included in the app Built in; not exportable
Schedules Direct US and Canada US$35/year (7-day trial) Listings data for open-source apps such as Kodi, Jellyfin, MythTV
Broadcast data (DVB EIT, ATSC PSIP) Channels you receive over the air Free Read by receivers and some network tuner apps
Community grabbers Varies by country Free Scrape public listings sites; quality and terms vary

Provider EPG is the usual choice, because the provider controls both the playlist and the guide IDs. Ask for it before looking elsewhere.

Schedules Direct is a non-profit that licenses North American listings for personal use with open-source software. It costs US$35 a year, with a short-term option for about US$9 covering two months. It's excellent for over-the-air channels recorded with your own tuner.

Community grabbers such as those in the XMLTV project download listings from public TV-guide websites. They can be useful where nothing else exists, but a site's layout change can break them overnight, and some sites' terms forbid scraping.

What makes a good guide

Not all EPG data is equal. Four things separate a useful guide from a frustrating one.

Match rate. The share of your channels that get listings. A provider guide should cover nearly all of them; a generic guide may cover half.

Days ahead. Seven days is typical and plenty. More days mean a bigger file and slower loading on modest devices.

Detail. Descriptions, episode numbers and images make the guide pleasant to browse and help series recording work correctly.

Accuracy on live events. Sport overruns and schedule changes are where cheap guides fall down. Broadcast-derived data tends to update fastest.

How player apps use the EPG

Different apps handle guides in different ways, which affects what you need to do.

Automatic with Xtream logins. Apps that use an Xtream Codes-style login usually fetch the provider's guide without any extra setup.

Separate URL with M3U. With a playlist, you often add the guide address yourself, unless the playlist names it in its header. Our EPG URL guide explains where to find it and how to add more than one.

Refresh schedule. Most apps update the guide daily. Updating more often rarely helps and slows the device.

Manual matching. Better apps let you assign a guide channel to a playlist channel by hand when IDs don't match.

Limited guide support. VLC, for instance, plays IPTV playlists but has no IPTV guide. Our best IPTV player apps round-up notes which apps handle EPG well.

EPG on low-powered devices

Guide files can be large: a full provider guide for thousands of channels over a week can run to tens or hundreds of megabytes uncompressed.

Load only what you watch. Hide unused channel groups before the guide loads, so the app processes fewer entries.

Reduce the days. Three days is enough for most people and loads much faster on a cheap stick.

Use compressed files. A .xml.gz version downloads far faster than plain XML, and most apps read it directly.

Clear the cache if the guide becomes sluggish or shows stale data.

When the guide is at the wrong time

A guide that shows the right programmes at the wrong time is the second most common EPG complaint, after an empty guide. There are three usual causes.

The file's time-zone offset is wrong. Each programme time in XMLTV carries an offset such as +0000 or -0500. If the compiler got it wrong, every programme is shifted by the same amount. Most apps have an "EPG time shift" setting to correct it, in hours or half-hours.

The device clock is wrong. Check the device's time zone and automatic time settings. A box set to the wrong zone shifts the guide even when the file is correct.

Daylight saving changes. Twice a year, some guides and devices briefly disagree. The problem usually clears within a day as the guide refreshes; setting a manual time shift at this point can leave you an hour out when it does.

Only some channels shifted? That points to the guide source for those channels, often a feed built for a different region. Matching them to a local guide source fixes it.

Catch-up TV depends on the guide

Catch-up, where you scroll back in the guide and play a programme that has already aired, needs two things: the provider must record and store the channel, and the guide must have accurate times. If the guide is off by a few minutes, catch-up recordings start late or cut off early.

Many apps mark catch-up-enabled channels with an icon. Licensed services such as YouTube TV offer their own version through cloud DVR instead. Our catch-up TV guide covers how it works in more detail.

Quick answers

What is EPG in IPTV? The electronic programme guide: the listings grid showing what's on each channel now and later. For IPTV it usually comes from a separate XMLTV file.

Why is my IPTV guide empty when the channels work? The guide is a separate file. Either no guide address is set, or the channel IDs in the guide don't match those in your playlist.

What is XMLTV? An open XML format for TV listings, with a list of channels and a list of programmes with start and end times. Almost every IPTV app reads it.

Where can I get EPG data? From your IPTV provider first. Other sources include Schedules Direct for the US and Canada, broadcast data from an aerial or dish, and community grabbers.

How much does Schedules Direct cost? US$35 a year, with a 7-day free trial and a shorter paid option of about US$9 for two months.

How many days of EPG should I load? Three to seven. More days make the file bigger and slower to load on modest devices.

Does catch-up need the EPG? Yes. Catch-up relies on the guide's programme times, so an inaccurate guide means recordings that start late or end early.


EPG sources, prices and app features change over time, and listings coverage varies by country. Checked September 2026.