X M3U Converter is a free Windows utility that rewrites playlists between M3U, M3U8, PLS, XSPF, WPL, ASX and plain text, repairs broken track paths after files or drives move, and keeps IPTV channel tags intact.
Version 1.2 turns X M3U Converter from a format converter into a playlist editor, with a row-by-row list that flags every missing track and a one-click repair for media that has moved.
It exists for two everyday situations: a player that refuses to open the playlist format you have, and a playlist where every track shows up greyed out because the folder it points to no longer exists.
Both are trivial to fix once you stop trying to hand-edit the file.
A 400-track playlist is not something anyone should be repairing line by line in Notepad. X M3U Converter handles the rewrite in one pass, either in your browser or through the free Windows app.
When a player will not open your playlist
Every media player has its own preferred playlist format, and they do not all read each other's. Winamp and most internet radio directories produce PLS files.
Windows Media Player writes WPL and, for older streaming redirectors, ASX. VLC Media Player, AIMP and most web players also read the open XSPF standard.
The plain M3U and UTF-8 M3U8 formats are the closest thing to a universal default, which is exactly why converting to M3U8 is the safest move when a file will not load anywhere.
X M3U Converter reads any of these and writes any of the others, plus a plain TXT file list for scripts and tools. Track titles and durations, the #EXTINF metadata, survive wherever the target format supports them.
If you have built a library in foobar2000 or MediaMonkey and want to hand a playlist to someone running VLC, the conversion takes one click and the titles survive the trip.
The same applies in reverse for the dozens of players catalogued in the multimedia tools section.
M3U versus M3U8, the difference that actually matters
These are the same format with one distinction: text encoding. M3U8 is UTF-8, so it handles accented characters, non-Latin scripts and emoji in file names correctly.
M3U does not, which is why a playlist of tracks with Japanese or Cyrillic filenames can play perfectly on the machine that created it and fail completely on another. If any path in your playlist contains anything beyond plain ASCII, choose M3U8 as the output and the encoding problem disappears.
The path problem: playlists that break when you move files
The more frustrating failure is the playlist that opens fine but plays nothing, with every entry dimmed. This happens because playlists store locations, not the audio itself.
Move your library from C:\Music to a new D:\Audio drive, reorganise folders, or migrate to a new PC, and every absolute path inside the playlist now points at nothing.
Check paths goes through every entry and reports what it found: tracks that exist, tracks that are missing, and web URLs, which it sensibly skips. Missing files are listed by name, with relative paths resolved against the playlist's own folder, so you can see exactly what broke before you fix anything.
Find and replace in paths then swaps the old root for the new one across every entry at once. Filename only strips folder information entirely, leaving just the track names so a player can relocate the files itself.
XSPF files store locations as file:// URIs rather than plain paths, and the conversion is handled in both directions. Relative entries stay relative, so a portable playlist on a USB stick keeps working instead of being pinned to one machine.
This makes the tool a companion to library and editing software rather than a replacement for it. After splitting an album with CUE Splitter or trimming tracks in mp3DirectCut, regenerating a clean playlist is the last step.
The same goes for a retagging session in Mp3tag, which renames enough files to break a playlist on its own.
Editing in Audacity has the same effect, and both belong in the same workflow as the rest of your audio editors.
New in 1.2: editing a playlist, not just converting it
Version 1.2 adds the part that was missing. A playlist now opens as a proper list, with a title, a duration, a path and a found or missing marker on every row.
You can tick entries in or out of the output, drag rows to reorder them, and double-click any row to edit its title, duration or path, with a Browse button for locating a file by hand.
Fix missing files is the one that saves an afternoon. Point it at the folder your media moved to and every broken entry is matched by file name anywhere inside it, subfolders included, then rewritten for you.
Entries that still work are left alone, and where the same file name turns up twice the copy in the closest matching folder wins. Untick missing is the blunter option, dropping dead entries from the output in one click without deleting anything on disk.
The quick version. If your music moved as a block, use find and replace. If it got scattered across new folders, use Fix missing files and let the app match everything by name.
Batch conversion now runs in the background with a progress bar, a cancel button and a per-file error report, so a folder of 200 playlists no longer freezes the window. The raw text stays one click away behind an advanced toggle.
IPTV playlists keep their channel names and logos
Most M3U files in circulation are not music at all, they are IPTV channel lists, and version 1.2 is the first release that treats them properly.
Earlier builds tripped over extended #EXTINF lines such as #EXTINF:-1 tvg-id="bbc1.uk" group-title="News",BBC One and lost the channel name. Those lines are now parsed correctly, commas inside quoted values included.
The tvg-id, tvg-logo and group-title attributes are carried through M3U and M3U8 conversions instead of being dropped, along with the #EXTVLCOPT, #EXTGRP and #KODIPROP lines that carry a user agent, a referrer or a group.
Converting to PLS, WPL or ASX still drops them, because those formats have nowhere to store them. XSPF keeps group-title as the album and tvg-logo as the track image.
That makes it a sensible companion to the players in the IPTV players section. Repair a provider list here, then check which channels still respond with IPTV Checker.
From there the cleaned playlist loads into TiviMate on Android TV or IPTV Smarters Pro on a phone or tablet.
If you do not have a channel list yet, the IPTV Finder tool is the place to start.
Merge, sort and deduplicate
Merging arrived in 1.1 and still does the heavy lifting for anyone consolidating a collection. Tick Merge all into one playlist on the Batch tab, add as many playlists as you like, and the app writes a single combined file in the format you choose, in the order you listed them.
Mixed sources are fine, so an M3U and a PLS and a WPL can all go in together. Deduplicate then removes tracks that appear in more than one source.
Deduplication is smart about Windows path quirks, so C:\Music\a.mp3 and c:/music/a.mp3 count as the same file. The first occurrence is kept and the app reports how many entries it removed.
Sort A-Z and Z-A order entries by title, falling back to filename, which is what finally makes a merged mega-playlist browsable.
The output editor has proper undo as well. Ctrl+Z steps back through your hand edits and even reverses an accidental format-change regeneration, so one wrong click no longer costs you your work.
Drag playlists straight from Explorer onto the window and one file opens in the Convert tab while several go to Batch. A Recent button next to Browse remembers your last eight playlists and quietly drops any that have since been deleted.
For power users: the command line
Conversions can run from scripts and scheduled tasks without opening the window at all:
X-M3U-Converter.exe --in a.m3u --to pls --out a.pls
Repeat --in to feed it several playlists, then add --merge, --dedup or --sort as needed.
Path handling is covered too. --path-mode accepts keep, absolute, relative, filename or replace, the last of those paired with --find and --replace.
Version 1.2 adds --relocate FOLDER and --drop-missing, which are the scripted equivalents of the Fix missing files button and the untick-missing cleanup.
Output prints normally from cmd or PowerShell, and a safety guard appends _converted to the filename rather than ever overwriting your source playlist.
Two ways to run it: browser or Windows app
The online version of M3U Converter runs entirely in your browser.
Nothing is uploaded. The conversion runs in local JavaScript, so the playlist and the file paths inside it never leave your computer.
That matters more than it sounds, because playlist files reveal your full directory structure and often your username. For a one-off conversion it is also the fastest route: drop the file in, pick the output format, download.
The free Windows app covers everything the browser cannot. That means the editable entry list, Fix missing files, batch conversion of whole folders, merging, sorting, deduplication, true absolute and relative path resolution, and the command line.
All of it is still completely offline, with your settings remembered between sessions. X M3U Converter 1.2 is freeware with no paid tier, and the installer is small and dependency-free on Windows 7, 8, 10 and 11.
You can pick it up from the X M3U Converter download page, and the full changelog lives on the developer's site.
Who should look elsewhere
The tell is simple. If the thing you want to change lives inside the audio file rather than in the list, this is the wrong tool, because X M3U Converter rewrites playlists and never touches the media they point at.
It is also Windows-only as a desktop app, so Mac and Linux users get the browser version and nothing more. And if your playlist lives inside a streaming service rather than on disk, no format converter can reach it.
Where it fits with the rest of your toolkit
Playlist conversion is one stage in a longer media chain, and the browser tools here cover the adjacent steps.
If your playlists point at streams rather than local files, the Stream Extractor pulls M3U8, HLS and radio URLs out of web pages, and the Playlist Builder assembles them into a portable file you can convert here.
To turn a video playlist into an audio one, the YouTube Playlist to M3U tool generates the list and the online audio converter handles the format change.
For heavier batch transcoding, the desktop X Audio Converter takes over.
Once a playlist is built and converted, you can test it immediately in the browser-based web player, which loads M3U, M3U8 and PLS directly, or the dedicated HEVC player for video entries.
Quick questions
Is my playlist uploaded anywhere?
No. The online conversion runs in your browser, so the playlist and every path inside it stay on your computer, and the Windows app is fully offline.
Can it fix a playlist that broke after I moved my music?
Yes. Use find and replace in paths when your music moved as a block, or Fix missing files in the Windows app when it got scattered, which matches every broken entry by file name inside the folder you choose.
Does it keep IPTV tags like group-title and tvg-logo?
Yes, for M3U and M3U8 output, along with #EXTVLCOPT, #EXTGRP and #KODIPROP lines. PLS, WPL and ASX have nowhere to store them, and XSPF keeps group-title as the album and tvg-logo as the track image.
What is the difference between M3U and M3U8?
Only the text encoding. M3U8 is UTF-8, so it handles accents, non-Latin scripts and emoji in file names correctly, which makes it the safer choice for anything beyond plain ASCII.
Can I merge several playlists into one?
Yes, in the Windows app. Add your playlists on the Batch tab, tick Merge all into one playlist and save, then let Deduplicate strip the tracks that appeared in more than one source.
Can I convert many playlists at once?
The browser tool does one at a time. For a whole folder in one click, or scripted conversion from the command line, use the free Windows app.
Download X M3U Converter 1.2 and see how it handles your own playlists, or tell us how you got on if you have used it before.
