Skip to main content
LrcSong
TTML → WebVTT converter

Convert TTML to WebVTT

Drop in a TTML file and get clean, valid WebVTT back in milliseconds. Runs entirely in your browser — your file never uploads.

Input

TTML file

Subtitle file

Output

WebVTT file

Spec-compliant

Free · in your browserBidirectionalSpec-compliant output
  • Runs 100% in your browser — nothing uploads
  • No file size limits

See it in action

TTML in, WebVTT out

What you put in what you get back

TTML input

What you provide

<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml">
  <body>
    <div>
      <p begin="00:00:12.340" end="00:00:15.780">Hello, it's me</p>
      <p begin="00:00:15.780" end="00:00:19.200">I was wondering if after all</p>
      <p begin="00:00:19.200" end="00:00:22.840">these years you'd like to meet</p>
    </div>
  </body>
</tt>

WebVTT output

What you receive

WEBVTT

00:00:12.340 --> 00:00:15.780
Hello, it's me

00:00:15.780 --> 00:00:19.200
I was wondering if after all

00:00:19.200 --> 00:00:22.840
these years you'd like to meet

Step-by-step guide

How to use this tool

  1. 01

    Paste or drop TTML

    Any valid TTML file works — paste the text or drag the file in.

  2. 02

    Hit Convert

    We parse the TTML structure and emit valid WebVTT.

  3. 03

    Verify the output

    Compare side-by-side. Use the Switch Direction button to round-trip and sanity-check.

  4. 04

    Download WebVTT

    Filename auto-suffixed with .vtt so it's ready to drop into your editor.

Key features

Why use this tool

100% in your browser

We never see your file. Conversion runs as JavaScript in the page you're reading.

Round-trip safe

Convert TTML → WebVTT → TTML and you should get the same content back, line-for-line.

Spec-compliant output

WebVTT files validate against the W3C WebVTT spec.

Bidirectional

Reverse direction (WebVTT → TTML) is one click away — no need to bookmark a different page.

Common use cases

Who this tool is for

From TTML

Apple Netflix, BBC iPlayer, EBU-TT pipelines.

To WebVTT

HTML5 <video>, JW Player, Plyr, Video.js.

Localization workflows

Translate once in your preferred format, ship to every platform.

Format mismatch fixes

Got a file in the wrong format? Convert in seconds, no editor required.

Questions answered

Frequently asked questions

Timed Text Markup Language — XML-based, used by streaming platforms and broadcast workflows.

Need to go the other way?

WebVTT → TTML works the same way — we even have a button to switch direction.

We use cookies for auth and, optionally, privacy-friendly analytics. You can accept, decline, or read our privacy policy.

Install LrcSong
Add to your home screen for offline tools and faster startup.