What is .m3u8?
.m3u8 is a UTF-8 encoded playlist file used primarily by HTTP Live Streaming (HLS). It contains URLs or paths to media segments (usually TS or fragmented MP4 files), plus metadata tags that describe variant bitrates, resolutions, and encryption. The player reads the playlist and requests segments over HTTP, enabling adaptive streaming.
This quick guide explains when to use .m3u8 files, how to open them on any device, and how to share them instantly with FileXhost.
When to use .m3u8 files
- You are serving adaptive bitrate video over HTTP using HLS.
- You need live or on-demand streaming that works well on Apple devices and many smart TVs.
- You want to deliver long videos as many small segments rather than a single large file.
- You are integrating a video player or CDN that expects HLS playlists as input.
How to open .m3u8 files
In browsers, HLS playback is natively supported in Safari and many mobile browsers; other browsers typically require a JavaScript library such as hls.js that parses the .m3u8 playlist and feeds segments to the Media Source Extensions API. On desktop, VLC, MPV, and similar media players can open .m3u8 URLs or files directly and stream the referenced content. You can upload .m3u8 playlists to FileXhost to share streaming endpoints, but playback depends on the referenced segment URLs remaining accessible.
Algorithm details
HLS uses one or more M3U8 playlists. A master playlist lists different variant streams (bitrate, resolution, codecs) using EXT-X-STREAM-INF tags, each pointing to a media playlist. Media playlists list time-stamped segments with EXTINF tags and URLs to TS or fragmented MP4 segments. The client loads the playlist over HTTP, selects an appropriate variant, and switches between variants based on network conditions, providing adaptive bitrate streaming.
Browser & platform support
- Desktop: Safari supports HLS natively. Chrome, Firefox, and Edge rely on JavaScript HLS libraries or a backend that transmuxes HLS to a compatible stream.
- Mobile: iOS and many Android browsers/apps support HLS playlists directly for streaming.
- OS: Desktop operating systems open .m3u8 via media players like VLC; they do not provide OS-level playlist handling themselves.
Format comparison
| Feature | Details |
|---|---|
| Streaming vs Download | M3U8 represents a streaming playlist, not a standalone video file. MP4, WebM, and MKV are self-contained containers suitable for direct download. |
| Adaptivity | Supports adaptive bitrate by listing multiple variants at different qualities; a single MP4 does not adapt on its own. |
| Resilience | Segment-based delivery allows players to recover from network issues more gracefully by fetching new segments. |
| Complexity | Requires a packaging pipeline and compatible player, whereas a single MP4 file is simpler to host and play. |
How to create m3u8 files
- Transcoders/Packagers: Use tools like FFmpeg, AWS MediaConvert, or commercial encoders to generate HLS playlists and segments from source video.
- CDN/Streaming Platforms: Many video platforms output HLS as one of the available delivery formats.
- CLI Tools: FFmpeg can create HLS master and media playlists with the appropriate command-line flags.
- Server Workflows: Media servers (e.g., Nginx with RTMP module, Wowza, Nimble Streamer) can produce HLS outputs.
How to convert m3u8 files
- FileXhost: Share .m3u8 URLs or files so others can stream using their own players.
- Desktop: Use FFmpeg or similar tools to download segments referenced by an M3U8 and remux them into a single MP4 file.
- Online Tools: Some services accept an M3U8 URL and produce downloadable video files.
- Player Recording: Media players or screen recorders can record the playback output to standard video formats.
Advantages & disadvantages
Advantages
- Excellent for adaptive streaming across varying network conditions
- Widely supported in Apple ecosystems and many OTT platforms
- Segmented delivery improves resilience and scalability via CDNs
- Supports live, DVR-style, and on-demand workflows
Disadvantages
- Not a standalone video file; harder to handle like a simple download
- Requires compatible players or libraries in most browsers
- Packaging and hosting are more complex than serving a single MP4
Tools & software
Players
Safari, iOS video player, VLC, MPV, ffplay, many smart TV apps
Web Players
hls.js, Video.js (with HLS plugins), Shaka Player, JW Player
Packagers/Encoders
FFmpeg, AWS MediaConvert, Azure Media Services, Wowza, Nimble Streamer
Frequently asked questions
Why can't I just download an M3U8 file like an MP4?
An M3U8 file is only a playlist that references many smaller media segments. To download the full video, you must fetch and combine those segments, usually with a tool like FFmpeg or a specialized downloader.
Does HLS only work with Apple devices?
No. HLS originated with Apple, and their platforms support it natively, but most modern browsers and devices can handle HLS via JavaScript libraries or native apps.
Can I convert an M3U8 playlist to a single MP4?
Yes. Tools like FFmpeg can read the M3U8 playlist, download segments, and remux or transcode them into a single MP4 file.
Is M3U8 secure for streaming protected content?
M3U8 supports encryption keys and tokenized URLs, but security depends on your full implementation, including HTTPS, DRM, and access control. The playlist alone does not guarantee protection.
Technical specs
- File type
- Video
- Extension
- .m3u8
- MIME type
- application/vnd.apple.mpegurl, application/x-mpegURL
- Compression
- Uncompressed
- Max file size on FileXhost
- Up to 25 MB per file on the free plan and up to 1 GB on Pro FileXhost accounts.
Share .m3u8 files instantly
Upload your .m3u8 file to FileXhost to get a clean, shareable URL in seconds. View the file in a modern browser, protect access with optional settings, and let others download it without any confusing ads or cluttered file pages.
Upload .m3u8 file