Online M3U8 Player - Fast HLS Stream Tester

Play M3U8 links and test HLS streams directly in your browser with local recent history, CORS-aware errors, and no playback tracking.

Click for theater mode

Playback requests go directly from your browser to the source server. EasyTools does not relay, log, or upload this URL.

Player

Paste an M3U8 link, or load the sample stream, then click Play.

Local history

How to Use

  1. Paste a .m3u8 or .m3u link that starts with http or https, such as a public HLS test stream.
  2. To check the flow first, click "Load Sample Stream", then click "Play".
  3. The player attempts to load the stream below, with native controls for pause, volume, and fullscreen.
  4. Each valid playback attempt appears in Recent Streams, even if the stream later fails because of CORS or source-server errors, so you can retry or debug it quickly.
  5. If the source blocks CORS, the link expires, authentication is required, or the playlist is malformed, the tool shows an error and does not send the URL to an EasyTools backend.

Core Features

  • 100% Client-side Playback: your browser requests the stream directly from the source, without an EasyTools relay, transcoder, or acceleration server
  • HLS Stream Tester: paste a .m3u8 or .m3u link and test playback through locally bundled HLS.js or native browser HLS support
  • Local Playback History: valid stream URLs you try to play appear in Recent Streams and stay only in this browser's localStorage
  • No Server Tracking: the tool has no account sync, playback URL reporting, or backend logging flow
  • CORS-aware Errors: when the source blocks browser requests, the link expires, or the playlist fails, the player explains the likely cause

Related Tools

Secure JSON Formatter & Type Generator - Local Type Gen

Secure JSON formatter: format, validate, and fix JSON locally. Beautify/minify, highlight errors, generate TypeScript or Zod, convert to XMLโ€”private. Try now.

Free JSONPath Tester & Evaluator | Local Real-Time Queries

Free JSONPath tester and evaluator for API JSON. Extract matching nodes in real time, inspect paths, and copy JSON results while parsing stays local in your browser.

JSON to CSV Converter - Local Spreadsheet Export

Convert JSON objects or arrays to CSV locally in your browser. Flatten fields, preview the result, then copy or download CSV without uploading data.

CSV to JSON Converter - Local Real-Time Parser

Convert CSV text or files to JSON arrays locally in your browser. Supports headers, comma/semicolon/tab delimiters, drag-and-drop files, copy, and download with no uploads.

JSON Diff Checker - Local Semantic Compare

Compare two JSON documents locally in your browser. Sort object keys for a semantic diff, ignore key-order noise, and mark added, removed, and modified fields without uploads.

JSON Minifier & Compressor

Minify JSON into one line, remove indentation and line breaks, and compare original size, minified size, saved bytes, and saved percentage.

JSON to TypeScript Converter - Generate Interfaces Locally

Free online JSON to TypeScript converter. Instantly generate TypeScript interfaces and types from your JSON payloads. 100% private, client-side code generation.

YAML to JSON Converter - Secure Client-side Parser

Convert YAML to formatted JSON locally in your browser. This developer tool supports live conversion, multi-document YAML, line-aware errors, copy, and JSON download without storing data.

Calculation Logic

This Online M3U8 Player works as a browser-based HLS client. When Media Source Extensions (MSE) are available, the tool loads the locally bundled HLS.js chunk on demand; the engine then requests playlists and media segments directly from the target streaming server and feeds them into the HTML5 video element. Browsers with native HLS support, such as Safari, can load the link through the video element directly.

Recent Streams uses Web LocalStorage to keep a small list of stream URLs. That list exists only inside your current browser profile, does not sync across devices, and is not uploaded to EasyTools. Playback success depends on the source server, CORS headers, stream format, codec support, and your local network.

FAQ

Why is my M3U8 link not playing?

The most common reason is that the source server does not allow browser cross-origin requests, also known as CORS. The link may also be expired, malformed, protected by authentication, or encoded with unsupported codecs.

Is my streaming link saved on EasyTools servers?

No. Playback and history storage happen in your current browser. Recent Streams is written only to localStorage, and you can clear it from the interface.

Why are failed links saved in Recent Streams?

If the URL format is valid and you click Play, the attempt is saved. That is useful for stream testing because failed links are often the ones you need to adjust, retry, and compare while debugging CORS or source-server issues.

Can this play DRM or protected IPTV streams?

Not reliably. This tool is for testing standard HLS / M3U8 streams. It does not bypass DRM, authentication, region rules, or source-server security policies.

Do I need to install any plugins?

No. The tool uses HTML5 video, native browser HLS support where available, and a locally bundled HLS.js engine loaded only when needed.