Skip to content
Subtitle converter · ASS to VTT

Convert ASS to VTT

Get a styled subtitle file into the one caption format browsers actually accept.

  • Free
  • No upload, no signup
  • Timings preserved
How it works

How to convert ASS to VTT

  1. Choose your .ass file

    Press the box at the top of this page and pick your ASS file, or drop it on. It is read in your browser, so nothing is uploaded and there is no account to make.

  2. Check the VTT preview

    The first cues are shown as they will be written in VTT, so you can see the timings and the text before you save anything.

  3. Download the .vtt file

    Save the VTT file to your device. Your ASS file is left as it was, so you can convert it again to another format.

Browsers do not read ASS, at all

No browser has native support for Advanced SubStation Alpha. If a caption file is going onto a web page through the <track> element, it has to become WebVTT, and there is no configuration that changes that.

The conversion keeps the dialogue and the timings. The styling does not survive in any meaningful way: ASS style blocks, override tags, karaoke timing and precise positioning have no WebVTT equivalent that a browser will render consistently.

If the appearance matters more than the captions being toggleable, burn the ASS file into the video instead and upload a plain MP4. That is usually the right call for anything that was typeset deliberately.

ASS and VTT, side by side

The text and the timings carry over exactly. The look does not: Advanced SubStation Alpha styling and positioning are dropped rather than translated, so the VTT file holds plain cues.

Both samples below hold the same two cues, so the difference you can see is the whole difference between the formats.

Before (.ass)
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:03.50,Default,,0,0,0,,This is the first line.
Dialogue: 0,0:00:03.50,0:00:06.00,Default,,0,0,0,,And this is the second.
After (.vtt)
WEBVTT

1
00:00:01.000 --> 00:00:03.500
This is the first line.

2
00:00:03.500 --> 00:00:06.000
And this is the second.
FAQ

ASS to VTT: questions

Can a browser play ASS subtitles?

No. The HTML5 track element supports WebVTT only, so an ASS file has to be converted or burned into the video.

What happens to the ASS styling?

It is dropped. Fonts, colours, positioning and effects have no reliable WebVTT equivalent, so the output is plain captions with the original text and timings.

Can WebVTT keep any of the ASS styling?

Some of it, in principle: WebVTT supports positioning and CSS-based styling of cues. It is not a translation of ASS though, so cues come across as plain text at the default position rather than with the look reconstructed.

Why not just use the ASS file on my site?

Because the HTML5 track element takes WebVTT and nothing else. An ASS file linked from a track element is fetched and ignored, usually with no error worth reading, which is the silent failure this conversion exists to fix.

Will the timings shift?

No. ASS writes times as hours:minutes:seconds.centiseconds and WebVTT uses milliseconds, so the numbers are rewritten at higher precision, but no cue moves.

Convert ASS to VTT now

Free, in your browser. The file is converted on your device and is not uploaded.