EPG mapper: match M3U channels to XMLTV tvg-id
Open your M3U playlist and an XMLTV guide. The mapper suggests a guide channel for every live channel without a working tvg-id, with a confidence score. Accept or reject each one, then download the playlist with the tvg-ids filled in. Free, no sign-up.
Runs entirely in your browser. The playlist and guide are never uploaded, and existing tvg-ids are kept unless you choose otherwise.
| Use | Playlist channel | Current tvg-id | Suggested guide channel | Score |
|---|
Why channels have no TV guide
A player links a live channel to its programmes through one value: the playlist's tvg-id must equal the
id of a <channel> in the XMLTV guide. If the tvg-id is empty, misspelt,
or written for a different guide, the channel shows no programmes, even when the guide covers it under another id. The
M3U checker tells you how many channels match; this tool fixes the ones that do not.
How the matching works
Both sides are cleaned the same way before they are compared: lower case, accents removed, punctuation turned into spaces, and quality
tags (HD, FHD, UHD, 4K, HEVC, 1080p…) dropped. Number words become digits, so "Example One" and "Example 1" compare equal, and "+1" is kept so a
timeshift channel is not mixed up with the main one. A short country prefix such as UK:,
|DE| or [FR] is read as a hint and compared with the guide id's country
ending, like .uk.
Each playlist name is then scored against the guide's display names and its ids (camel-case ids such as
ExampleOne.uk are read as names too). The score mixes how many letter pairs the two names share with how many
whole words they share. Names that are the same apart from spacing score 100. Different numbers ("Sport 1" against "Sport 2") cut the score,
a matching country adds 3 and a different country takes away 15. The best guide channel wins if it scores 50 or more.
Naming differences it handles
| Playlist name | Guide channel | Why it matches |
|---|---|---|
| UK: Example News HD | ExampleNews.uk | Prefix read as country, HD dropped, id read as a name |
| |DE| Beispiel Eins FHD | Beispiel Eins (BeispielEins.de) | Prefix and quality tag ignored |
| Exemple Télé | Exemple Tele | Accents ignored |
| Example Movies +1 | Example Movies +1 | "+1" kept, so it does not match the main channel |
| Example Sport 2 | Example Sport 1 | Matches only with a low score: the numbers differ |
What it cannot know is meaning. A channel renamed by its owner, a regional edition with the same name, or a provider's own label such as "Movies 4" can score well and still be wrong, or score badly and be right. That is why nothing below the automatic level is written until you accept it, and why the score is shown for every row: start with the highest scores, accept them in bulk, then work down the list. Large playlists often repeat the same channel in several groups; the mapper scores each distinct name once and reuses the result, so 60,000 live channels take well under a second against a guide of ten thousand channels. The guide is read in pieces with a progress bar, and only its channel list is kept in memory, so guides of 100 MB and more are fine.
Reviewing the suggestions
- Needs review lists suggestions that are not accepted yet. Tick the ones that are right, or filter and use "Accept shown".
- Accepted are the ones that will be written. Suggestions at or above the automatic level start here; untick any that are wrong.
- tvg-id not in the guide are channels that already have an id the guide does not know. They are only changed when "Allow replacing" is ticked.
- Already matched channels are never changed.
The download is your playlist with only the accepted tvg-ids written in: the header (with url-tvg), every other attribute, the option lines and the order are kept. Films and series episodes are copied as they are. Check the result with the EPG viewer by opening the new playlist next to the guide, or read how to fix an empty TV guide for the other causes.
Questions
Are my playlist and guide uploaded anywhere?
Will it change tvg-ids that are already there?
What does the confidence score mean?
Which suggestions should I check by hand?
Does it match movies and series?
Does this fix the guide in my player?
Watch it on your TV
IPFlix Pro Player for Android TV, Google TV and Fire TV offers your playlist's EPG during setup and shows it in a TV Guide grid and a now/next info bar.
- Install IPFlix on the TV and open Add Playlist.
- Scan the QR code on the TV with your phone.
- On the phone, paste your provider's M3U link or type the Xtream login.
7-day free trial with everything unlocked, counted from your first playlist. IPFlix does not provide channels or content.
More free tools
- M3U playlist checker Find broken entries, duplicates and missing tvg-id; match an EPG
- M3U editor Keep or drop groups, rename, remove duplicates, merge two files
- M3U to CSV Channel list for Excel or Sheets: name, group, tvg-id, logo
- Xtream Codes to M3U converter Build the M3U and EPG links from a login, or read a link back
- EPG / XMLTV viewer Browse a guide file by channel and day, .xml or .xml.gz
- EPG time shift Move a guide by hours or fix its time zone offset, then download
- M3U8 / HLS parser Variants, bitrates, resolutions, codecs and segments of an HLS playlist
- Internet speed for IPTV Mbps and data per hour by quality, codec and number of TVs
All tools run in your browser. Nothing you open or type is uploaded. See all free IPTV tools