XConvert
Downloads
Pricing

Convert SUB to ASS Online

Convert your SUB subtitle file to ASS format in a few clicks—no installs needed.

Input (SUB)
Output (ASS)

Convert MicroDVD SUB to ASS: What You Need First

MicroDVD .sub files store their timings as frame numbers, not clock times, so nothing can be converted out of one until a frame rate is fixed. Advanced SubStation Alpha (.ass) is the opposite kind of file: real timestamps, a named style table, and per-line override tags. This page covers the whole job — finding the frame rate your file was cut for, running the conversion, and knowing which parts of a MicroDVD file an ASS script can and cannot carry.

The conversion happens inside the page. Your file is read with the browser's FileReader, parsed by JavaScript already loaded in the tab, and handed back as a Blob download. There is no queue and no account.

How to Convert SUB to ASS

  1. Load Your MicroDVD File: Click "📂 Upload .sub" to pick a file, or paste the {start}{end}text lines straight into the Input (SUB) box. One file at a time — the character count beside the label confirms it loaded.
  2. Find the Frame Rate Your File Was Cut For: Open the .sub in a text editor and look at the first line. If it reads {1}{1}23.976 or similar, that is the frame rate, and you will need it — this converter reads every MicroDVD file at 25 fps and has no frame-rate control.
  3. Confirm the Two Format Selectors: "From format" must read SUB and "To format" must read ASS. Both dropdowns list all thirteen supported formats, so it is easy to knock one off target.
  4. Convert, Download and Check the Timings: Press "Convert →", then "⬇ Download .ass" to save the script — it always downloads as subtitles.ass — or "📋 Copy" to paste it straight into Aegisub. Load it against the video and verify the first and last cue before you build on it.

Walk-through: The Frame Rate Is Not in the File

A MicroDVD line such as {25}{100}Hello means "show this from frame 25 to frame 100". What that is in seconds depends entirely on the video it was authored against, and MicroDVD's syntax has nowhere to record it. The near-universal workaround is to smuggle the rate into the first cue as {1}{1}23.976: FFmpeg's MicroDVD demuxer scans the opening lines of a file looking for exactly that shape, and the reference Python library pysubs2 refuses to read a file at all — raising UnknownFPSError — when neither an explicit rate nor that hint is available.

This converter does not read that line, and it does not offer a frame-rate control. Every MicroDVD file is parsed at 25 fps, and the {1}{1}23.976 header, if present, is treated as an ordinary cue whose visible text is the number. Two things follow. Delete that header line from the input before converting, or it becomes a caption. And do not treat the converted timings as final: open the result against the video and check the first and last cue before you build anything on top of it.

The arithmetic is simple enough to check by hand — a frame number divided by the frame rate is the time in seconds:

Frame number at 23.976 fps at 24 fps at 25 fps at 29.97 fps at 30 fps
24 0:00:01.001 0:00:01.000 0:00:00.960 0:00:00.801 0:00:00.800
1,500 0:01:02.563 0:01:02.500 0:01:00.000 0:00:50.050 0:00:50.000
90,000 1:02:33.754 1:02:30.000 1:00:00.000 0:50:03.003 0:50:00.000

That last row is the reason a frame-rate mismatch is worth taking seriously. It is not a constant offset you can nudge back into place — the error grows with runtime, so a file that looks acceptable over the opening titles is minutes out by the closing credits:

Source authored at Read at 25 fps, cues land After 1 minute After 10 minutes After 1 hour
23.976 fps early 2.5 s early 24.6 s early 2 min 28 s early
24 fps early 2.4 s early 24.0 s early 2 min 24 s early
29.97 fps late 11.9 s late 1 min 59 s late 11 min 56 s late
30 fps late 12.0 s late 2 min 0 s late 12 min 0 s late

The upside of landing in ASS is that the repair is easy to make afterwards. Once the script is open in a subtitle editor you are working with real timestamps on a single style, so a uniform shift or a proportional rescale applies to every Dialogue line at once — far less painful than editing frame numbers in the original .sub.

What the ASS Output Actually Contains

The script this page builds is a complete but deliberately plain v4.00+ file. It is a starting point for typesetting, not finished typesetting.

Section What is written
[Script Info] ScriptType: v4.00+ and Collisions: Normal, plus a generator comment
[V4+ Styles] Exactly one style, DefaultVCD — Arial 28, primary and secondary &H00B4FCFC, outline &H00000008, back &H80000008, bold on, alignment 2 (bottom-centre), 30 px margins
[Events] One Dialogue: line per cue, layer 0, all assigned to DefaultVCD
Timing precision Centiseconds — 0:00:01.04, hundredths of a second, matching the ASS time field
Line breaks MicroDVD's `

The style uses the &HAABBGGRR hexadecimal colour notation ASS expects. If you pick SSA instead of ASS in the "To format" dropdown, the page patches that Style line on the way out: the SSA v4 builder otherwise writes those colours as raw decimals — including a negative BackColour — and the patch substitutes the &HAABBGGRR values renderers read cleanly.

What MicroDVD Styling Survives the Trip

MicroDVD carries inline control codes — {y:i} for italic, {y:b} bold, {y:u} underline, {c:$BBGGRR} for colour in reversed byte order, {f:name} for font and {s:n} for size, lowercase affecting one line and uppercase everything from that point on. ASS has a direct equivalent for every one of them. The conversion does not use them.

MicroDVD input What reaches the ASS Dialogue line
{y:i}Hello Hello — the italic code is stripped, no {\i1} is written
{c:$0000ff}Hello Hello — colour dropped, the line renders in DefaultVCD
{f:Arial}{s:12}Hello Hello — font and size dropped
`Hello World`
Frame numbers Resolved to timestamps at 25 fps, with the caveats in the walk-through

Everything lands on the single DefaultVCD style, so restyling in Aegisub is a one-place edit rather than a per-line cleanup. That is convenient when you are re-typesetting from scratch and lossy when you were hoping to inherit the original author's look.

Common Errors and How to Fix Them

  • "No cues parsed from input. Check the format." — the parser matches one strict pattern per line, {digits}{digits} followed by text. A .sub file that is really VobSub (paired with an .idx, binary, subtitle images rather than text) or a SubViewer .sub with hh:mm:ss timestamps produces zero matches and this message. Nothing is lost; switch "From format" to the format the file actually is.
  • A first cue reading 23.976 or 25.000 — that is the frame-rate hint line, {1}{1}23.976. This parser has no special case for it, so it becomes a real caption. Note the number, then delete the line from the input.
  • The whole script is in sync at the start and drifts later — the source was not authored at 25 fps. See the drift table in the walk-through.
  • Your very first cue is missing — a UTF-8 byte-order mark at the head of the file makes line one unmatchable, because the cue pattern is anchored to a { at the start of the line. Windows-authored .sub files often carry one; re-save without a BOM, or paste the text in rather than uploading the file.
  • A cue written {1234}{} never appears — MicroDVD readers vary in whether they accept an empty end-frame, and this parser requires digits in both braces. Give the cue a real end frame.
  • Text disappears between a < and a > — the text cleanup strips anything that looks like a tag, so a line reading 5 < 6 but 7 > 2 arrives as 5 2. Replace stray angle brackets with ‹ › or word them differently before converting.
  • Accented or CJK characters come out as mojibake — the file is read as UTF-8. A legacy MicroDVD file saved in Windows-1250, Windows-1251 or Big5 needs re-saving as UTF-8 in a text editor first.

When This Doesn't Work

If your .sub is VobSub — a .sub plus an .idx, where the subtitles are bitmap images rather than characters — no text converter can read it, because there is no text in the file. That needs OCR. Likewise, MicroDVD files that were machine-translated line-by-line often carry the | separator in odd places; check the \N breaks in the output before you typeset over them. For the reverse direction and the other targets, start from the SUB converter hub or go straight to SUB to SRT.

Frequently Asked Questions

Is MicroDVD .sub the same as the .sub file that comes with an .idx?

No, and this is the single most common mix-up with the extension. MicroDVD .sub is a plain text file of {start}{end}text lines. VobSub .sub is a binary stream of subtitle bitmaps ripped from a DVD, always paired with a small .idx index file. Only the first is text; open the file in a text editor, and if you see readable dialogue with curly-brace numbers, it is MicroDVD. YouTube adds a third claimant to the extension, listing .sub as an alternate for SubViewer files.

Why does ASS need real timestamps when MicroDVD is happy with frames?

Frame numbering assumes the subtitle file and one specific encode of the video share a frame rate. Re-encode the video at a different rate, or hand the file to someone with a different release, and every cue is wrong. ASS stores hours, minutes, seconds and hundredths, which stay correct regardless of how the video was encoded. That portability is the main reason to move a MicroDVD file into ASS, SRT or ASS's relatives at all.

Can I get the original italics and colours into the ASS script?

Not automatically through this converter — MicroDVD's {y:i} and {c:$...} codes are stripped during parsing and no {\i1} or {\c&H...&} override is written in their place. If the styling matters, the practical route is to convert the timings and text here, then apply styling in Aegisub, where a single edit to the DefaultVCD style restyles the whole script at once.

What ASS version does the output claim to be?

ScriptType: v4.00+, which is Advanced SubStation Alpha rather than the older SubStation Alpha v4.00. That is the flavour Aegisub, libass, mpv and VLC read. Choosing SSA in the "To format" dropdown instead produces the older v4.00 style block with the colour patch described above.

Does the converter handle a two-hour film's worth of cues?

The parse is a single pass over the lines with one regular expression per line and everything is held in memory as an array of cue objects, so a feature-length subtitle file of a few thousand cues converts as soon as you press the button. Because the work happens in the tab rather than on a server, the practical constraint is your browser, not an upload limit or a queue.

Are my subtitles uploaded anywhere?

No. This tool reads the file with the browser's FileReader API and builds the output with JavaScript that was delivered with the page. There is no network request carrying your subtitle text, no account, and no server-side copy — which also means there is nothing to expire or delete. That is specific to the subtitle converter; xconvert's video and audio tools do work on servers.

What happens to an empty or comment-only line in the .sub file?

It is skipped silently. Only lines matching {digits}{digits} become cues; blank lines, stray notes and [BEGIN]/[END] markers that some MicroDVD players expect are ignored rather than turned into empty Dialogue events. If every line is ignored you get the "No cues parsed" message instead of an empty script.

What did the converter actually produce in testing?

We ran a three-cue MicroDVD file — {25}{100}The quick brown fox, a piped two-line cue, and a third cue — through this exact pipeline. The output was a complete v4.00+ script with the [Script Info], [V4+ Styles] and [Events] sections, one Dialogue: 0,...,DefaultVCD, NTP,0000,0000,0000,, line per cue, and the piped cue joined with \N. Text, cue order and line breaks came through exactly. The timings are the part to verify yourself, for the reasons in the walk-through.

Which other targets make sense from a MicroDVD file?

If you want the widest compatibility, SUB to SRT is the safe default — SubRip is the format desktop players, editors and video platforms are most likely to read. For web video, SUB to VTT is the format <track> elements expect. Pick ASS when you intend to typeset: positioning, karaoke timing, per-line overrides and a real style table are things only ASS and SSA carry.

Related Convert tools
SUB ConverterConvert Sub To SrtConvert Sub To VttConvert Sub To SsaConvert Sub To SbvConvert Srt To AssConvert Vtt To AssConvert Ssa 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

Converters

Time Zone ConverterMeeting PlannerIST to ESTTime Zone AbbreviationsUnit ConverterLength ConverterFlow Rate Converter
© 2026 XConvert.com. All Rights Reserved.
About UsPrivacy PolicyTerms of ServiceContactHelp Us Grow