StreamTest

HLS rendition is missing LANGUAGE

Without a language tag, players cannot honour the viewer’s language preference.

What it means

An audio or subtitle EXT-X-MEDIA entry omits the LANGUAGE attribute, so the rendition is declared but not identified. The NAME attribute is for humans to read; LANGUAGE is the machine-readable tag players actually select on.

Why it matters

Players and platforms use LANGUAGE to pick a track matching the device or account language, and accessibility tooling relies on it. Without it a multi-language stream is a list of unlabelled options, and automatic selection cannot work at all.

How to fix it

  1. Add LANGUAGE with an RFC 5646 tag: "en", "es", "pt-BR".
  2. Set NAME to something human-readable as well — LANGUAGE drives selection, NAME is what the viewer reads.
  3. Use ASSOC-LANGUAGE for a track whose language differs from its associated content, such as commentary.

Check your own stream

The free HLS analyzer runs this check on every analysis and links each finding straight back here.

Open the HLS analyzer →

Frequently asked questions

What does "HLS rendition is missing LANGUAGE" mean?
An audio or subtitle EXT-X-MEDIA entry omits the LANGUAGE attribute, so the rendition is declared but not identified. The NAME attribute is for humans to read; LANGUAGE is the machine-readable tag players actually select on.
Why does it matter?
Players and platforms use LANGUAGE to pick a track matching the device or account language, and accessibility tooling relies on it. Without it a multi-language stream is a list of unlabelled options, and automatic selection cannot work at all.
How do I fix it?
1. Add LANGUAGE with an RFC 5646 tag: "en", "es", "pt-BR". 2. Set NAME to something human-readable as well — LANGUAGE drives selection, NAME is what the viewer reads. 3. Use ASSOC-LANGUAGE for a track whose language differs from its associated content, such as commentary.
How do I check an HLS playlist for this automatically?
Paste the master or media playlist URL into the free HLS analyzer. It runs this check on every analysis alongside the ladder, timing and live-edge audits, and links each finding back to the page that explains it.
What is the first thing to try?
Add LANGUAGE with an RFC 5646 tag: "en", "es", "pt-BR".

Related HLS checks