M3U8 Analyzer
Analyze HLS playlists, variants, codecs, resolutions, segments, audio tracks, subtitles, and other playlist details directly in your browser.
Built for developers and HLS learners.
Playlist analyzer
Only http:// and https:// URLs. The request is made by your browser straight to that server.
Analyze pasted playlist
Pasted text is analyzed locally with no network request. Use this when a server blocks cross-origin reads.
PlayAnyM3U8 does not host, provide, or distribute media streams. Users are responsible for the URLs they analyze and for having the necessary rights or authorization to access them.
What is an M3U8 playlist?
An M3U8 file is a UTF-8 encoded text playlist, most often used by HTTP Live Streaming (HLS). It does not contain video or audio itself. It is a list of instructions: which pieces of media exist, how long each lasts, and where to fetch them.
Two kinds of playlist exist. A master playlist points to variant playlists, each a different rendition of the same content. A media playlist points to the actual media segments that a player downloads in order.
Master Playlist vs Media Playlist
Think of a master playlist as a menu and a media playlist as one dish. The menu lists 720p and 1080p options; choosing one leads to its media playlist, which lists short segments.
#EXTM3U #EXT-X-STREAM-INF:BANDWIDTH=2800000,RESOLUTION=1280x720 720/index.m3u8 ← master: points to another playlist #EXTM3U #EXT-X-TARGETDURATION:6 #EXTINF:6.0, seg001.ts ← media: points to a segment
How PlayAnyM3U8 analyzes a playlist
- Retrieve the playlist from your URL, or receive the text you pasted.
- Identify whether it is a master or media playlist.
- Parse each HLS tag and its attributes.
- Extract variants, tracks, keys and segments.
- Calculate statistics such as total and average segment duration.
- Present the results with checks based on what was actually parsed.
Playlist text is treated as untrusted data. It is displayed as plain text and never executed. Referenced segments and sub-playlists are not downloaded.
Why can't PlayAnyM3U8 analyze some URLs?
Browser security policies can prevent a website from reading resources hosted on another domain unless that server explicitly allows the request. This mechanism is called CORS (Cross-Origin Resource Sharing).
- CORS is controlled by the server hosting the playlist, not by this page.
- PlayAnyM3U8 cannot legitimately bypass browser CORS restrictions, and it does not try to.
- If a URL is blocked, open it in a new tab, copy the text, and use Analyze pasted playlist. That needs no cross-origin request.
- If you run the server, add an
Access-Control-Allow-Originheader that permits your intended origins.
A CORS failure says nothing about whether the playlist is valid. Authentication, tokens, geo-restrictions and DRM are access controls this tool does not circumvent.
Who is this tool for?
- Web developers adding HLS playback to a site
- HLS developers and video engineers checking playlist structure
- Streaming engineers and QA testers comparing renditions
- Students learning HTTP Live Streaming
- Developers debugging their own HLS infrastructure
The site analyzes playlists you already have access to. It does not provide streams.
Frequently asked questions
What is an M3U8 URL?
A web address that returns an M3U8 playlist, usually ending in .m3u8. The extension is
only a convention; the server's response is what matters.
What is the difference between a master and media playlist?
A master playlist lists alternative renditions (variants), audio and subtitle groups. A media playlist lists the segments of one rendition.
Why can't my M3U8 URL be analyzed?
Common causes: the server does not send CORS headers, the URL needs a token or cookie, it returns 403 or 404, it has expired, or the server is unreachable. Paste the playlist text to analyze it locally.
What does CORS mean?
Cross-Origin Resource Sharing. It is how a server tells browsers which other websites may read its responses.
Can this tool decrypt an encrypted HLS stream?
No. It reads encryption metadata from #EXT-X-KEY but never requests keys and does not
decrypt media.
Can PlayAnyM3U8 provide me with M3U8 streams?
No. PlayAnyM3U8 does not host, provide, or distribute media streams.
Does this tool download videos?
No. It reads only the playlist text. Segments are never downloaded.
Why does an M3U8 work in VLC but not in my browser?
Desktop players are not bound by browser CORS rules. Browsers also need HLS support (native in Safari, or via a library using Media Source Extensions) and supported codecs.
What does #EXT-X-STREAM-INF mean?
It describes one variant stream in a master playlist, with attributes such as BANDWIDTH, RESOLUTION and CODECS. The line right after it is the URI of that variant.
Privacy
Where technically possible, analysis is performed directly in your browser. PlayAnyM3U8 does not need to upload playlist contents to a separate analysis service. When you analyze a URL, your browser contacts that server directly. This page does not store submitted URLs or playlists.