VTT to ASS Converter
Processed locally in your browser — nothing is uploaded.
Quick answer
To convert VTT to ASS you move web captions into a full styling format. This tool reads each WebVTT cue, drops the browser-oriented cue settings that ASS does not use, keeps the text and exact timing, and writes an Advanced SubStation Alpha script with a default style you can restyle. It all happens in your browser, so your .vtt is never uploaded.
How to vtt to ass converter
Add your VTT file
Drop a .vtt file or paste WebVTT text. The WEBVTT header is detected automatically.
Convert to ASS
Cues become Dialogue events, timings convert to centiseconds, and a default style plus `[Script Info]` and `[V4+ Styles]` blocks are generated.
Download or copy
Save the .ass file or copy it, then open it in Aegisub to apply fonts, colours and positioning.
Why convert VTT to ASS?
WebVTT is built for the browser: it can position and style captions, but only in ways the HTML5 player understands, and its layout model is coarse. ASS is built for typesetting: precise pixel positioning, named font styles, outlines, karaoke and effects that authoring tools like Aegisub can preview and edit. If you pulled a .vtt off a web player and now want to properly style it — for a fansub, a hardsubbed release, or a signage-heavy edit — ASS is the format that gives you the control.
How do VTT and ASS positioning compare?
They both *can* position captions, but they do it in incompatible ways, so this is not a one-to-one mapping:
| Concern | WebVTT | ASS |
|---|---|---|
| Timing resolution | Milliseconds | Centiseconds |
| Positioning model | line: / position: / align: (relative) | \pos(x,y), alignment, margins (pixel) |
| Styling | Cue settings + ::cue CSS | Named V4+ styles + override tags |
| Fonts | Whatever the browser/CSS provides | Named font embedded in the style |
| Karaoke / effects | No | Yes |
What always transfers cleanly is the important part — the cue text and its exact timing. Timings are converted from millisecond to centisecond form (rounded to the nearest hundredth of a second), and each cue becomes a Dialogue: event under a single neutral Default style.
Is the VTT uploaded during conversion?
No. The WebVTT is parsed and the ASS is generated in your browser, in memory, with no server round-trip. Confirm it in DevTools → Network: converting a file sends nothing. That is what makes the tool safe for captions you are not ready to release.
Related subtitle tools
Already have SubRip rather than WebVTT? Use SRT to ASS. Need the reverse trip back to the web? ASS to VTT does it. For any pairing at all, reach for the universal subtitle converter. Once your ASS is styled, add subtitles to a video burns them in with formatting preserved.
Your files never leave your device
Processed locally in your browser — nothing is uploaded. You can verify it yourself: open your browser’s developer tools, watch the Network tab, and use the tool — no upload request is ever made.
Frequently asked questions
Does VTT to ASS keep my timing?
Yes. Every cue keeps its start and end times, converted from milliseconds to the centiseconds ASS uses — a rounding of at most a few milliseconds that is invisible on screen.
Do my WebVTT cue positions carry over?
No. WebVTT cue settings such as line:, position: and align: use a different model from ASS positioning and cannot map directly, so they are dropped. You reposition deliberately in the ASS file afterward.
Why is the text unstyled after converting?
The converter applies one neutral Default style so the script is valid ASS. That is your starting canvas — set fonts, colours and position in Aegisub and they apply to every line.
Can I add karaoke effects after converting?
Yes. Karaoke is an ASS feature, so once the file is ASS you can add `\k` timing and other effects that WebVTT could never store.
Does the ::cue CSS from my VTT transfer?
No. `::cue` styling is browser CSS with no ASS equivalent, so it is not carried over. You restyle using ASS V4+ styles instead.
Will speaker voice tags survive?
WebVTT `<v Name>` voice tags are flattened to plain dialogue, since ASS handles speakers through separate styles rather than inline voice markup.
Is Aegisub required to open the result?
No. The .ass is standard text any player that supports ASS can load, but Aegisub is the easiest place to edit the styling and preview positioning.