XConvert
Downloads
Pricing

Convert VTT to ASS Online

Turn WebVTT (.vtt) subtitles into Advanced SubStation Alpha (.ass) in a few clicks—right in your browser.

Input (VTT)
Output (ASS)

How to Convert VTT to ASS Online

  1. Upload Your VTT File: Drag and drop or click "+ Add Files" to load a .vtt (WebVTT) file from your device. You can also paste cue text directly. Batch upload is supported — drop a folder of episode captions and convert them in one pass.
  2. Confirm ASS as the Output: The output format is fixed to Advanced SubStation Alpha (.ass). The converter rewrites VTT cues into an ASS [Events] block with a default Style: Default entry — Arial 20pt, white primary with a black outline — so the file opens cleanly in Aegisub, mpv, VLC, and any libass-backed player.
  3. Review Cues Before Export (Optional): VTT timestamps use HH:MM:SS.mmm while ASS uses H:MM:SS.cc (centiseconds, one less digit of precision). Re-check any cue that ended on a sub-10 ms boundary. VTT <b>, <i>, and <u> tags are mapped to ASS override tags {\b1}, {\i1}, and {\u1}; cue settings like line: and position: become \an alignment plus \pos(x,y) overrides.
  4. Convert and Download: Click "Convert" and the .ass file is generated in your browser session — nothing is uploaded to a server. No sign-up, no watermark, no email gating.

Why Convert VTT to ASS?

WebVTT is the web's native caption format — it's what HTML5 <track> elements expect and what YouTube exports — but it tops out at basic italics/bold and CSS-driven positioning that few players honour outside the browser. Advanced SubStation Alpha, evolved from SSA (SubStation Alpha), created by CS Low ("Kotus") in 1996, and now the de-facto standard in the Aegisub/libass ecosystem, gives you per-cue font choices, ARGB colours, drop shadows, karaoke timing, fade animations, and pixel-accurate \pos(x,y) placement. Converting VTT to ASS unlocks all of that without retiming a single cue.

  • Edit and typeset in Aegisub — Aegisub (created in 2005, version 3.4.0 released December 2024) is the dominant tool for fansub-style typesetting, karaoke effects, and frame-accurate timing. It opens .ass natively but cannot edit .vtt directly; convert first, then style.
  • Burn styled subtitles into video with FFmpeg or HandBrake — FFmpeg's subtitles filter and HandBrake's "Burn In" option render ASS overrides (colour, outline, position, animation) onto pixels. VTT loaded into the same filter chain renders flat white text with no styling.
  • Play on mpv, VLC, and MPC-HC with consistent styling — these players use libass to rasterise ASS, so what you see in Aegisub is byte-for-byte what viewers see in playback. VTT cue styling is interpreted unevenly across players.
  • Match anime, k-pop, and karaoke release conventions — fansub and k-lyric release groups have shipped .ass since the early 2000s. If you're contributing to a release thread or remuxing into an MKV, ASS is the expected track format.
  • Add per-speaker styles — turn <v Alice> speaker cues from VTT into separate ASS Style: entries (e.g., Alice in yellow, Bob in cyan) so dialogue is instantly readable in multi-character scenes.
  • Position captions precisely — VTT's line:90%, position:50% maps to ASS {\an2\pos(640,648)}, giving you pixel-level control that survives transcodes into MKV/MP4 muxed subtitle tracks.

Need the reverse direction or a different starting point? Try ASS to VTT to ship Aegisub output back to the web, VTT to SRT for the broadest player compatibility, VTT to SSA for legacy SubStation Alpha targets, or SRT to ASS if you start from YouTube downloads.

VTT vs ASS — Format Comparison

Property VTT (WebVTT) ASS (Advanced SubStation Alpha)
File extension .vtt .ass
MIME type text/vtt text/x-ssa (de facto)
Standard / origin W3C Candidate Recommendation Draft, originated as WebSRT at WHATWG ~2010 Community spec, evolved from SSA (SubStation Alpha), created by CS Low ("Kotus") in 1996
Timestamp format HH:MM:SS.mmm (millisecond precision) H:MM:SS.cc (centisecond precision, ~10 ms)
Native styling Italic, bold, underline, ruby; CSS via <style> blocks Fonts, sizes, ARGB colours, outline, shadow, bold/italic/underline, rotation, scale, fade
Positioning Cue settings: line, position, align, size \an1–\an9 alignment plus \pos(x,y), \move, \org
Animation / karaoke None natively Fades (\fad), movement (\move), syllable karaoke (\k, \kf, \ko)
Drawing primitives None Vector drawing commands (\p1) for masks and shapes
Designed for Web <track> element, HTML5 captions Fansub typesetting, hardcoded subtitle burning, MKV/MP4 soft subs
Typical players Chrome, Firefox, Safari 14.1+, Edge mpv, VLC, MPC-HC, Aegisub, anything linking libass
Editor of choice Subtitle Edit, web text editor Aegisub

What Survives the Conversion — And What Doesn't

VTT input ASS output Notes
<i>, <b>, <u> inline tags {\i1}…{\i0}, {\b1}…{\b0}, {\u1}…{\u0} Inline italics/bold/underline carry over cleanly
<c.classname> colour classes Default style; mapped to Style: if a matching name exists CSS-defined colours don't carry unless you provide an ASS style block
<v Speaker> voice tags Speaker label prefix or named Style: (one per voice) Pick whether you want each speaker as their own style
Cue line: / position: \an alignment + \pos(x,y) override VTT percentages translate against PlayResX/PlayResY in the ASS header
<ruby> ruby annotations Inline parenthesised text ASS has no native ruby — closest is parentheses or paired styles
NOTE blocks Comment: events Preserved but ignored at playback
REGION blocks Mapped to a Style: with margins Region IDs become style names
STYLE CSS blocks Lost unless mapped manually ASS uses its own [V4+ Styles] section, not CSS

Frequently Asked Questions

Will my styling survive when converting from VTT to ASS?

Inline <b>, <i>, and <u> tags map directly to ASS override tags {\b1}, {\i1}, and {\u1} and survive 1:1. VTT cue positioning (line:, position:, align:) is translated to ASS \an alignment plus \pos(x,y) overrides using PlayResX/PlayResY from the ASS header. Custom CSS defined in VTT STYLE blocks does not carry over — ASS uses its own [V4+ Styles] section instead, so plan to add styles in Aegisub after conversion.

Why does ASS use centisecond timestamps instead of milliseconds?

The original SubStation Alpha format from the late 1990s used H:MM:SS.cc (centiseconds, two-digit precision after the dot) and ASS inherited it for backward compatibility. WebVTT uses HH:MM:SS.mmm (milliseconds). The converter rounds to the nearest centisecond, so a cue ending at 00:00:05.123 becomes 0:00:05.12. For frame-accurate work above 100 fps you may want to re-time inside Aegisub.

Can I open the converted ASS file in Aegisub right away?

Yes. The output includes a valid [Script Info] header (with ScriptType: v4.00+, default PlayResX: 1920, PlayResY: 1080), a [V4+ Styles] section with a Default style (Arial 20pt, white primary, black outline) and an [Events] section with one Dialogue: line per VTT cue. Aegisub 3.x and 4.x both load this without conversion prompts.

Why would I convert VTT to ASS instead of editing the VTT directly?

VTT was designed for the web — players like Chrome and Safari render it inside the <video> element with limited styling. The moment you want to typeset karaoke, position a caption to dodge a lower-third, animate a fade, change fonts mid-line, or burn the result into the video pixels with FFmpeg or HandBrake, ASS is the only mainstream format that exposes those primitives. Aegisub and other typesetting tools also work natively in ASS.

Do mpv, VLC, and Plex play ASS files the same way?

mpv and VLC both render ASS via libass, the same underlying library, so styling, positioning, fonts (when the fonts are installed), karaoke, and animations look essentially identical. Plex supports ASS playback in direct play and in transcoded streams that keep the subtitle as a soft track, but some Plex client apps (older Roku, some smart TVs) cannot render ASS and will fall back to a stripped SRT representation — burn the subs in with FFmpeg if you need styling everywhere.

Will the converted ASS work as a soft subtitle track in MKV or MP4?

Yes for MKV — mkvtoolnix muxes ASS tracks natively and most players honour the styling. MP4 is trickier: the MP4 spec only standardises 3GPP timed text and tx3g, so muxing ASS into MP4 is non-standard and many players (including QuickTime and most smart TVs) won't render it. For MP4 distribution, either burn the ASS into the video, or convert to ASS to VTT and use the VTT as a sidecar.

Why does my YouTube-downloaded VTT lose colours when I convert?

YouTube re-processes uploaded captions and strips most styling, so the .vtt you download from YouTube is essentially plain text + timestamps. The converter can only map what's present — if the source has no colour or position cues, the ASS output will be plain Default style. Add styling afterwards in Aegisub if you want coloured speaker labels or positioned signs.

Can I batch-convert a whole season of WebVTT captions at once?

Yes. Drop every .vtt file onto the uploader, click "+ Add Files" to append more, and convert in a single pass. Files process in your browser session and download as a ZIP. Filenames are preserved so s01e01.en.vtt becomes s01e01.en.ass, which is the convention mpv, Jellyfin, and Plex look for when picking up sidecar subtitles.

Is my subtitle file uploaded to any server?

No. This converter is browser-only (CLIENT_ONLY in our config) — parsing, mapping, and .ass generation all happen in JavaScript inside your tab. Nothing is sent to xconvert servers, so it's safe to use with unreleased episode scripts, contractual NDA material, or unpublished translations.

Related Convert tools
Convert Vtt To SrtConvert Vtt To SsaConvert Vtt To SbvConvert Vtt To SubConvert Srt To AssConvert Ssa To AssConvert Sbv To AssConvert Sub To Ass

Image Tools

Image CompressorCompress JPEGCompress PNGCompress GIFCompress WebPImage ConverterJPG ConverterImage Resizer

Video Tools

Video CompressorCompress MP4MP4 to GIFVideo to GIFVideo ConverterMP4 ConverterVideo Cutter

Audio Tools

Audio CompressorCompress MP3Compress WAVAudio ConverterMP3 ConverterFLAC to MP3Audio Cutter

Document Tools

Compress PDFMerge Images to PDFSplit PDFPDF to JPGUnzip FilesRAR Extractor
© 2026 XConvert.com. All Rights Reserved.
About UsPrivacy PolicyTerms of ServiceContactHelp Us Grow