
Nordic TV in Spain: a practical guide
Watching Swedish, Norwegian, Danish and Finnish TV from Spain: time zones, fibre and holiday-flat Wi-Fi, catch-up for the evening news, and what to bring.
Two ways of loading the same channels into an app. Knowing which is which prevents most of the login trouble people bring to the chat.
An M3U playlist is one long link to a text file that lists every channel. An Xtream Codes login is a server address, a username and a password, which lets the app fetch the channels, the guide and the film library by itself. Use Xtream whenever the app offers it; use M3U in apps that accept nothing else.
M3U is a plain text format that dates back to early MP3 players. Each channel takes two lines: one describing it and one giving the address of its stream. A real playlist has thousands of these pairs and looks roughly like this:
#EXTM3U url-tvg="http://example.com/epg.xml"
#EXTINF:-1 tvg-id="channel1.se" group-title="Sweden",Channel One
http://example.com:8080/live/user/pass/1001.ts
#EXTINF:-1 tvg-id="channel2.no" group-title="Norway",Channel Two
http://example.com:8080/live/user/pass/1002.tstvg-id is what connects a channel to the programme guide, and group-title is the folder it appears in. M3U8 is the same format saved as UTF-8, which keeps letters like å, ø and æ intact in channel names.
Xtream Codes is a login scheme rather than a file. You give the app three things: the server address, a username and a password. The app then asks the server for the channel list, the programme guide, the films and the series, and keeps them up to date by itself.
The name comes from the panel software that introduced the scheme. The format outlived it and is now supported by almost every IPTV app.
| M3U playlist | Xtream Codes login | |
|---|---|---|
| What you enter | One long link | Server, username, password |
| Programme guide | Many apps need a separate EPG link | Loads automatically |
| Films and series | Mixed into the list, or missing | Separate, sorted sections |
| Updates | Reload the playlist | Automatic |
| Works best in | VLC, Kodi, simple players | TiviMate, IPTV Smarters, most TV apps |
| What you see | What it usually means | Fix |
|---|---|---|
| Invalid username or password | A typo, or a space copied along with the text | Type it by hand; check upper and lower case |
| Cannot connect to server | Address entered without http:// or without the port | Copy the address exactly, including the :port |
| Login works, no channels | Xtream details entered as M3U, or the reverse | Choose the login type that matches what you were sent |
| Max connections reached | Another device is already playing on the same login | Stop the other stream, or check your plan's screens |
| Account expired | The subscription period has ended | Check the end date and renew |
| Channels load, guide empty | No EPG link, or channel ids that do not match the guide | Add the EPG link, wait two minutes and refresh |
The text encoding. M3U8 is saved as UTF-8, which keeps Nordic letters such as å, ø and æ intact in channel names. Apps read both the same way.
No. It is a login format: a server address, a username and a password. You enter it in an app such as TiviMate or IPTV Smarters.
Many apps need the guide as a separate EPG link. Add it in the app's EPG settings, or use the Xtream login, which loads the guide automatically.
Yes, on as many devices as you like, but only as many can play at once as your plan has screens.

Watching Swedish, Norwegian, Danish and Finnish TV from Spain: time zones, fibre and holiday-flat Wi-Fi, catch-up for the evening news, and what to bring.

IPTV explained without jargon: how live TV travels over the internet, what you need at home, and where it beats or loses to aerial, cable and satellite.

Why IPTV buffers and freezes, in the order the causes usually turn up: Wi-Fi, the device, evening congestion, the player buffer. Plus tests that pinpoint which.
The test runs for 48 hours on one screen and stops by itself. Put it over a weekend with a match on, so you test the service at its busiest.