📺 M3U8 Player
Paste an M3U8 URL to play HLS streams directly in your browser — no software needed
✓ Free Forever · ✓ No Signup · ✓ No Upload · ✓ Works Offline
🔒 Your videos and audio never leave your device. All processing happens locally in your browser using HLS.js + HTML5 Video. No upload, no server, no tracking.
Features
- Play Any M3U8 Stream — Supports live and VOD HLS streams. Just paste the URL and hit play.
- Adaptive Quality — Automatically switches between quality levels based on your bandwidth, or pick manually.
- Live Stream Support — Watch live broadcasts with low-latency mode and real-time bandwidth monitoring.
- 100% Client-Side — Your browser fetches the stream straight from the server that hosts it. Nothing goes through ToolKoala, and nothing is recorded.
How It Works
- Paste M3U8 URL — Enter the URL of any HLS (.m3u8) stream.
- Click Play — The player loads the stream and starts playback automatically.
- Adjust Quality — Switch between available quality levels or let it auto-adapt.
Use Cases
- Preview HLS streams during development and testing
- Debug M3U8 playlists and check available quality levels
- Watch live streams or VOD content from M3U8 links
- Monitor IPTV and streaming service endpoints
Frequently Asked Questions
What is M3U8/HLS?
M3U8 is the playlist format for HTTP Live Streaming (HLS), a widely used protocol for delivering video over the internet. It breaks video into small chunks for adaptive streaming.
Why does my stream fail to load?
Most failures are caused by CORS restrictions. The stream server must allow cross-origin requests from browsers. Try a different stream or check the server configuration.
Does it work on mobile?
Yes. Safari on iOS has native HLS support. Android Chrome uses HLS.js for playback. Both work seamlessly.
Notes from Milo 🐨
Chrome quietly learned to play HLS on its own, and this page took the shortcut: on Chrome the quality buttons, the LIVE badge and the bandwidth line simply never showed up. It now uses the full player wherever it can, so you can pick 480p or 1080p again. While I was in there: Auto stays lit while it's in charge and tells you which level it's playing, the bandwidth figure is a smoothed estimate instead of jumping between 71 MB/s and 400 KB/s, and errors say what actually happened: the server's status code (404, 403…), "that isn't an HLS playlist", or that an http:// link is blocked on a secure page (http://localhost still works for your dev server).
Related Tools
- 🔊 Text to Speech — Listen to any text using the voices built into your device — free, no sign-up, works offline with on-device voices
- 🔁 Convert Format — Convert between PNG, JPG, WebP — instantly in your browser
- 🔗 URL Encoder / Decoder — Encode or decode URLs and query strings instantly
💬 Bug, idea, or just to say hi? Tell Milo 🐨 · [email protected]