Direct answer: XMLTV is a standard file format for TV listings – the guide data behind your EPG, written in XML so any player can read it. An XMLTV file lists channels and programmes (titles, times, descriptions) in one predictable structure; your provider supplies a link to one, your player downloads it, and the on-screen guide is drawn from it. When a guide shows “no information”, wrong times, or yesterday’s schedule, the cause is almost always in this file or its delivery – not in the streams.
Our EPG explainer covered what the guide is; this article on what is XMLTV opens the bonnet on the data itself – where listings originate, how they reach your player, and the three failure modes that explain nearly every guide complaint.
Where listings are born
Broadcasters publish schedules; specialist listings aggregators collect them from many broadcasters, normalise times and descriptions, and package them as feeds. Providers license or compile such feeds, match them to their own channel line-up (each channel needs the listings entry with the same ID), and publish the result at an address your player can fetch – the XMLTV URL, delivered alongside your playlist or portal sign-in (M3U vs Xtream Codes shows the pairing). Nobody types these files by hand: a full multi-channel week of listings is a large, machine-generated document, re-issued as schedules change.
What is XMLTV: what is inside the file
| Element | Meaning |
|---|---|
| Channel entries | Each channel’s ID, display name, sometimes an icon/logo |
| Programme entries | Channel ID + start/stop times + title, description, category, episode numbers |
| Times | Written with timezone offsets – the quiet detail behind every “guide is an hour out” evening |
| (Optional) extras | Ratings, subtitles flags, series identifiers – richer files make smarter guides |
Your player parses this, lines programmes up against channels by ID, converts times to your timezone, and paints the grid. Misalignment at any step – a renamed channel ID, a stale file, a wrong device timezone – shows up as guide weirdness while the channels themselves play perfectly.
What is XMLTV: the three failure modes (and their tells)
- Stale file: the player stopped re-downloading (or the provider’s feed stalled). Tell: the guide is correct but frozen a day or two in the past. Fix path: refresh the playlist/guide and the EPG fix sequence.
- ID mismatch: playlist channels and listings channels no longer share IDs after a provider reshuffle. Tell: some channels show “no information” while neighbours are perfect. Fix: provider-side mapping – report it precisely (which channels) via support.
- Timezone skew: device clock/zone vs the file’s offsets disagree. Tell: everything is shifted by exactly one hour, classically after a clock-change weekend. Fix: the device timezone setting, not the provider.
Can you supply your own XMLTV source?
Advanced players allow adding your own EPG URL next to a playlist. It is occasionally useful (a regional listings source for your aerial channels, say), but the ID-matching problem becomes yours: listings that cannot be matched to channels simply never appear. For a subscription service, the provider’s matched feed is almost always the better guide – and a mismatched DIY feed creates exactly the “wrong programme” symptoms people then blame on the service.
Frequently asked questions
Text scales with ambition: a week of listings for thousands of channels can run to tens of megabytes uncompressed, which is why files are usually served compressed and why first-time guide loads on a slow line take a visible minute (slow guide behaviour has the neighbouring causes).
Healthy setups refresh daily at least; schedules for live sport move, and a two-day-old file already lies about tonight. Most players update at launch or on a timer – leave the device on its home Wi-Fi and let it.
It is the lingua franca for app-based IPTV; managed operator systems use their own pipelines, and some platforms use proprietary or JSON feeds internally. The concept – a separate listings document matched by channel ID – is identical everywhere.
Feed richness varies by channel popularity and source. It is a data-supply fact, not a player setting – another datapoint for judging a provider during a trial: browse the guide, not just the channels.
Conclusion
XMLTV is the unglamorous text file that makes the glamorous guide possible: listings born at broadcasters, normalised by aggregators, matched to channels by your provider, and painted by your player. Read guide problems through its three failure modes – stale, mismatched, skewed – and most “broken EPG” evenings diagnose themselves in minutes.





