FormatDrop
Audio Format

M3U8

UTF-8 M3U Playlist (HLS)

M3U8 is the UTF-8 encoded variant of the M3U playlist format. While ordinary M3U files use Latin-1 (or ambiguous encoding), M3U8 explicitly uses UTF-8 to handle international characters in track names. M3U8 is also the foundation of HLS (HTTP Live Streaming), Apple's streaming protocol used by YouTube, Netflix, Twitch, and most modern video streaming services.

What is M3U8?

M3U8 files are plain text playlists with one entry per line — either a URL, a file path, or a special directive starting with '#EXT'. For HLS streaming, M3U8 contains references to numbered video segment files (.ts) and stream metadata (bandwidth, codecs, resolution). For local playlists, M3U8 contains track paths with optional duration and title metadata.

M3U8 pros and cons

Advantages

  • UTF-8 encoding — handles all international characters
  • Foundation of HLS streaming (universal video delivery)
  • Plain text — readable and editable
  • Supports multiple bitrates and adaptive streaming
  • Widely supported in browsers and apps via HLS players

Limitations

  • Two distinct uses (local playlist vs HLS streaming) confuse newcomers
  • Complex M3U8 master playlists (multi-bitrate HLS) are non-trivial to author
  • No metadata-rich elements like XSPF has

When should you convert M3U8 files?

Local M3U8 playlists: convert to M3U for broader player compatibility, or to XSPF for richer metadata. HLS M3U8 streams: download and convert to MP4 with FFmpeg: `ffmpeg -i "https://example.com/master.m3u8" -c copy output.mp4`. The conversion is lossless when codec-compatible.

Convert M3U8 files

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

M3U8 FAQ

What's the difference between M3U and M3U8?
M3U uses Latin-1 (or ambiguous) encoding; M3U8 explicitly uses UTF-8. For ASCII-only track names, the files are identical. For international characters (Chinese, Cyrillic, accented Latin), M3U8 displays them correctly while M3U may show garbled text.
How do I download an HLS M3U8 stream?
FFmpeg: `ffmpeg -i "https://example.com/master.m3u8" -c copy output.mp4` downloads and remuxes losslessly to MP4. yt-dlp: `yt-dlp "https://example.com/master.m3u8"` for direct download. Both handle adaptive M3U8 streams (selecting one bitrate variant).
Can I edit an HLS M3U8 file in a text editor?
Yes — M3U8 is plain text. The format includes #EXT directives for metadata. Editing master playlists (which list bitrate variants) requires understanding HLS specifications. For media playlists (which list segment files), editing is straightforward.