Skip to main content

Validator

TTML Validator

Check a Timed Text Markup Language (TTML / DFXP) for malformed timestamps, broken cue structure and out-of-order timings before a player or platform rejects it. Runs entirely in your browser.

  • Nothing is uploaded
  • No account needed
  • .ttml

Result

Nothing to check yet

Paste a TTML file on the left, drop a .ttml onto it, or load the sample. Results appear here as you type — there is no button to press.

What the validator checks

Spec-strict parser

We follow the TTML reference grammar — any deviation is flagged.

Helpful error messages

Each error names the line number and what's wrong, not just 'parse failure on line 42'.

Privacy-first

Validation runs in your browser. Use it on unreleased subtitles without leaking them anywhere.

Format mismatch detection

Pasted SRT into the TTML validator? We'll suggest switching to the right one before you waste time debugging.

What people use it for

Pre-delivery QA

Catch broken subtitles before sending to a client or platform that will reject the whole batch.

Player crash debugging

When a player rejects a file with a generic error, validate here to find the actual offending line.

Mass-cleanup

Identify which files in a folder need fixing — drop each one in for a fast pass/fail.

Once it validates

Questions

What does the TTML validator check?

Structure and timing: that cues parse, that timestamps are well-formed and in a sensible order, and that the file's required blocks are present. It reports problems — it does not rewrite your file.

My file plays fine but shows errors. Why?

Players are forgiving and often guess past malformed cues. Another tool in the chain — an encoder, a platform's ingest, a different player — may not be. The validator reports what the specification requires, not what one player tolerates.

Is my file uploaded anywhere?

No. Validation runs entirely in your browser; the file never leaves your device.