LISTXTREAM
Guides

What Is EPG? A Simple Guide to Electronic Program Guides

An EPG overlays programme names, times, and descriptions on your IPTV channel list — separate from the video stream and matched by channel identifier.

ListXtream EditorialUpdated Sep 20263 min read
Illustration of an electronic programme guide as a layered schedule grid of abstract programme blocks beside a television

An Electronic Program Guide (EPG) is the schedule layer that sits alongside a channel list in an IPTV player. Rather than showing a bare list of channel names, a player with a working EPG displays the current programme, upcoming titles, broadcast times, and often a short description for each. The EPG does not carry video — it carries schedule information only, and the video stream remains separate.

What an Electronic Program Guide Shows

An EPG provides the information traditionally found in a TV listings guide: the name of the current programme, its start and end times, and a description of the content. In most players, this appears either as a timeline — channels running left to right with programmes shown as blocks — or as a simpler current/next display beside the active channel.

The specific data available depends on what the EPG source provides. Some sources include rich descriptions, episode numbers, and genre tags. Others include only programme titles and times. Both are valid EPG data — what appears in the player reflects what the source contains.

EPG Is Separate From Your Channel List

A playlist and an EPG source are two distinct things. The playlist provides access to channels — it contains the stream addresses and channel names your player uses to fetch video. The EPG source provides schedule data — it contains programme information mapped to channel identifiers.

When both are present and correctly configured, the player overlays programme data onto the channel list. When only the playlist is present, channels appear by name but without any programming information. The two sources complement each other; neither is a substitute for the other.

How the Player Connects Programme Data to a Channel

For schedule data to display correctly, the player must match entries in the EPG source to channels in the playlist. This matching typically relies on an identifier — a value set as tvg-id in the playlist and a corresponding id attribute on channel entries in the EPG source.

When these identifiers match, the player attaches the correct programme data to each channel. When they do not match — because the values differ between the playlist and the EPG source — the channel appears without programme information even when both sources have been configured. Identifier mismatches are the most common cause of channels that appear in the guide but show no programme data.

Some players attempt to match channels by display name when identifiers are absent or do not correspond, but this fallback is less reliable and not universally supported across all players.

XMLTV — One Common Format for EPG Data

EPG data is often distributed as an XMLTV file — a text file that describes channels and their scheduled programmes in an XML structure. An XMLTV file typically contains channel definitions, each with a channel identifier, and programme entries that record a title, start time, end time, and optionally a description.

XMLTV is widely supported and a common choice for EPG delivery over a URL, but it is one format among others. Some services deliver EPG data through API endpoints rather than a hosted file, and the method varies by service configuration. XMLTV is not synonymous with EPG — it is a file format that EPG data can be encoded in.

Why Programme Data Sometimes Does Not Appear

When an EPG has been configured but programme data is still missing, a few causes are common:

  • Channel identifier mismatch — the tvg-id values in the playlist do not match the channel identifiers in the EPG source. This is the most frequent cause of missing programme data.
  • Unreachable EPG source — the EPG URL is down, returns an error, or cannot be reached from the player's network location.
  • Timezone offset mismatch — the timestamps in the EPG source use a different UTC offset from the player's timezone setting, causing programmes to appear at incorrect times or not at all.
  • Stale cached data — the player has not yet refreshed its local copy of the EPG after the source was changed or updated.

Checking that channel identifiers match between the playlist and the EPG source addresses the most frequent cause. If identifiers are consistent, verifying that the EPG URL is reachable and that the timezone setting is correct covers the remaining common cases.

Keep reading