2026-07-036 min readm3u8 tags reference, hls extended tags, m3u8 tags list
M3U8 Extended Tags: A Complete Reference Guide
Complete reference for M3U8 extended tags used in HLS streaming. Every tag explained with syntax, examples, and use cases.
Basic Tags
| Tag | Syntax | Description |
|---|---|---|
| #EXTM3U | #EXTM3U | File header, must be the first line |
| #EXTINF | #EXTINF:<duration>,<title> | Segment information |
| #EXT-X-VERSION | #EXT-X-VERSION:<n> | HLS protocol version |
| #EXT-X-TARGETDURATION | #EXT-X-TARGETDURATION:<s> | Maximum segment duration in seconds |
| #EXT-X-MEDIA-SEQUENCE | #EXT-X-MEDIA-SEQUENCE:<n> | Sequence number of first segment |
| #EXT-X-ENDLIST | #EXT-X-ENDLIST | Indicates no more segments will be added |
Stream and Media Tags
#EXT-X-STREAM-INF:BANDWIDTH=1280000,RESOLUTION=720x480,CODECS="avc1.66.30,mp4a.40.2"
Describes a variant stream. Next line is the URL to the media playlist.#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="stereo",LANGUAGE="en",NAME="English",URI="audio.m3u8"
Describes an alternate rendition (audio, subtitles, etc.)#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=128000,URI="iframe.m3u8"
References a playlist of I-frame segments for trick play
Live Stream Tags
#EXT-X-PLAYLIST-TYPE:EVENTor#EXT-X-PLAYLIST-TYPE:VOD
Specifies playlist type. Omit for live streams.#EXT-X-DISCONTINUITY
Indicates a break between segments (e.g., ad insertion, codec change)#EXT-X-PROGRAM-DATE-TIME:2026-01-01T00:00:00Z
Associates a timestamp with a segment for synchronization#EXT-X-SERVER-CONTROL:SKIP-UNTIL=... CAN-SKIP-UNTIL=... CAN-BLOCK-RELOAD=...
Low-latency HLS control parameters
Encryption Tags
#EXT-X-KEY:METHOD=AES-128,URI="https://key.server/key.bin",IV=0x...
Specifies encryption method and key location. The METHOD can be AES-128, SAMPLE-AES, or NONE.#EXT-X-SESSION-KEY:METHOD=AES-128,URI="..."
Used in master playlists to specify encryption keys before playback begins
Session Data Tags
#EXT-X-SESSION-DATA:DATA-ID="com.example.title",VALUE="Example Video"
Carries metadata in the master playlist#EXT-X-START:TIME-OFFSET=30
Recommends a starting offset for the playlist#EXT-X-DATERANGE:ID="ad1",START-DATE="2026-01-01T00:00:00Z",CLASS="ad"
Marks date ranges for events like ad breaks
Related Articles
M3U8 File Format: Structure and Key Tags Explained
Deep dive into the M3U8 file format. Every tag and attribute in the HLS playlist specification explained with examples.
What Is an M3U8 File? Complete Guide to the HLS Playlist Format
Learn what an M3U8 file is, how it works with HLS streaming, and how to open, edit, and create M3U8 playlists.
How to Create an M3U8 Playlist for HLS Streaming
Step-by-step guide to creating M3U8 playlists. Learn to write master and media playlists manually or generate them with FFmpeg.