By Shamir
Best Free EPG Sources for 2026 (and How to Add an XMLTV Guide URL)
Your playlist loads, channels play — but the program guide is blank. That's the single most common "almost working" IPTV state, and the fix is almost always the same: you need to add an EPG.
An EPG (Electronic Program Guide) is the now/next and grid of what's on each channel. Your M3U playlist carries the streams; the EPG carries the schedule. They're two separate files, and many providers hand you a great playlist with no guide attached. This post lists the best free EPG sources in 2026, explains the one technical detail that makes or breaks a guide (tvg-id matching), and shows exactly how to plug an EPG URL into Tuneline.
New to the concept? Start with What Is EPG? The IPTV TV Guide Explained, then come back here for the where-to-get-one and how-to-add-it part.
What Format You Need: XMLTV
Almost every IPTV player — Tuneline included — reads the XMLTV format. It's a standardized .xml (often gzipped as .xml.gz) file describing channels and their programs with start/stop times. When a source advertises "XMLTV," "EPG URL," or "guide URL," that's what you want. You'll paste a link that ends in something like epg.xml or epg.xml.gz.
The Best Free EPG Sources in 2026
These are reputable, widely used, free sources. Pick one that covers your country/channels, copy its XMLTV URL, and you'll add it to your player in the next section.
| Source | Best for | What you get |
|---|---|---|
| iptv-org/epg | Almost any country | Open-source tooling that grabs guide data for thousands of channels from hundreds of official sources. You can use prebuilt country URLs or self-host. The gold standard for breadth. |
| epg.pw | Quick country grabs | Free per-country XMLTV (and JSON) links, auto-updated daily. Easiest copy-paste option. |
| open-epg.com | Curated public links + editor | Public XMLTV links plus a guide editor for matching channels. |
| m3u4u.com | Power users | A playlist and EPG manager — match your channels to guide data and get one combined, deduplicated EPG URL bound to your account. |
| Freeview-EPG (dp247) | UK free-to-air | XMLTV for UK Freeview channels and radio, rebuilt every 12 hours. |
| Your provider's own EPG | Xtream Codes users | If you log in with Xtream Codes, your provider usually serves a guide automatically — often no manual URL needed. |
Two practical tips:
- Match the EPG to your playlist's region. A US EPG won't fill in UK channels. If your playlist spans countries, use a broad source like iptv-org or stack multiple EPGs.
- Prefer the gzipped (
.xml.gz) URL when offered — it downloads faster and updates more smoothly, especially on TV-stick hardware.

The Thing That Actually Makes a Guide Work: tvg-id
Here's the detail that trips everyone up. An EPG doesn't magically know which guide belongs to which channel. The match happens through an identifier called tvg-id.
- In your M3U playlist, each channel line has a
tvg-id="..."attribute (e.g.tvg-id="BBCOne.uk"). - In the XMLTV EPG, each channel block has a matching
id="...". - The player lines them up: M3U
tvg-id➜ XMLTVid. If they're identical, the guide fills in. If they differ — even by a capital letter — that channel's guide stays blank.
So if you add a perfectly good EPG and some channels populate while others don't, it's almost never a "broken EPG." It's a tvg-id mismatch. Either your playlist's tvg-ids don't match the source's ids, or your playlist has no tvg-ids at all.
How to fix mismatches:
- Use an EPG from the same project as your playlist when possible — the ids will already line up.
- Use a matcher tool (m3u4u, open-epg's editor) to remap your channels' tvg-ids to a source's ids and export a corrected combined feed.
- Pick the right country feed — many sources publish per-country files whose ids follow a
Channel.ccconvention (e.g..us,.uk).
For the deeper mechanics — timezones, now/next vs full grid, and why reminders/catch-up depend on a working guide — see the EPG explainer.
How to Add an EPG URL to Tuneline
Once you've copied an XMLTV URL from any source above:
- Open Tuneline and go to the source/playlist you want a guide for.
- Open Settings → EPG (or the EPG/guide field on the source).
- Paste the XMLTV URL (the
epg.xml/epg.xml.gzlink). - Refresh the guide. Tuneline downloads the EPG and matches it against your channels' tvg-ids.
- Open the Live TV view — the now/next info and the grid should now populate.

Xtream Codes users: you usually don't need any of this. When you log in with your Xtream server, username, and password, the guide is delivered through the panel API automatically. If it's missing, see Xtream Codes login failed — fix.
Troubleshooting an Empty or Partial Guide
| Symptom | Likely cause | Fix |
|---|---|---|
| Guide totally blank | No EPG added, or URL is wrong/expired | Re-copy the XMLTV URL; confirm it opens in a browser |
| Some channels filled, others blank | tvg-id mismatch | Use a matcher or a same-project EPG (see above) |
| Guide loads then disappears | Source rate-limited or down | Switch to another source; prefer daily-updated ones |
| Times are off by hours | Timezone offset | Check Tuneline's timezone/EPG offset setting |
| Guide won't refresh on a TV stick | Large uncompressed XML | Use the .xml.gz URL instead |
If the guide loads in Tuneline but won't on one specific device, our dedicated EPG not loading fix walks through the rest.
Bottom Line
- An EPG is a separate XMLTV file from your playlist — you usually have to add it yourself.
- Best free sources in 2026: iptv-org/epg (breadth), epg.pw (easy per-country), open-epg and m3u4u (matching/editing), Freeview-EPG (UK).
- The guide fills in only when tvg-id in your playlist matches id in the EPG — most "broken guide" problems are really mismatches.
- In Tuneline: paste the XMLTV URL into Settings → EPG, refresh, done. Xtream Codes logins get the guide automatically.
Get Tuneline and point it at any free EPG above — your guide fills in, reminders and now/next start working, and it stays in sync across your devices.