M3U (MP3 URL or Moving Picture Experts Group Audio Layer 3 Uniform Resource Locator in full) 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 (e.g., a Windows codepage), 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

Each entry ends with a line break which separates it from the following one. Furthermore, some devices only accept line breaks represented as 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.

Apple used the extended M3U format as a base for their HTTP Live Streaming (HLS) which was documented in an Independent Submission Stream RFC in 2017 as RFC 8216. 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 (HLS) format originally developed by Apple to stream video and radio to iOS devices, and which 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 is application/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

These types, plus application/vnd.apple.mpegurl and application/vnd.apple.mpegurl.audio, are supported for HLS applications by (for example)  Microsoft's Windows 10 and Internet Explorer 9, and LG's WebOS.

Examples

Example 1
This is an example of an extended M3U file on the Windows platform. Sample.mp3 and Example.ogg are the media files. 123 and 321 are the lengths in seconds. A length of -1 or 0 may be used when the media file is a streaming file, as there is no actual, predefined length value. The value after the length is the title to be shown, which is generally the same as the location of the file which is on the second line. On the macOS and Linux platforms, Unix paths are used.
 #EXTM3U
  
 #EXTINF:123, Sample artist - Sample title
 C:\Documents and Settings\I\My Music\Sample.mp3
  
 #EXTINF:321,Example Artist - Example title
 C:\Documents and Settings\I\My Music\Greatest Hits\Example.ogg

Example 2
This example shows how to create an m3u file linking to a specified directory (for example, a flash drive, or CD-ROM). The m3u file should contain only one string: the path to the directory. After starting, the media player will play all contents of the directory:
 C:\Music

Example 3
Here is another example, using relative format. The M3U file is placed in the same directory as the music, and directories must be preserved when moving the playlist to another device if subdirectories are used. This method is more flexible, as it does not rely on the file path staying the same.

This is the same file as above, saved as sample.m3u in C:\Documents and Settings\User\My Music\
 #EXTM3U
  
 #EXTINF:123, Sample artist - Sample title
 Sample.mp3
  
 #EXTINF:321,Example Artist - Example title
 Greatest Hits\Example.ogg

This format in an M3U allows copying to another device for playback. All files and directories referred to must also be copied.

Example 4
Here is a mixed example:
 Alternative\Band - Song.mp3
 Classical\Other Band - New Song.mp3
 Stuff.mp3
 D:\More Music\Foo.mp3
 ..\Other Music\Bar.mp3
 http://www.example.com:8000/Listen.mp3
 http://www.example.com/~user/Mine.mp3

Notes:
 Alternative and Classical are sub-directories of the directory that this playlist is stored in.
 "Song" and "New Song" are in sub-directories of the directory that this playlist is stored in.
 "Stuff" is in the same directory that the playlist is stored in.
 "Foo" is in the specified (Windows) volume and directory, which may or may not be the same directory the playlist is in.
 "Bar" is in a different directory at the same level as the playlist directory. The double-dots reference the parent directory of the playlist directory, then into the sub-directory "Other Music" to reach "Bar".
 "Listen" is a Shoutcast stream.
 "Mine" is an MP3 stored on a web server.

Example 5

References to other M3U playlists, for example, are generally not well-supported.

 AnotherPlayList.m3u

Example 6
The following is an example of a 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(%track%,2)_%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
 Kid3, Puddletag.

Windows
 Mp3tag, Puddletag.

Media players

Multi-platform

Android
 Astro Player 
Kodi
N7Player 
Musicolet
Phonograph

macOS
 Music
 QuickTime Player

Nintendo
 New Nintendo 3DS (including XL and 2DS XL variants) with Internet Browser app
 Nintendo Switch with the YouTube (site-specific) app
 Wii U with the Internet Browser or YouTube app

Windows
 foobar2000, JRiver Media Center, JuK, MediaMonkey, PotPlayer, Winamp, Windows Media Player, XMPlay

See also
 List of tag editors

Other playlist file formats
 ASX - Windows media
 PLS - SHOUTcast
 XSPF - Xiph.Org Foundation
 WPL - Windows Media Player

References

External links
 
 
 

Playlist file formats
Digital audio
Filename extensions
M3U는 멀티미디어 재생목록의 파일 포맷이다. 윈도우 미디어 플레이어, 아이튠즈, 윈앰프, 알송 등 대부분의 프로그램이 지원하고 있지만, 정식 사양은 존재하지 않고 대응 상황은 각각 다르다.

포맷 
M3U 파일은, 하나, 또는 여러 개의 미디어 파일의 패스를 플레인 텍스트(텍스트 파일)로 기재한 것이다. 이 파일을. ".m3u" 또는 ".m3u8"의 확장자로 저장한다.
M3U 파일의 인코딩은 Windows-1252의 경우가 많으나, CP932에 대응하고 있는 것도 존재한다. 인코딩을 UTF-8로 명시하였을 때, 확장자 M3U8를 사용한다.

각각의 엔트리는 아래와 같다.
 절대 경로(예시: C:\My Music\Heavysets.mp3)
 상대 경로 (예시: Heavysets.mp3)
 URL

M3U 파일에는 코멘트를 포함할 수가 있으며, # 이후가 코멘트가 된다.

M3U 포맷의 일반적인 사용방법으로 단일의 엔트리에 URL을 기재할 필요가 있다. 이 파일 덕분에, 스트리밍 액세스, 웹사이트에서의 다운로드, 인터넷 라디오의 청취가 용이해진다.

iOS의 HTTP 라이브 스트리밍 포맷은 "M3U" and "M3U8" 파일을 기초로 하고 있다.

Extended M3U 
Extended M3U는 EXTM3U、확장M3U으로 불리는 것도 있다.

명령 
Extended M3U(EXTM3U)로는 #는 확장 명령에도 사용된다.
 #EXTM3U - 머릿말. 파일의 선두에서만 기재한다.
 #EXTINF - 확장정보. 곡의 길이(초 단위), 타이틀 순으로 기재한다. 관례로 음악가명과 곡 제목은 -로 구분한다.

예시 
예시1
아래에 윈도우에서의 확장 M3U 파일의 예를 나타낸다. Sample.mp3와 Example.ogg는 이번에 사용할 미디어 파일이다. 123 및 321이라는 것은 길이를 초로 지정하고 있다. 지정할 미디어 파일이 스트리밍 파일인 경우, -1을 지정하는 것이 있다. 이것은 실제 길이를 알 수 없기에, 미리 정의하는 것이다. 길이 뒤의 값은 표시될 제목으로, 일반적으로 2번째 행에 적히는 파일의 경우와 비슷하다.

OS X나 리눅스로 사용할 경우는 유닉스 패스를 사용한다.

 #EXTM3U

 #EXTINF:123, Sample artist - Sample title
 C:\Documents and Settings\I\My Music\Sample.mp3

 #EXTINF:321,Example Artist - Example title

 C:\Documents and Settings\I\My Music\Greatest Hits\Example.ogg

예시2
이 예시에서는 특정 디렉터리(예를 들면, USB 플래시 드라이브나 CD-ROM 등)에 링크하는 M3U 파일의 작성방법을 나타낸다. M3U 파일로는 디렉터리의 경로 하나만 포함되지는 않는다. 개시후, 미디어 플레이어는 지정한 폴더에 있는 미디어 파일을 모두 재생한다.
 D:\Music

예시3
상대 경로를 사용한 예시도 나타낸다. M3U 파일은 음악 파일과 같은 디렉터리에 저장시킨다. 또, 하위 디렉터리가 사용되어 있을 경우, 재생 목록을 다른 디바이스에 이동시킨 후 그 디렉터리와 음악 파일도 마찬가지로 이동할 필요가 있다. 이 방법은 지정한 파일의 경로가 같게 할 필요가 없기 때문에 보다 유연하게 다룰 수 있다.

외와 같은 파일명sample.m3u으로 C:\Documents and Settings\I\My Music\에 저장한 경우를 예시로 나타낸다.
 #EXTM3U

 #EXTINF:123, Sample artist - Sample title
 Sample.mp3

 #EXTINF:321,Example Artist - Example title
 Greatest Hits\Example.ogg
이 상대 경로로 기재하면 모든 파일을 디렉터리 구조를 유지한 채로 복사하면 다른 디바이스에서 그대로 사용할 수 있다.

예시4
다음으로 상대 경로와 절대 경로 표기를 혼합한 예시를 나타낸다.
 Alternative\Band - Song.mp3
 Classical\Other Band - New Song.mp3
 Stuff.mp3
 D:\More Music\Foo.mp3
 ..\Other Music\Bar.mp3
 http://emp.cx:8000/Listen.pls
 http://www.example.com/~user/Mine.mp3

주의
 Alternative와 Classical는 재생목록을 저장한 디렉터리의 하위 디렉터리.
 "Song", "New Song"는 재생목록을 저장한 디렉터리의 하위 디렉터리에 저장되어있다.
 "Stuff"는 재새목록을 저장한 디렉터리에 저장되어있다.
 "Foo"는 윈도우의 특정 볼륨의 디렉터리에 있다. 어쩌면 재생목록이 저장되어 있는 디렉터리와 같을 지도 모른다.
 "Bar"는 재생목록이 저장되어 있는 계층과 다른 디렉터리이다. ..\는 하나 위의 디렉터리를 나타낸 것이기에, 이 하위 디렉터리인 Bar라는 디렉터리를 가리키고 있다.
 "Listen"은 샤우트캐스트의 URL.
 "Mine"는 웹 서버에 저장된 MP3 파일.

그 외의 M3U 파일로의 참조는 그다지 좋게 대응할 수 없다.
 AnotherPlayList.M3U

아래의 예시는 Mp3tag로 작성한 앨리스 인 체인스의 EP반 Jar of Flies의 M3U 파일이다.
 #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

같이 보기 
 mp3tag(M3U, EXTM3U)
 Advanced Stream Redirector (ASX)
 PLS
 XSPF
 B4S - 윈앰프3 XML based playlist format
 윈도우 미디어 재생목록(WPL)

외부 링크 
 A survey of playlist formats (Lucas Gonze, 2003년 11월 17일)
 M3U (WinAmp) Play List Specification
 HTTP 라이브 스트리밍 (M3U 확장자)

파일 포맷