Skip to content

Free online XSPF to M3U8 converter

Convert XML-based XSPF playlists into UTF-8 M3U8 files for compatible players and devices.

Convert XSPF to M3U8 online - free

Uploading…

Your file is processed instantly and deleted as soon as you download it.

How it works

  1. 1/3

    Upload your .xspf file

    Click to browse to select your file you want to convert or simply drag & drop your file into selected area.

  2. 2/3

    Perform .xspf to .m3u8 conversion

    After successful file upload, click to convert when you are ready.

  3. 3/3

    Download converted .m3u8 file

    Conversion result is ready to download.

Conversion statistics: XSPF to M3U8

Files converted
60
XSPF files are most often converted to M3U 61% M3U8 32% WPL 5% ASX 1%

Updated November 8, 2026, from conversions on 101convert.com

How to convert xspf to m3u8 file

  • Audio
  • Rating: 2.5/5

A media player, smart-TV app, or streaming tool may require an .m3u8 playlist when another application has exported an .xspf file. The conversion changes the playlist format only; it does not copy, embed, or re-encode the referenced audio and video.

What the XSPF format is

XSPF (XML Shareable Playlist Format) is an XML playlist format used by media players and music-library applications. A track can contain a local path or URL in <location>, plus metadata such as <title>, <creator>, <album>, <duration>, and track number. The XSPF file stores references and metadata; it does not contain the media.

VLC media player, Clementine, Audacious, and other players can open or export XSPF playlists. XSPF is commonly used for sharing playlist structure, moving a playlist between applications, and backing up library metadata.

What the M3U8 format is

M3U8 is a plain-text M3U playlist saved with UTF-8 encoding. Entries can be local filenames, file URIs, or network URLs. An extended playlist may begin with #EXTM3U and place track information in #EXTINF lines before each media reference.

UTF-8 makes M3U8 better suited than older system-encoded M3U files for filenames containing characters outside basic ASCII. M3U8 is supported by many desktop players, media servers, smart TVs, mobile apps, and streaming tools, although support for local paths, file URIs, and extended metadata varies.

The .m3u8 extension is also used for HTTP Live Streaming manifests. A regular playlist converted from XSPF is not automatically an HLS manifest: it lists complete media files, while an HLS manifest normally contains directives such as #EXT-X-TARGETDURATION and references segmented media.

How to convert the playlist

Use 101convert.com

  1. Open the XSPF-to-M3U8 converter on 101convert.com.
  2. Upload the .xspf file.
  3. Start the conversion and download the resulting .m3u8 file.
  4. Open the output in the destination player and test several local entries and URLs.

The service converts playlist data and does not make unavailable media available. Referenced files must remain at accessible paths, and URLs must still work without expired sessions or required authentication. You can convert the file on 101convert.com for free without installing software.

Export from desktop software

Some desktop players can import an XSPF playlist and export it as M3U or M3U8. In VLC, open the playlist, then use Media → Save Playlist to File; select an M3U-compatible format if the installed version offers that choice, and save the result with UTF-8 encoding when available. Menu names and encoding options differ between applications and versions, so verify the output in a text editor before using it.

Create a simple M3U8 file manually

For a short playlist, extract each XSPF <location> value and save a UTF-8 text file named playlist.m3u8. Add optional title and duration data as follows:

#EXTM3U
#EXTINF:245,Track title
https://example.com/audio/track.mp3
#EXTINF:-1,Another track
file:///Music/another-track.flac

XSPF durations are milliseconds; divide by 1,000 and use whole seconds for #EXTINF. Use -1 when no duration is available. The text after the comma is display metadata and is not required for playback. Keep #EXTM3U as the first line.

Automate repeat conversions with Python

This script reads standard XSPF XML, preserves each track location, and writes UTF-8 M3U8 output:

import sys
import xml.etree.ElementTree as ET

source, target = sys.argv[1], sys.argv[2]
root = ET.parse(source).getroot()
ns = {"x": "http://xspf.org/ns/0/"}
lines = ["#EXTM3U"]

for track in root.findall(".//x:track", ns):
    location = track.findtext("x:location", default="", namespaces=ns).strip()
    if not location:
        continue
    title = track.findtext("x:title", default="", namespaces=ns).strip()
    duration = track.findtext("x:duration", default="", namespaces=ns).strip()
    seconds = str(round(int(duration) / 1000)) if duration.isdigit() else "-1"
    lines.extend([f"#EXTINF:{seconds},{title}", location])

with open(target, "w", encoding="utf-8", newline="\n") as output:
    output.write("\n".join(lines) + "\n")

Run it from a terminal with:

python xspf_to_m3u8.py input.xspf output.m3u8

The script skips tracks without <location>. It retains titles and durations but does not retain XSPF fields such as album, creator, annotation, or track number. It also does not resolve XML base attributes or repair invalid paths.

Compatibility limitations

  • Do not rename the extension. Renaming an XSPF file leaves XML markup that M3U8 players cannot parse.
  • Relative locations may fail after the playlist is moved. Keep the M3U8 file in the expected directory or replace relative references with correct absolute paths or URLs.
  • file:///C:/Music/song.mp3 is a URI-style Windows reference, but some players expect C:\Music\song.mp3. Edit the entry if the target application does not resolve file URIs.
  • Conversion does not preserve all XSPF metadata, and M3U8 has no universal metadata model beyond commonly supported directives such as #EXTINF.
  • Save the output as UTF-8 to preserve non-ASCII filenames. Garbled names indicate an encoding or player-compatibility problem, not a change in media quality.
  • Playback still depends on permissions, mounted drives, network access, URL validity, and any authentication required by the referenced media.

XSPF vs M3U8: format comparison

How the XSPF and M3U8 formats compare on the properties that matter most for this conversion.

Comparison of the XSPF and M3U8 file formats
Property .XSPF XML Shareable Playlist Format .M3U8 HTTP Live Streaming playlist
Compression Uncompressed Uncompressed
Metadata support Extensive Basic
Streaming Partial Yes
DRM protection No DRM Optional
Opens in a web browser Partial No
Typical file size Very small Very small
Open standard Yes Partly open
Best used for Music Streaming
Introduced 2004 2009
Developer XSPF Project Apple Inc.
MIME type application/xspf+xml application/vnd.apple.mpegurl

Information about file extensions and file types is provided by File-Extensions.org

Frequently asked questions

Is the XSPF to M3U8 converter free?

Yes, converting XSPF to M3U8 on 101convert.com is completely free. No registration, email address or installation is required. If you need a higher file size limit or want to convert more files at once, see our plans.

How large can my XSPF file be?

You can upload XSPF files up to 2 MB and convert up to 3 files at once in a single batch. With a paid plan the limit is up to 2 MB per file and 100 files at once, see our plans.

What happens to my uploaded files?

Files are processed automatically and deleted from our servers within a few minutes after conversion. We never view or share your files.

Do I need to install any software to convert XSPF to M3U8?

No. The XSPF to M3U8 conversion runs entirely online in your browser and works on Windows, Mac, Linux, Android and iPhone.

Did the conversion fail?

In most cases, the cause is an incorrect file format. Please upload a valid XSPF file for this XSPF to M3U8 conversion. Occasionally, the issue may be on our side. We analyze recurring conversion failures and disable or fix the converter if we detect a defect.

Will converting XSPF to M3U8 keep my playlist songs in the same order?

Yes, the track order and referenced media locations are normally preserved. The M3U8 file contains playlist entries rather than copies of the audio files, so entries can fail if their paths or URLs are not valid from the new playlist location.

What XSPF information is lost when converting to M3U8?

Basic track locations and commonly supported titles or durations can be carried over, but XSPF-specific metadata such as creator, album, artwork, track numbers, and custom fields may be dropped. M3U8 is a simpler playlist format and does not preserve the full XML structure.

Will an XSPF to M3U8 conversion change the audio quality?

No, it does not re-encode or modify the referenced audio files. It only changes the playlist text, so audio quality, bitrate, and sample rate remain unchanged.

Why do some songs disappear or fail after converting XSPF to M3U8?

This usually happens when an XSPF location uses relative paths, special characters, or URI formatting that the M3U8 player interprets differently. M3U8 players also vary in how they handle local paths and remote URLs, so a valid reference in one player may not work in another.

Additional formats for
xspf file conversion

Reverse conversion

Convert to m3u8 from
other formats

Share on social media:

Already downloaded

This file has already been downloaded. For your privacy it was deleted from our server right after the download, so it cannot be downloaded again. To get it once more, convert the file again.