iOS Safari has native HLS support built in since iOS 3.0. This means M3U8 streams play directly without any JavaScript decoder.
Mobile Playback Guide
iOS (iPhone / iPad / Safari)
Safari (Recommended)
Native HLS support. Best performance and battery life. Hardware-accelerated decoding. Full AirPlay support.
Chrome on iOS
Uses the same WebKit engine as Safari, so HLS also works natively. Performance is equivalent to Safari.
Full-Screen Playback
Tap the full-screen button in the player controls. iOS will switch to landscape mode automatically for the best viewing experience.
Picture in Picture
On iPad, you can use PiP mode to continue watching while using other apps. Tap the PiP button in the player controls.
Android
Android Chrome does not have native HLS support (unlike iOS). Our player uses Video.js with HTTP Streaming (VHS) to decode HLS in JavaScript.
Chrome (Recommended)
Most popular Android browser. HLS plays via JavaScript decoder. May use more battery than native decoding on iOS.
Firefox
Also supported via VHS decoder. Performance is similar to Chrome on the same device.
Samsung Internet
Based on Chromium, works similarly to Chrome. Good performance on Samsung devices.
WeChat / QQ Browser
May require the x5-playsinline attribute for inline playback. Our player includes this compatibility fix.
Mobile Tips & Best Practices
Use Landscape Mode
Rotate your phone sideways for full-width video. The player automatically adapts to screen orientation.
Paste from Clipboard
Use the clipboard paste button (📋) next to the URL input to quickly paste an M3U8 link you copied from another app.
Save as Home Screen App
On iOS: Share → Add to Home Screen. On Android: Chrome menu → Install app. This gives you a standalone app-like experience.
Reduce Data Usage
HLS automatically selects the lowest quality that provides smooth playback. On metered connections, the player will prefer lower bitrates.
Related Articles
📚 About M3U8 & HLS
Understand the technology behind M3U8 and HLS streaming. Learn how adaptive bitrate works, why .ts segments matter, and how HLS compares to MP4 for online video delivery.
🔧 Troubleshooting Guide
Fix CORS errors, buffering issues, and format problems with server-specific solutions. Covers Nginx, Apache, CDN, and Node.js CORS configuration with code examples.
❓ Frequently Asked Questions
Find answers to 14 frequently asked questions about M3U8/HLS including mobile compatibility, video privacy, adaptive bitrate, DRM support, and building your own HLS server.
🌐 Free M3U8 Playlists & Resources
Discover free public M3U8 streams for testing, learning resources for HLS streaming, and open-source tools for working with M3U8 playlists and HLS video.