M3U to CSV converter

Open an .m3u or .m3u8 playlist to get its channel list as a CSV for Excel, Google Sheets or Numbers: name, group, type, tvg-id, logo and more. Free, no sign-up, fast on 180,000-entry files.

Runs entirely in your browser. The playlist is never uploaded, and stream links are left out of the CSV unless you ask for them.

Drop a playlist file here, or choose one

.m3u, .m3u8 or .txt

Columns

Open a playlist to start.

What goes into the CSV

An M3U playlist stores each channel as an #EXTINF line full of attributes, followed by the stream address. That is easy for a player and hard for a person: a provider's playlist can run to tens of thousands of lines. The CSV puts one entry per row and one attribute per column, in the order of the playlist, so you can sort, filter and count in a spreadsheet.

Name

The channel or title name: the text after the comma on the #EXTINF line.

Group

group-title, the category a player shows (or #EXTGRP when group-title is missing).

Type

Live, Movie or Series, worked out from the stream address (/movie/, /series/, .mkv, .mp4) the same way the M3U checker does.

tvg-id

The guide id that links a live channel to the XMLTV guide. An empty cell here is why a channel has no TV guide.

tvg-name

An alternative name some playlists use for guide matching.

Logo

tvg-logo, the address of the channel logo image.

Channel number

tvg-chno, the channel number some players use for ordering.

Catch-up

"yes" when the entry has catchup or timeshift attributes.

Stream URL

Off by default. Masked hides the username and password; Full copies the address exactly, login included.

From one M3U entry to one row

An entry in an M3U playlist is two lines: the #EXTINF line with the attributes and the name, then the stream address.

#EXTINF:-1 tvg-id="example.uk" tvg-name="Example News" tvg-logo="https://img.example/news.png" group-title="News",Example News HD
http://provider.example:8080/live/USERNAME/PASSWORD/1234.ts

With the default columns, that entry becomes this row:

#,Name,Group,Type,tvg-id,Logo
1,Example News HD,News,Live,example.uk,https://img.example/news.png

-1 after #EXTINF: is the duration, which is always -1 for live streams and is not exported. Option lines such as #EXTVLCOPT (user agent, referrer) or #KODIPROP belong to the player, not the channel list, so they are left out too. The # column numbers rows in playlist order, which helps you find an entry again in the original file. Rows can be limited to live channels, movies or series episodes before you download, which is handy when a provider's playlist mixes 5,000 channels with 100,000 films.

What people use it for

  • Finding guide gaps. Filter the tvg-id column for empty cells to see which live channels can never show a TV guide, then fix them with the EPG mapper.
  • Planning a cleanup. A pivot table of groups and counts shows which categories are worth keeping before you trim them in the M3U editor.
  • Asking for help safely. With links left out, the CSV shows what is in the playlist without your login, so you can share it with support or a friend.
  • Comparing two playlists. Convert both and compare names or tvg-ids side by side after a provider update.

Opening it in Excel, Sheets or Numbers

The file is UTF-8 with a byte order mark, so accented and non-Latin names (Turkish, Greek, Arabic, Cyrillic) show correctly when Excel opens it with a double-click. If your Excel uses a comma as the decimal sign, it expects semicolons between columns: pick Semicolon before downloading. Google Sheets (File, Import) and Apple Numbers read any of the three separators. Cells are quoted where needed, so names that contain commas or quotation marks stay in one cell.

If the names look broken in the preview, the playlist itself is probably not UTF-8. The M3U checker can read it in an older code page and tells you which lines are affected. Converting again after a fix takes a second, so it is fine to try a few column sets and separators until the spreadsheet looks the way you want.

Questions

Is my playlist uploaded anywhere?
No. The file is read and turned into CSV by JavaScript in your browser. Nothing from it is sent to IPFlix or anyone else. The preview on the page always masks usernames and passwords.
Why are the stream links left out?
IPTV stream addresses usually contain your username and password. A channel list is often shared with someone else, so the safe default is to leave the links out. Choose Masked to keep the server and path without the login, or Full only for your own use.
Excel shows everything in one column. What do I do?
Excel in many European languages expects semicolons between columns. Choose Semicolon as the separator and download again, or in Excel use Data, From Text/CSV and pick Comma. Google Sheets and Numbers read the comma version directly.
Why do some cells start with an apostrophe?
A cell that starts with =, +, - or @ can run as a formula in a spreadsheet, which a hostile playlist could abuse. The apostrophe makes the spreadsheet show it as plain text. Turn off "Protect against formulas" if you need the raw values.
Can I turn the CSV back into an M3U?
Not with this tool: a CSV has no room for every option line of the original. To change a playlist, use the M3U editor, which keeps each entry's own lines.
How big a playlist can it convert?
Playlists with 180,000 entries convert in well under a second in a desktop browser, and the CSV is about 25 MB.

Watch it on your TV

IPFlix Pro Player for Android TV, Google TV and Fire TV imports your provider's M3U link or Xtream login, and lets you choose which categories to show during setup.

  1. Install IPFlix on the TV and open Add Playlist.
  2. Scan the QR code on the TV with your phone.
  3. 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.