Better Stream
  • iptv
  • live tv
  • guides

What is EPG in IPTV? A plain guide to TV program guides

What is EPG in IPTV? A plain guide to TV program guides: how XMLTV works, how guides match your channels, where to get one, and how to fix common problems.

  • By Better Stream Team
  • Published
  • Updated
  • 6 min read
A battleship ploughing through rough, stormy seas under dark clouds and a glowing orange sunset

If you've set up IPTV, you've probably seen a field asking for an "EPG URL" and wondered what it is and whether you need it. So, what is EPG in IPTV? It's the program guide: the grid that shows what's on each channel now, what's next and what's coming later. This plain guide explains how an EPG works, the XMLTV format almost every IPTV app uses, where to get a guide legally, and how to fix the problems people hit most often.

What is EPG in IPTV?

EPG stands for electronic program guide. On a cable or satellite box, the guide arrives with the broadcast signal, so you never think about it. With IPTV, the video and the guide are separate:

  • The playlist (usually an M3U file) lists channels and where their streams live.
  • The EPG (usually an XMLTV file) lists programs: titles, descriptions, start and stop times, sometimes episode numbers and artwork.

Your player downloads both and stitches them together. Without an EPG, IPTV is a long list of channel names. With one, it feels like real TV: you can see that a match starts at 8 pm, that the news is on in five minutes, or that a film you want is on later tonight.

How an IPTV program guide is structured: XMLTV

Nearly all IPTV players use the XMLTV format. It's an XML file with two kinds of records.

Channel records describe each channel:

<channel id="ExampleNews.us">
  <display-name>Example News</display-name>
</channel>

Programme records describe each show:

<programme start="20261012200000 +0000" stop="20261012210000 +0000" channel="ExampleNews.us">
  <title>Evening Bulletin</title>
  <desc>The day's headlines.</desc>
</programme>

Three details matter in practice:

  1. Times include a time-zone offset. 20261012200000 +0000 means 8:00 pm UTC on 12 October 2026. Your player converts it to your local time.
  2. Every programme points to a channel ID. That's how the guide knows which row a show belongs in.
  3. Guides are often compressed. A .xml.gz URL is normal. Good players unpack it automatically.

How the player connects the EPG to your channels

The link between playlist and guide is the channel ID. In an M3U playlist, each entry can carry a tvg-id:

#EXTINF:-1 tvg-id="ExampleNews.us" tvg-logo="https://example.com/logo.png",Example News
https://example.com/live/news/index.m3u8

When tvg-id="ExampleNews.us" matches <channel id="ExampleNews.us"> in the XMLTV file, that channel gets its guide data. Some playlists also point to their own guide in the header line, using url-tvg or x-tvg-url, so the player can load it automatically.

Piece Format What it contains Where it usually comes from
Playlist M3U / M3U8 Channel names, logos, groups, stream URLs, tvg-id Your IPTV provider or broadcaster
Program guide (EPG) XMLTV (.xml or .xml.gz) Channel IDs, program titles, descriptions, start/stop times Same provider, or a guide you generate
Matching key tvg-id ↔ channel id Links each playlist entry to its guide row Set by whoever made the playlist

Where to get an EPG legally

  • From your provider. If you pay for a licensed IPTV service, it almost always supplies an XMLTV link next to the playlist. This is the best option because the IDs are built to match.
  • From a broadcaster. Some public broadcasters publish schedule data. Check their developer or press pages.
  • Generate one yourself for public channels. The open-source iptv-org EPG project provides tools that grab schedule data for many publicly available channels and output an XMLTV file. It's a hands-on option, and it's meant to pair with the channel IDs used in the iptv-org channel list.

A guide only helps if you're watching channels you're entitled to. An EPG for a pirated playlist is still attached to a pirated playlist. Stick to providers you pay, free public channels, or your own TV tuner.

Common EPG problems and how to fix them

The guide is empty

  • Open the EPG URL in a browser tab. If it doesn't load, the link is wrong or expired.
  • Check that the file is XMLTV. Some providers offer several formats; pick XMLTV or "XML".
  • Give it a moment. Large guides can be tens of megabytes, especially for big channel lists.

Some channels have a guide, others don't

That's almost always an ID mismatch. The playlist says tvg-id="BBCOne.uk" and the guide says bbcone.uk, or one of them has no ID at all. Better Stream matches IDs regardless of letter case, which fixes a common cause, but a missing or different ID still has to be corrected in the playlist or guide. Your provider can usually fix this on their side.

Times are shifted by an hour or more

The guide's time-zone offset is wrong or the source wrote local times as UTC. Check a programme you know: if everything is exactly one or two hours off, it's an offset issue in the file, not your clock. Some players offer a manual guide shift; otherwise ask the guide's maintainer.

Programmes near midnight disappear

Some guides write midnight as 24:00 instead of 00:00 the next day. It's technically odd and older parsers drop those entries. Better Stream handles both since version 1.4.5.

The guide is out of date

XMLTV files are snapshots, usually covering a few days. If your provider's guide stops updating, programs run out and the grid goes blank. Players reload the guide from time to time; if it's still stale after a reload, the source isn't being refreshed.

How Better Stream shows the guide

In Better Stream's Live TV section you add an M3U playlist through the Sources tab or a plugin, then pair it with an XMLTV guide. You get:

  • A program guide with what's on now and next.
  • A stream-health check that hides channels that don't respond, so the guide isn't full of dead rows.
  • Filters for category, country and resolution, and favorites that stay saved in your browser.
  • The full Better Stream player when you press play: quality switching, picture-in-picture, sleep timer and auto-reconnect.

Better Stream itself ships no channels and no guide data. It reads the playlist and guide you add. The setup steps are on our how it works section, and if you're starting from scratch, our guide to the best M3U player for Chrome walks through the whole process.

A quick EPG glossary

You'll see these terms in IPTV apps and provider emails:

  • EPG / TV guide / program guide: the schedule, shown as a grid or a now/next list.
  • XMLTV: the file format most IPTV guides use.
  • tvg-id: the channel ID in your M3U playlist that links a channel to its guide row.
  • tvg-name and tvg-logo: optional playlist attributes for the channel's display name and logo.
  • url-tvg / x-tvg-url: a playlist header attribute that points to the guide's URL.
  • Now/next: the program airing right now and the one after it, the most useful part of any guide.
  • Guide window: how many days of listings the file covers. Short windows keep files small; long windows let you plan ahead.

If your provider's setup instructions mention any of these, you now know where each one goes.

EPG vs. catch-up vs. recording

People often expect the guide to do more than it does:

  • EPG: a schedule. It tells you what's on; it doesn't store video.
  • Catch-up / timeshift: replaying past programs. This is a provider feature that needs special stream URLs. The guide only shows what aired.
  • Recording (DVR): saving a copy. That depends on your provider's terms and local law, and it's not something an EPG does.

Key takeaways

  • EPG means electronic program guide: the schedule for your IPTV channels.
  • IPTV guides use the XMLTV format, linked to your playlist by tvg-id.
  • Get your guide from your provider, a broadcaster, or generate one for public channels.
  • Most "missing guide" problems are ID mismatches; most "wrong time" problems are time-zone offsets in the file.
  • A guide doesn't make content legal. Only watch channels you're entitled to.

Want a proper TV guide for the playlists you already have? Add Better Stream to Chrome, Edge, Brave or Opera, paste your playlist and guide URLs, and see what's on now. There's no account, and your settings stay on your device, as our privacy policy explains. More questions? Check the FAQ or contact us.

Frequently asked questions

Electronic program guide. In IPTV it's the schedule that shows what's on each channel now, next and later, usually delivered as an XMLTV file.

Share

Watch everything in one beautiful player.

Better Stream is free and installs in seconds. Your library, Live TV and the player, right in your browser.

Also works in
All articles