Everything you need to know about the IPTV Electronic Programme Guide — what it is, how it works, how to set it up, and which Canadian IPTV services offer the best EPG coverage in 2026.
EPG stands for Electronic Programme Guide. In the context of IPTV, an EPG is the digital TV schedule that displays programme information for each of your IPTV channels — showing what is currently airing, what comes next, and what aired previously, usually covering a 7-day window (3 days past, 4 days ahead).
Think of the EPG as the on-screen channel guide you use on cable or satellite TV — the grid that lets you scroll through channels and see show titles, descriptions, start times, and end times without having to know the schedule in advance. IPTV apps like IPTV Smarters Pro, TiviMate, and Kodi all have EPG displays built in — they just need to be loaded with the right EPG data from your IPTV provider.
Without an EPG, your IPTV channel list is just that — a list of channels. You would have to know what's on and when, or blindly tune in and find out. With a populated EPG, your IPTV experience feels exactly like a premium cable TV service: a rich, scrollable guide showing you what's on across hundreds of channels, with the ability to see programme descriptions and plan your viewing.
An example of what an IPTV EPG looks like in a player app — a grid of channels with current and upcoming programme listings. Live events are highlighted in real time.
For Canadian IPTV subscribers specifically, the EPG is not just a convenience — it is often the deciding factor in whether an IPTV service truly replaces cable TV in day-to-day use. Here is why EPG quality matters so much for Canadian viewers:
Understanding the technical pipeline behind IPTV EPG helps you diagnose problems and make better choices when selecting an IPTV provider. The EPG system has four components working together:
Programme schedule data originates with broadcasters — CBC, TSN, TVA, CNN, and every other channel publishes their own programming schedules. EPG aggregators (companies that specialize in collecting and normalizing TV schedule data) gather this information from broadcasters' official feeds, websites, and licensed data partnerships. They compile it into standardized XMLTV files covering typically 7–14 days of programming for hundreds or thousands of channels.
The aggregated data is formatted into the XMLTV standard — an XML-based file format that all IPTV apps understand. The XMLTV file maps each programme listing to a specific channel identifier (channel ID), so the app knows which channel each show belongs to. The quality of this mapping — correctly matching EPG channel IDs to IPTV stream channel IDs — is the most common source of EPG problems.
Your IPTV subscription provider either aggregates their own EPG data or licenses it from an EPG aggregator. They make it available to you as either an EPG URL (a web address where the XMLTV file can be downloaded) or automatically through the Xtream Codes API (where EPG data is bundled with your channel list). The provider must update the EPG file regularly — typically every few hours — to keep schedule data current.
Your IPTV player app (Smarters Pro, TiviMate, Kodi) downloads the XMLTV file from the EPG URL — which can be 10–100+ MB for a large channel list — parses the XML data, and matches each programme entry to the corresponding channel in your playlist. The result is the on-screen TV guide you see. Most apps cache the EPG data locally and refresh it on a schedule (typically every 24 hours) to avoid re-downloading large files constantly.
XMLTV is the universally adopted open standard for distributing TV schedule (EPG) data. It is a text file written in XML that contains structured programme listings for all channels. Every IPTV app that supports EPG — from IPTV Smarters Pro to TiviMate to Kodi — reads XMLTV files to populate the TV guide.
Here is a simplified example of what an XMLTV file looks like:
<!-- XMLTV EPG File — simplified example for Canadian IPTV --> <tv generator-info-name="IPTV Canada 4K EPG"> <!-- Channel definitions --> <channel id="TSN1.ca"> <display-name>TSN 1</display-name> <icon src="https://iptv-canada-4k.ca/logos/tsn1.png" /> </channel> <channel id="CBC.ca"> <display-name>CBC</display-name> <icon src="https://iptv-canada-4k.ca/logos/cbc.png" /> </channel> <!-- Programme listings --> <programme start="20260512190000 -0400" stop="20260512213000 -0400" channel="TSN1.ca"> <title lang="en">NHL Hockey: Maple Leafs vs Bruins</title> <desc lang="en">Live NHL regular season game. Toronto Maple Leafs host the Boston Bruins at Scotiabank Arena.</desc> <category lang="en">Sports</category> <live /> </programme> </tv>
| XML Element | Purpose | IPTV Impact |
|---|---|---|
<channel id="..."> | Defines a channel with a unique ID | Must match the channel ID in your M3U playlist for EPG to map correctly |
<display-name> | Human-readable channel name | Shown in the TV guide overlay — should match your channel list name |
<icon src="..."> | Channel logo image URL | Displays the channel logo in the EPG grid and channel list |
<programme start="" stop=""> | Programme time window with timezone | Determines when shows appear on the EPG timeline — timezone must be correct |
<title> | Programme name | The show title shown in the guide and on-screen banner |
<desc> | Programme description | The detailed description shown when you select a programme in the guide |
<category> | Programme category (Sports, Drama, etc.) | Used for filtering and category badges in some apps |
<episode-num> | Season/episode information | Displays S01E03 style info in apps that support it (TiviMate) |
<icon> inside programme | Programme poster/thumbnail image | Show artwork displayed in EPG detail views |
<live /> | Marks the programme as a live event | Apps highlight live sports and events differently from recorded programmes |
IPTV EPG data is delivered to users through several different mechanisms. Understanding which type your provider uses helps you configure it correctly:
When your IPTV subscription uses Xtream Codes API login (username + password + server URL), the EPG data is typically bundled automatically with your channel list. The Xtream Codes server delivers channel information and EPG schedule data together in a single API response. In IPTV Smarters Pro, this means your EPG should populate automatically after login — no separate URL needed. This is the most seamless EPG experience and is why quality IPTV providers prefer Xtream Codes over plain M3U playlists.
For subscriptions delivered via M3U playlist, or for Xtream Codes subscriptions with incomplete EPG data, your provider supplies a separate EPG URL — a web address where the XMLTV file is hosted and regularly updated. You enter this URL in your IPTV app's EPG settings. The app downloads the XMLTV file on a schedule and uses it to populate the TV guide. The key variable here is whether the channel IDs in the XMLTV file match the channel IDs referenced in your M3U playlist (tvg-id attribute) — mismatches cause blank EPG for affected channels.
Some IPTV apps — particularly Kodi with the PVR IPTV Simple Client add-on — can pull EPG from multiple sources simultaneously: your provider's EPG URL, third-party XMLTV aggregators (like EPG.Best or IPTV-org's public EPG feeds), and even local EPG files. This flexibility is particularly useful for Canadian viewers whose provider's EPG is incomplete for specific regional channels.
MAG set-top boxes and Stalker Middleware portals deliver EPG directly through the portal interface — you don't configure an external URL. The portal's built-in guide populates automatically from the provider's EPG database. The limitation is that this EPG is only accessible within the MAG portal interface, not in third-party apps.
IPTV Smarters Pro is the most widely used IPTV app in Canada. EPG setup varies slightly depending on whether you are using Xtream Codes login or an M3U playlist. Here is the complete process for both:
Open IPTV Smarters Pro → Add User → Login with Xtream Codes API → Enter your Username, Password, and Server URL from your provider. Tap Add User.
The app will automatically download your channel list AND EPG data together from the Xtream Codes server. This initial load takes 30–120 seconds depending on channel count and EPG file size. You will see a loading progress indicator.
Go to Live TV, select any channel (e.g., TSN1 or CBC), and look at the channel info bar at the bottom of the screen. If the current show name and time are displayed, your EPG is working correctly.
From the Live TV section, press the Guide button (or the EPG button on your remote/app). This opens the full grid TV guide showing all channels with their current and upcoming schedules.
Open IPTV Smarters Pro → Add User → Add URL / Upload M3U Playlist → Paste your M3U URL or upload the file. Enter a playlist name and tap Add User.
From the main screen, tap the three-dot menu or Settings icon next to your subscription profile. Find the EPG URL or XMLTV URL field in the profile settings.
Paste the XMLTV EPG URL provided by your IPTV service into the EPG URL field. This URL typically ends in .xml, .xml.gz, or .xml.xz. If you don't have an EPG URL, contact your provider and ask for it specifically.
Tap Save, then navigate to Settings → EPG and tap Update EPG (or Force Refresh). The app will download the XMLTV file — this may take 1–3 minutes for large files. When complete, your EPG guide should be populated.
In Settings → EPG, set the automatic refresh interval — every 24 hours is standard. This ensures your EPG data stays current without manual updates. Smarters Pro will download the updated XMLTV file in the background.
Your provider may call it an "EPG URL," "XMLTV URL," "EPG link," "TV Guide URL," or "EPG feed." They all refer to the same thing — the web address where the XMLTV-format schedule file is hosted. Whatever your provider calls it, paste it into the EPG URL field in your app settings.
TiviMate is widely regarded as having the best EPG interface of any IPTV app — a polished grid guide with smooth scrolling, rich programme information, and category-based filtering. Here is how to configure EPG in TiviMate:
Open TiviMate → Add Playlist → Xtream Codes (for server/username/password login) or M3U URL (for playlist link). TiviMate automatically loads EPG data from Xtream Codes subscriptions — no separate setup needed for most providers.
Go to Settings → EPG Sources → Add EPG Source → Enter your XMLTV URL. TiviMate supports multiple EPG sources simultaneously — you can combine your provider's EPG with a third-party source to fill gaps in Canadian channel coverage.
If some channels aren't showing EPG data, go to that channel → Long press → EPG Mapping → Search for the channel name in the EPG database and select the correct match. This manually creates the link between your channel and its EPG data.
In Settings → EPG, set: Update Interval (24 hours recommended), EPG Offset if your guide is showing wrong times (timezone correction), and Days to Load (7 days maximum for most sources). Enable "Load EPG on App Start" for always-fresh guide data.
Press the Guide button in TiviMate (or navigate via the menu) to open the full TV guide grid. TiviMate's EPG is the most feature-rich available — use arrow keys to scroll channels and timeline, press OK/Enter on a programme for details, and use the recording button (Premium) to schedule recordings.
Kodi handles IPTV EPG through the built-in PVR IPTV Simple Client add-on. Once configured, Kodi displays EPG data in its full TV guide interface and supports recording (with a compatible PVR backend). Here's the setup process:
In Kodi: Settings → Add-ons → My add-ons → PVR clients → PVR IPTV Simple Client → Enable. If not present, install it from Settings → Add-ons → Install from Repository → Kodi Add-on Repository → PVR clients.
Open PVR IPTV Simple Client → Configure. In the "General" tab, set your M3U URL (Remote Path option) or local M3U file path. In the EPG Settings tab, set the XMLTV URL field to your provider's EPG URL.
In the EPG Settings tab, set the EPG Time Shift (hours) to match your Canadian timezone offset from UTC: ET = UTC-5 (or -4 during EDT), MT = UTC-7, PT = UTC-8. This corrects show times to display in your local time.
Restart Kodi after saving settings. Navigate to TV → Guide to see the EPG grid. Initial EPG download can take several minutes for large XMLTV files. Kodi displays its EPG in a comprehensive 7-day grid view accessible from the main TV menu.
GSE Smart IPTV is the top choice for iPhone, iPad, and Apple TV users in Canada. EPG setup is straightforward:
GSE Smart IPTV's EPG display includes a horizontal timeline view for individual channels and a full grid view (iPhone and iPad). Apple TV users get the most polished EPG experience since the remote control maps naturally to the grid navigation.
Not all IPTV apps handle EPG equally. Here is how the most popular Canadian IPTV apps compare on EPG quality:
EPG coverage for Canadian channels varies significantly between IPTV providers. Understanding what good Canadian EPG looks like helps you evaluate services and spot gaps:
| Channel Category | Expected EPG Coverage | Languages |
|---|---|---|
| CBC / Radio-Canada (all regions) | ✓ Full 7-day EPG | English + French |
| CTV / CTV2 (national + regional) | ✓ Full 7-day EPG | English |
| Global TV (national + regional) | ✓ Full 7-day EPG | English |
| TSN 1–5 | ✓ Full 7-day EPG | English |
| Sportsnet (all feeds) | ✓ Full 7-day EPG | English |
| RDS / RDS2 / TVA Sports | ✓ Full 7-day EPG | French |
| TVA / Noovo / V (Québec) | ✓ Full 7-day EPG | French |
| City TV (regional) | ⚠ Varies by provider | English |
| CP24 / BNN Bloomberg | ⚠ Varies — rolling news | English |
| Canadian specialty (HGTV CA, Food CA) | ⚠ Sometimes limited | English |
| OMNI (multicultural) | ⚠ Varies by provider | Multiple |
| APTN | ⚠ Sometimes limited | English/Indigenous |
The most common cause of blank EPG on specific channels — even when the XMLTV data exists — is a channel ID mismatch. Your IPTV playlist uses a tvg-id attribute in the M3U file to reference the corresponding channel in the EPG file. If the tvg-id in the M3U does not exactly match the id attribute of the channel in the XMLTV file, the app cannot link them, and that channel shows no EPG data.
Example of correct matching:
M3U: #EXTINF:-1 tvg-id="TSN1.ca" tvg-name="TSN1",TSN 1
XMLTV: <channel id="TSN1.ca">
→ ✓ Perfect match — EPG displays correctly
Example of ID mismatch:
M3U: #EXTINF:-1 tvg-id="TSN1" tvg-name="TSN1",TSN 1
XMLTV: <channel id="TSN1.ca">
→ ✗ Mismatch — EPG blank for this channel
Not all IPTV Canada services invest equally in EPG quality. Based on our testing, here are the top services for complete Canadian TV guide coverage in 2026:
Top-rated Canadian IPTV service for EPG quality. Provides a comprehensive 7-day XMLTV EPG covering all major Canadian channels in English and French — automatically delivered via Xtream Codes API (no manual URL entry required). EPG data is updated every 4 hours. Canadian channel IDs are precisely mapped to M3U tvg-id values, meaning virtually zero blank EPG channels out of the box on Smarters Pro and TiviMate.
Any quality Canadian IPTV provider must deliver precise EPG for TSN and Sportsnet. This means accurate game times, correct away/home matchup descriptions, live event markers, and no schedule drift from real broadcast timing. Test specifically by checking the TSN1 EPG during the NHL season — if game start times, opponent names, and broadcasting details are correct, the provider's sports EPG is reliable.
French-language EPG is a persistent weak point for many IPTV services. The best providers for Québec viewers deliver complete 7-day EPG in French for RDS, TVA, Radio-Canada ICI, Noovo, V, Canal D, Canal Vie, and all Québec specialty channels — with programme descriptions in French, not just French channel names with English descriptions. Test specifically by checking RDS during a Canadiens game for French-language EPG accuracy.
EPG issues are among the most frequently reported IPTV problems for Canadian users. Here is a systematic troubleshooting guide for every common EPG failure mode:
tvg-id in the M3U playlist doesn't match the channel id in the XMLTV file for those specific channels.If your IPTV provider's EPG is incomplete — missing some Canadian channels, outdated, or poorly mapped — you can supplement it with free public EPG sources. Here are the best options for Canadian IPTV users:
The IPTV-org project on GitHub maintains a community-sourced XMLTV EPG database covering thousands of channels globally, including Canadian channels. The EPG data is available at https://iptv-org.github.io/epg/. This is one of the most comprehensive free EPG sources for IPTV and includes TSN, CBC, CTV, Global, Sportsnet, and many Canadian specialty channels.
EPG.Best is a free online EPG aggregation service that compiles TV schedules from multiple sources. It offers customizable XMLTV URLs — you can select which channels to include to build a lean, Canada-focused EPG file. Particularly useful for reducing file size when you only need Canadian and US channels.
SchedulesDirect is a paid EPG service ($35 USD/year) that provides high-quality, broadcaster-sourced TV schedules for North American channels. It is the EPG data source used by HDHomeRun and Emby — the data quality is significantly higher than most free sources. Recommended for Kodi users who want the most accurate Canadian EPG available. Integrates natively with Kodi's PVR system.
Tip: When using a third-party EPG source alongside your provider's EPG, the channel IDs in the third-party XMLTV must match the tvg-id values in your M3U playlist. TiviMate's manual EPG mapping tool is the most practical way to resolve mismatches between your channel list and a supplementary EPG source.
IPTV Canada 4K delivers a fully populated 7-day EPG for all Canadian channels — automatic via Xtream Codes, no manual setup required. TSN, CBC, CTV, Sportsnet, RDS all covered in English and French.
📺 Start Free Trial — Full EPG IncludedThe IPTV EPG is what transforms a list of channels into a full television experience. Without it, IPTV feels like a collection of unlabelled streams. With a complete, accurate EPG, your IPTV service becomes a genuine cable replacement — one where you can browse what's on, plan your viewing week, replay missed broadcasts via catch-up, and schedule recordings, all through an intuitive on-screen guide.
For Canadian viewers specifically, EPG quality is non-negotiable. The Canadian sports broadcasting landscape — with games spread across five TSN channels, multiple Sportsnet feeds, and RDS — requires accurate scheduling data to navigate effectively. The same applies to Canadian primetime on CTV, Global, and CBC, and to the bilingual requirements of Québec households who need French-language EPG for the RDS, TVA, and Radio-Canada programming they rely on.
To summarize the key takeaways from this guide:
If you are looking for an IPTV service that delivers complete, accurate EPG for all major Canadian channels — including TSN, Sportsnet, CBC, CTV, RDS, TVA, and Radio-Canada — in both English and French, with automatic Xtream Codes delivery and a free trial to verify quality before committing, explore IPTV Canada 4K's plans. The EPG is already set up and populated from the moment you log in.