Skip to content
Pixora

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

  1. Add your VTT file

    Drop a .vtt file or paste WebVTT text. The WEBVTT header is detected automatically.

  2. Convert to ASS

    Cues become Dialogue events, timings convert to centiseconds, and a default style plus `[Script Info]` and `[V4+ Styles]` blocks are generated.

  3. 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:

How the two formats express layout and style.
ConcernWebVTTASS
Timing resolutionMillisecondsCentiseconds
Positioning modelline: / position: / align: (relative)\pos(x,y), alignment, margins (pixel)
StylingCue settings + ::cue CSSNamed V4+ styles + override tags
FontsWhatever the browser/CSS providesNamed font embedded in the style
Karaoke / effectsNoYes

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.

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.