FormatDrop
Audio Format

XSPF

XML Shareable Playlist Format

XSPF (pronounced 'spiff', for Xiph.org Shareable Playlist Format) is an open-standard XML-based playlist format. It was designed to overcome limitations of the older M3U format — specifically, M3U's lack of metadata, encoding ambiguity, and weak structure. While XSPF is technically superior to M3U, it never achieved widespread adoption; M3U and PLS remain the dominant playlist formats in 2026.

What is XSPF?

XSPF files are XML documents with a <playlist> root element containing <track> entries. Each track can include <title>, <creator> (artist), <album>, <duration>, <location> (file path or URL), <annotation>, and <image>. The format supports Unicode throughout, embedded metadata, and extension via XML namespaces. Files use the .xspf extension and the application/xspf+xml MIME type.

XSPF pros and cons

Advantages

  • Standardized XML format — well-defined structure
  • Rich metadata — track names, artists, durations, images
  • UTF-8 throughout — handles international characters
  • Open standard from Xiph.org
  • Extensible via XML namespaces

Limitations

  • Limited adoption — most players prefer M3U or PLS
  • Verbose compared to M3U's plain text
  • VLC and a few players support it; most don't
  • No standard for streaming protocols (HLS uses M3U8 instead)

When should you convert XSPF files?

Convert XSPF to M3U for broader compatibility — most music players accept M3U but not XSPF. Tools: VLC can save XSPF as M3U; Python with xml.etree to extract <location> elements; online converters. Convert XSPF to JSON or CSV for data analysis of playlist contents.

All FormatDrop conversions run entirely in your browser — no file upload, no server processing. Your files stay on your device.

XSPF FAQ

Why didn't XSPF replace M3U?
Network effects. M3U was already entrenched in 2005 when XSPF was finalized. M3U's simplicity (one URL per line) was sufficient for most use cases, and the verbose XML format wasn't a clear improvement. XSPF found niche adoption in some Xiph.org-aligned projects but never displaced M3U in mainstream players.
What players support XSPF?
VLC supports XSPF natively (read and write). Foobar2000 with plugin. Some MPD clients. Most consumer apps (Spotify, Apple Music, Plex) don't support XSPF — they use proprietary formats or M3U for export/import.
How do I convert XSPF to M3U?
VLC: open the .xspf playlist → Media → Save Playlist → choose M3U format. Command line with Python: parse the XML, extract <location> elements, write each to a line in the M3U file.