M3U
M3U is a computer file format for a multimedia playlist. One common use of the M3U file format is creating a single-entry playlist file pointing to a stream on the Internet. The created file provides easy access to that stream and is often used in downloads from a website, for emailing, and for listening to Internet radio.
Although originally designed for audio files, such as MP3, it is commonly used to point media players to audio and video sources, including online sources. M3U was originally developed by Fraunhofer for use with their WinPlay3 software, but numerous media players and software applications now support the format.
Careless handling of M3U playlists has been the cause of vulnerabilities in many music players such as VLC media player, iTunes, Winamp, and many others.
File format
There is no formal specification for the M3U format; it is a de facto standard.An M3U file is a plain text file that specifies the locations of one or more media files. The file is saved with the "m3u" filename extension if the text is encoded in the local system's default non-Unicode encoding, or with the "m3u8" extension if the text is UTF-8 encoded.
Each entry carries one specification. The specification can be any one of the following:
- an absolute local pathname; e.g., C:\My Music\Heavysets.mp3
- a local pathname relative to the M3U file location; e.g. Heavysets.mp3
- a URL
CR LF, but do not recognize a single LF.Extended M3U
The M3U file can also include comments, prefaced by the "#" character. In extended M3U, "#" also introduces extended M3U directives which are terminated by a colon ":" if they support parameters.| Directive | Description | Example | Required | Standard |
#EXTM3U | file header, must be the first line of the file | #EXTM3U | ||
#EXTINF: | track information: runtime in seconds, then optional display title of the following resource. For runtime, a length of -1 or 0 may be used when media is a streaming file with no predefined length. | #EXTINF:123,Artist Name – Track Title | ||
#EXTINF: | additional properties as key-value pairs | #EXTINF:123 logo="cover.jpg",Stream Title | ||
#PLAYLIST: | playlist display title | #PLAYLIST:Music TV | ||
#EXTGRP: | begin named grouping | #EXTGRP:Foreign Channels | ||
#EXTALB: | album information, title in particular | #EXTALB:Album Title | ||
#EXTART: | album artist | #EXTART:Various | ||
#EXTGENRE: | album genre | #EXTGENRE:Jazz Fusion | ||
#EXTM3A | playlist for tracks or chapters of an album in a single file | #EXTM3A | ||
#EXTBYT: | file size in bytes | #EXTBYT:34124 | ||
#EXTBIN: | binary data follows, usually concatenated MP3s | #EXTBIN: | ||
#EXTALBUMARTURL: | url of album art image | #EXTALBUMARTURL: |
Apple used the extended M3U format as a base for their HTTP Live Streaming which was documented in an Independent Submission Stream RFC in 2017 as . Therein, a master playlist references segment playlists which usually contain URLs for short parts of the media stream. Some tags only apply to the former type and some only to the latter type of playlist, but they all begin with
#EXT-X-.M3U8
The Unicode version of M3U is M3U8, which uses UTF-8-encoded characters. M3U8 files are the basis for the HTTP Live Streaming format originally developed by Apple to stream video and radio to iOS devices, and is now a popular format for adaptive streaming in general.The 2015 proposal for the HLS playlist format uses UTF-8 exclusively and does not distinguish between the "m3u" and "m3u8" file name extensions.
Internet media types
The only Internet media type registered for M3U and M3U8 isapplication/vnd.apple.mpegurl, registered in 2009 and only referring to the playlist format as used in HLS applications.The current proposal for the HLS playlist format acknowledges two media types which it treats as equivalent:
application/vnd.apple.mpegurl and audio/mpegurl. Likewise, these are the two types recommended for HLS use by Microsoft.For non-HLS applications, no media types were standardized or registered with the IANA, but a number of media types are nonetheless associated with the historical and ongoing use of the M3U and M3U8 formats for general playlists:
-
application/mpegurl -
application/x-mpegurl -
audio/mpegurl -
audio/x-mpegurl
application/vnd.apple.mpegurl and application/vnd.apple.mpegurl.audio, are supported for HLS applications by Microsoft's Windows 10 and Internet Explorer 9, and LG's WebOS.Example
The following is an example of an M3U playlist file for "Jar of Flies" album by "Alice in Chains" that was created by Mp3tag with the following custom option settings:- playlist extended info format =
"%artist% - %title%" - playlist filename format =
"%artist%_%album%_00_Playlist.m3u" - tag to filename conversion format =
"%artist%_%album%_$num_%title%"
#EXTM3U
#EXTINF:419,Alice in Chains - Rotten Apple
Alice in Chains_Jar of Flies_01_Rotten Apple.mp3
#EXTINF:260,Alice in Chains - Nutshell
Alice in Chains_Jar of Flies_02_Nutshell.mp3
#EXTINF:255,Alice in Chains - I Stay Away
Alice in Chains_Jar of Flies_03_I Stay Away.mp3
#EXTINF:256,Alice in Chains - No Excuses
Alice in Chains_Jar of Flies_04_No Excuses.mp3
#EXTINF:157,Alice in Chains - Whale And Wasp
Alice in Chains_Jar of Flies_05_Whale And Wasp.mp3
#EXTINF:263,Alice in Chains - Don't Follow
Alice in Chains_Jar of Flies_06_Don't Follow.mp3
#EXTINF:245,Alice in Chains - Swing On This
Alice in Chains_Jar of Flies_07_Swing On This.mp3
Software
Tag editors
The following tag editor software allows users to edit the ID3 tags in MP3 files, and has support for creating M3U files.;Linux
;Windows
- Mp3tag, Puddletag.
- Mp3tag.
Media players
;Multi-platform
;Android
- Astro Player, Kodi, N7Player, Musicolet
;Nintendo
- New Nintendo 3DS with Internet Browser app
- Nintendo Switch with the YouTube app
- Wii U with the Internet Browser or YouTube app
- foobar2000, JRiver Media Center, JuK, MediaMonkey, PotPlayer, Winamp, Windows Media Player, XMPlay