An .m3u file is a playlist: an ordered list of media file paths or URLs, one per line, optionally annotated with #EXTINF lines carrying each track's duration and title. It contains no audio itself — only pointers to it.
Private for supported formats — processed in your browser
Convert supported files
Runs on your device
+
Drop M3U files here
Batch files can each use a different output. Nothing uploads for local conversions.
Working inputs include camera RAW, browser-local audio/video, PDF, CBZ/CBR comics, office documents, ebooks, markup, 3D models, structured text, images, and archives.
M3U appeared with the Winamp and Fraunhofer MP3 players in the mid-1990s as the simplest thing that could work, and was never formally specified. The extended form with #EXTM3U and #EXTINF was a Winamp convention that everyone copied. Its encoding was historically the local system codepage, which is why .m3u8 was later introduced purely to signal UTF-8.
How M3U works
Plain lines are media references — relative paths, absolute paths or URLs — in playback order.
Lines beginning with # are comments; #EXTM3U marks the extended form and #EXTINF carries duration and title.
Relative paths resolve against the playlist's own location, so moving the file breaks it.
There is no specification, and encoding is implementation-defined, which is the format's central weakness.
The file carries no audio; it is a reference list and nothing else.
When to use M3U
Saving a local playlist from a media player
Ordering a set of audio files for burning or transfer
Sharing a sequence of stream URLs
Converting a legacy playlist to UTF-8 or to a structured format
Strengths and limitations
Strengths
Trivially simple — readable and editable in any text editor
Supported by effectively every media player ever written
Tiny, since it stores references rather than media
Limitations
Unspecified encoding causes mojibake in non-ASCII track names
Relative paths break the moment the playlist moves
No metadata beyond an optional duration and title
Compatibility
Read by VLC, foobar2000, iTunes, Winamp and essentially every player and car stereo. The encoding ambiguity is the practical problem, not support. Novus Convert parses it locally and converts to M3U8 and JSON, which is the reliable way to force UTF-8 onto a legacy playlist.
Track references, and durations and titles where #EXTINF lines are present, are preserved. Nothing else exists in the format to carry.