Door Daan de Jong · Bijgewerkt op 2 november 2026

TL;DR: Bij M3U IPTV krijg je een tekstbestand, of een link naar zo’n bestand, met per zender een naam, een groep, een logo en het adres van de stream. Je speler leest die lijst regel voor regel en bouwt er een zenderoverzicht van. Een tv-gids zit er niet in: die komt als apart bestand.
Een M3U-link ziet eruit als een lange, onleesbare URL, en de meeste uitleg stopt bij “plak hem in je app”. Jammer, want wie weet wat erin staat, lost de helft van de problemen met M3U IPTV zelf op: een lege tv-gids, ontbrekende logo’s, een grijze terugkijkknop of een lijst die eindeloos laadt. Dit artikel opent het bestand en loopt het regel voor regel door. Over gratis lijsten gaat het hier niet, alleen over hoe het formaat werkt.
Wat is M3U IPTV?
M3U IPTV is IPTV waarbij je zenders binnenkomen via een M3U-afspeellijst: een gewoon tekstbestand met op elke regel informatie over een zender of het adres van de stream. Het formaat stamt uit de tijd van mp3-spelers op de pc en is zo simpel dat bijna elke IPTV-app het kan lezen, van telefoon tot smart tv.
De naam komt van “MP3 URL”. Een M3U-bestand bevat geen video, alleen verwijzingen ernaar, net zoals een boodschappenlijstje geen boodschappen bevat. De oorspronkelijke opzet en de varianten van het M3U-formaat zijn openbaar beschreven.
Voor IPTV is een uitgebreide versie in gebruik, die extra gegevens per zender toevoegt: een logo, een groep, een koppeling met de tv-gids. Die uitbreidingen zijn geen officiële standaard, maar spelers hebben ze in de loop van de jaren overgenomen. Waar M3U past in het grotere plaatje van IPTV, lees je in het overzicht wat IPTV is en wat je nodig hebt.
Hoe ziet een M3U-bestand er van binnen uit?
Een M3U-bestand voor IPTV begint met de regel #EXTM3U. Daarna volgen per zender twee regels: een #EXTINF-regel met de beschrijving en direct daaronder het adres van de stream. Dat patroon herhaalt zich voor elke zender, of het er nu tien zijn of tienduizenden. Meer structuur zit er niet in.
Hieronder een verzonnen voorbeeld met één zender. Het adres gebruikt het domein server.example, dat speciaal is gereserveerd voor voorbeelden en nergens naartoe leidt.
| Regel | Inhoud | Wat de speler ermee doet |
|---|---|---|
| 1 | #EXTM3U url-tvg=”http://server.example/xmltv.php” | herkent het formaat en onthoudt het adres van de tv-gids |
| 2 | #EXTINF:-1 tvg-id=”nieuws.nl” tvg-name=”Nieuws HD” tvg-logo=”http://server.example/logo/nieuws.png” group-title=”Nederland”,Nieuws HD | maakt een zender aan met naam, logo en groep |
| 3 | http://server.example/live/gebruiker/wachtwoord/1234.ts | bewaart dit als het adres dat hij opent als je de zender kiest |
De -1 na #EXTINF betekent dat de duur onbekend is. Bij een liedje staat daar het aantal seconden, bij een live zender loopt de stream door. De tekst na de laatste komma is de naam die je in de lijst ziet.
Op de wiki van VideoLAN over M3U zie je dezelfde basis, vanuit het perspectief van een mediaspeler. Het verschil met een IPTV-lijst zit alleen in de extra kenmerken op de #EXTINF-regel.
Wat betekenen tvg-id, tvg-logo en group-title?
Die kenmerken op de #EXTINF-regel vertellen je speler meer dan alleen de naam. Tvg-id koppelt de zender aan de tv-gids en tvg-logo wijst naar het plaatje. Group-title bepaalt de categorie, tvg-chno het zendernummer. Ontbreekt er een, dan werkt de stream nog steeds, maar mist je app die extra informatie.
| Kenmerk | Betekenis | Wat je merkt als het niet klopt |
|---|---|---|
| tvg-id | sleutel naar de juiste zender in de tv-gids | lege of verkeerde programma-informatie |
| tvg-name | naam voor de koppeling, soms gelijk aan de zichtbare naam | gids koppelt niet bij spelers die hierop zoeken |
| tvg-logo | adres van het zenderlogo | grijze vakjes in plaats van logo’s |
| group-title | categorie, zoals een land of genre | alle zenders op één lange hoop |
| tvg-chno | zendernummer | zenders staan niet op de nummers die je verwacht |
| catchup | geeft aan of en hoe terugkijken werkt | geen terugkijkknop bij die zender |
De laatste rij is minder bekend. Spelers die terugkijken ondersteunen, lezen uit de catchup-kenmerken hoe ze een oud programma moeten opvragen. Ontbreken die, dan blijft de terugkijkfunctie grijs, ook als de server de opname wel heeft. Hoe dat in de bekende apps werkt, staat bij terugkijken met IPTV.
Wat is het verschil tussen een M3U-bestand en een M3U-link?
Een M3U-bestand staat op je apparaat en verandert niet. Een M3U-link is een adres op de server van je aanbieder, dat bij elk bezoek een actuele lijst teruggeeft. Voor IPTV is de link bijna altijd de betere keuze: verandert er een zender of een streamadres, dan krijgt je speler het bij de volgende verversing vanzelf mee.
Zo’n link bevat vaak je gebruikersnaam en wachtwoord als onderdeel van het adres, samen met een paar instellingen. Je ziet dan iets als get.php, gevolgd door username, password, type en output. Type bepaalt welke variant je krijgt: m3u_plus levert de uitgebreide versie met logo’s en groepen. Output bepaalt het formaat van de streams, bijvoorbeeld ts voor een doorlopende transportstream of m3u8 voor segmenten.
Over M3U8 bestaat verwarring. De 8 staat voor UTF-8, de tekencodering. Een M3U8-bestand is dus gewoon een M3U-lijst waarin letters als é en ü goed worden opgeslagen. Bij HTTP Live Streaming wordt dezelfde extensie gebruikt voor de lijst met videosegmenten van één stream, en dat is iets anders dan je zenderlijst.
Hoe leest een IPTV-speler een M3U-lijst?
Een speler downloadt de lijst, controleert of de eerste regel #EXTM3U is en leest daarna elk paar van #EXTINF en adres in. Van elk paar maakt hij een zender, sorteert die op group-title en slaat het geheel op. Pas als je een zender kiest, opent hij het streamadres en begint de video te laden.
Die volgorde verklaart een paar dingen die je in de praktijk ziet:
- Verwacht een wachttijd bij de eerste keer laden, want de speler moet de hele lijst verwerken voordat hij iets toont.
- Ververs de lijst handmatig als een zender verdwenen lijkt, omdat de meeste spelers een opgeslagen kopie gebruiken tot de volgende automatische update.
- Controleer de eerste regel als een speler meldt dat de lijst ongeldig is. Een foutmelding van de server in plaats van #EXTM3U betekent vaak verlopen of verkeerd overgetypte inloggegevens.
- Kijk naar de groepen als de lijst rommelig oogt. Een speler toont precies de group-title die in het bestand staat.
Wie wil zien hoe een speler een lijst opbouwt, kan het op een computer proberen met VLC media player, die M3U-bestanden zonder extra instellingen opent. Een tv-gids of zendergroepen toont VLC niet, maar je ziet direct of de streams werken. Hoe je dat stap voor stap doet, staat bij IPTV kijken met VLC.

Waarom heeft een M3U-lijst geen tv-gids?
Een M3U-lijst bevat alleen zenders en adressen, geen programma’s. De tv-gids komt als een apart bestand in XMLTV-formaat, met per zender en per tijdvak wat er wordt uitgezonden. Je speler koppelt de twee via tvg-id. Klopt die koppeling niet, dan speelt de zender gewoon en blijft de gids leeg.
Het adres van dat gidsbestand staat soms al in de eerste regel van de M3U, achter url-tvg of x-tvg-url. Sommige spelers lezen dat vanzelf in, bij andere moet je het zelf invullen als EPG-adres.
Een XMLTV-bestand is vaak groter dan de zenderlijst, omdat het voor elke zender meerdere dagen aan programma’s bevat. Spelers laden het daarom soms pas na de zenders in, wat verklaart waarom de gids na het opstarten een minuut leeg kan blijven. De werking en de bekende valkuilen lees je bij de EPG en tv-gids in IPTV.
Hoe groot is een M3U-lijst en waarom laadt hij traag?
Een regelpaar voor één zender is met logo en groep al snel 250 tot 300 tekens. Bij 38.000 zenders levert dat een lijst van ongeveer 10,6 MB op. Zitten er ook 187.000 films en series in, dan groeit hij naar circa 63 MB, en dat moet een smart tv eerst helemaal inlezen.
De rekensom gaat zo: 225.000 items keer 280 bytes is 63 miljoen bytes. Een telefoon of een nieuwe streamingstick verwerkt dat vlot. Een smart tv met een trage processor en weinig werkgeheugen heeft er merkbaar meer moeite mee, en sommige apps geven het halverwege op.
Je kunt dit zelf nagaan. Open je eigen M3U-link op een computer in de browser, dan wordt het bestand gedownload en zie je de bestandsgrootte. Deel die link daarna met niemand, want je inloggegevens staan erin.
Is de lijst te zwaar voor je apparaat, dan helpen twee dingen. Kies in de app alleen de groepen die je gebruikt, zodat hij de rest overslaat. Of stap over op een Xtream-login, die de lijst in delen ophaalt. Wie 4K-zenders zoekt, vindt ze in veel lijsten in een eigen groep, met de eisen die erbij horen beschreven bij IPTV in 4K kijken.
M3U of Xtream: welke werkt beter?
Een Xtream-login werkt in de meeste apps beter dan een M3U-link, omdat de app de zenders, films en series per categorie opvraagt in plaats van één groot bestand te laden. De inhoud is gelijk: beide komen van dezelfde server. M3U blijft handig voor spelers die geen Xtream kennen, zoals VLC of sommige smart-tv-apps.
| M3U-link | Xtream-login | |
|---|---|---|
| Wat je invult | één lange URL | server, gebruikersnaam en wachtwoord |
| Laden | hele lijst in één keer | per categorie, wanneer nodig |
| Tv-gids | apart adres, soms automatisch | meestal automatisch |
| Films en series | in dezelfde lijst, of apart | in een eigen menu met informatie |
| Werkt in VLC | ja | nee |
| Typefouten | grote kans, lange URL | kleiner, drie korte velden |
De gegevens in een M3U-link en in een Xtream-login zijn bij veel aanbieders dezelfde: de server, je gebruikersnaam en je wachtwoord zitten allebei in de URL. Hoe je ze uit elkaar haalt en waar je ze invult, staat bij inloggen met Xtream Codes.
Hoe zet je een M3U-link in je IPTV-app?
Je kopieert de M3U-link uit de e-mail met je inloggegevens en plakt hem in je app bij de optie voor een afspeellijst of M3U-URL. Geef de lijst een naam, vul als het gevraagd wordt het EPG-adres in en laat de app de zenders laden. Daarna kies je de groepen die je wilt zien.
- Open de e-mail met je inloggegevens op het apparaat waar je de app gebruikt, of op een telefoon ernaast.
- Kies in de app voor een nieuwe afspeellijst met de optie M3U-URL of afspeellijst-URL.
- Plak de link zonder spaties ervoor of erachter, want een verborgen spatie is de meest gemaakte fout.
- Vul het EPG-adres in als de app daarom vraagt en het niet al uit de lijst haalt.
- Wacht tot de lijst geladen is en verberg de groepen die je niet nodig hebt.
Op een tv is het overtypen van een lange URL met een afstandsbediening geen pretje. Veel apps laten je de link daarom via een website of een QR-code vanaf je telefoon invoeren. De precieze stappen per apparaat, van smart tv tot MAG-box, staan in de installatiehandleiding.
Hoe gebruik je een M3U-link veilig?
Behandel je M3U-link als een wachtwoord, want dat is hij in feite. Iedereen met de link kan je zenders openen, en kijkt die ander tegelijk met jou, dan telt dat als een tweede scherm. Bij een abonnement voor één scherm tegelijk valt dan een van beide streams weg.
Een paar gewoontes voorkomen gedoe:
- Bewaar de link in je wachtwoordbeheerder of in de originele e-mail, niet in een notitie die met anderen gedeeld wordt.
- Plak hem alleen in apps uit de officiële appwinkel van je apparaat of van de bekende ontwikkelaars.
- Stuur hem niet door in een groepsapp als iemand vraagt hoe je IPTV hebt ingesteld. Stuur dan deze uitleg.
- Vraag nieuwe gegevens aan als je denkt dat iemand anders je link gebruikt.
Een M3U-link die je ergens online vindt, is een ander verhaal. Zulke lijsten zijn vaak verouderd, werken een paar dagen en bevatten soms adressen waarvan je niet weet waar ze heen gaan.
Veelgestelde vragen over M3U IPTV
Wat is een M3U-link bij IPTV?
Een M3U-link is een internetadres dat een actuele zenderlijst teruggeeft. Je plakt hem in je IPTV-app, die de zenders, groepen en logo’s eruit haalt en de streams afspeelt als je een zender kiest.
Wat is het verschil tussen M3U en M3U8?
M3U8 is een M3U-bestand in UTF-8-codering, waardoor tekens als é en ü goed blijven. Bij HTTP Live Streaming heet de lijst met videosegmenten van één stream ook M3U8.
Waarom zie ik geen tv-gids bij mijn M3U-lijst?
Omdat de tv-gids een apart XMLTV-bestand is. Vul het EPG-adres in je app in en controleer of de tvg-id van de zenders overeenkomt met de gids.
Kan ik een M3U-bestand openen op mijn computer?
Ja. Een M3U-bestand is gewone tekst en opent in elke teksteditor. Met VLC media player kun je de streams uit de lijst ook direct afspelen.
Is een M3U-link beter dan een Xtream-login?
Meestal niet. Een Xtream-login laadt sneller en geeft een netter menu voor films en series. Een M3U-link is handig voor spelers die geen Xtream ondersteunen.
Waarom laadt mijn M3U-lijst zo traag?
Omdat de speler de hele lijst moet inlezen. Bij tienduizenden zenders en films is dat al snel tientallen megabytes, wat een oudere smart tv veel tijd kost.
