TTML to SRT converter

Convert TTML (.ttml / .dfxp, Timed Text Markup Language) subtitles into plain SubRip (.srt).

UTF-8 text, up to 5 MiB. Files are read locally in your browser and are never uploaded or stored.

Paste TTML text here, or load a file above. Conversion runs automatically. Everything stays on this device.

Advertisement

Optional ads support this free tool. If you allow them, Adsterra and its partners may use cookies and receive your IP address and device information. Privacy details

How to convert TTML to SRT

  1. Paste your TTML subtitles into the TTML source box, or choose a .ttml/.dfxp file (UTF-8, up to 5 MiB) — conversion runs automatically.
  2. Edit the source any time to re-convert, or press Convert to retry on demand.
  3. Review the SRT result — cues are numbered sequentially, and discarded markup is listed as warnings.
  4. Download the .srt file, or copy the text straight out of the result box.

What changes between TTML and SRT

TTML (Timed Text Markup Language, .ttml — also seen as .dfxp) is the W3C's XML caption format: timed <p> elements with begin/end attributes, plus optional styling, layout regions and metadata. SRT is plain text: sequentially numbered cues and comma-decimal timestamps. This converter keeps each timed paragraph's timing and visible caption text and numbers the cues; the XML structure, styling and layout are discarded, with each removal reported as a warning.

Note: This converter exports plain caption text. TTML-only features — XML styling, layout regions, metadata and inline span markup — are discarded, and each removal is reported as a warning. Timings and caption text are kept.

Frequently asked questions

What are TTML and DFXP?

TTML is the W3C Timed Text Markup Language, an XML subtitle standard used by streaming and broadcast workflows. DFXP (.dfxp) is the earlier name for the same TTML family, so this converter accepts both extensions on this one page.

What exactly is lost when converting TTML to SRT?

Styling attributes, layout regions, metadata and any inline span markup: SRT only carries plain caption text. Timings and text are kept, and removals are listed as warnings. Timing itself must sit on <p> elements in media clock time — inherited timing, frame or tick metrics and sequential time containers are refused rather than mis-converted.

Are my subtitles uploaded anywhere?

No. Parsing and conversion run entirely in your browser with JavaScript. Nothing is sent to a server, stored, or logged.

What files can I load?

A UTF-8 text file up to 5 MiB. You can also paste subtitle text directly into the source box instead of choosing a file.

All converters