The ASS / SSA to SRT converter turns styled Advanced SubStation Alpha and SubStation Alpha subtitle scripts into plain, universally compatible SubRip (.srt) files. ASS and SSA files carry styling, positioning and animated override tags that many simple players and upload forms do not understand. This tool flattens them to clean SRT — keeping the dialogue and timing, discarding everything a basic player cannot show.
How it works
The converter scans the script for Dialogue: lines inside the [Events] section. If a
Format: line is present, it reads the column order to locate the Text field precisely;
otherwise it assumes the standard ASS layout where text is the tenth field. For each cue it
parses the start and end times — written as H:MM:SS.cc with centiseconds — and converts
them to SRT’s HH:MM:SS,mmm millisecond form by multiplying the hundredths by ten.
The cue text is then cleaned. Every override block in curly braces ({\an8}, {\i1},
colour, font and movement tags) is removed, and ASS line breaks (\N and \n) become real
newlines. Because SRT requires cues in chronological order, the parsed cues are sorted by start
time and renumbered from 1.
Example
A Dialogue line such as:
Dialogue: 0,0:00:01.00,0:00:04.20,Default,,0,0,0,,{\an8}Welcome to the show.
becomes the SRT cue:
1
00:00:01,000 --> 00:00:04,200
Welcome to the show.
Why you’d convert ASS to SRT
Compatibility. SRT is the most universally supported subtitle format. Video players (VLC, mpv, Windows Media Player), streaming platforms (YouTube, Vimeo, most social video), and video editing tools all accept SRT. ASS is well-supported on desktop players but many upload forms, mobile players, and streaming platforms reject it or silently drop the styling.
Simplicity. If the styled effects in an ASS file are not important for your use case — for example, you are uploading to a platform that applies its own caption styling, or you are archiving subtitles for re-translation — stripping the tags makes the file smaller and easier to parse, edit, or search.
Re-timing or editing. Simple SRT files are easy to open in any text editor, find-and-replace, or run through automated timing tools. ASS files with extensive override blocks are much harder to manipulate by hand.
What gets stripped and what stays
Stripped (not representable in SRT):
- Positioning tags (
{\an8},{\pos(x,y)}) - Colour and font override tags (
{\c&H...},{\fs24}) - Animation and movement tags (
{\move(...)},{\fad(...)}) - Bold/italic toggling via tags (
{\b1},{\i0})
Preserved:
- The dialogue text itself
- Start and end timecodes (converted to SRT format)
- Hard line breaks —
\Nin ASS becomes a real newline in the SRT cue
The timestamp conversion in detail
The timestamp format difference between ASS and SRT is subtle but breaks players that expect strict SRT format. ASS uses:
H:MM:SS.cc (hours, minutes, seconds, centiseconds)
0:00:01.00 (1 second exactly)
0:00:04.20 (4.2 seconds = 4 seconds 200 milliseconds)
SRT requires:
HH:MM:SS,mmm (zero-padded two-digit hours, comma separator, milliseconds)
00:00:01,000
00:00:04,200
The converter multiplies centiseconds by 10 to get milliseconds, pads hours to two digits, and changes the decimal point to a comma — all three changes must happen together or the SRT file will be rejected by strict parsers.
Handling common ASS file variations
Files downloaded from anime fansubbing sites often use non-standard tag sequences, multiple style layers, and complex typesetting. This converter strips all override tags and collapses all layers to a single plain-text track. The visual typesetting (special positioning, karaoke, styled signs) is lost, but the dialogue text and timing is preserved.
Files exported from subtitle editors (Aegisub, Subtitle Edit) follow the standard ASS column layout closely. The conversion is usually very clean.
Files with comments in the [Events] section (lines starting with Comment: instead of Dialogue:) are ignored. Comments are metadata for the editor and contain no viewable subtitle text.
Tips
- The
[Script Info]header and[V4+ Styles]section are ignored; only[Events]is parsed. - Malformed
Dialogue:lines are skipped with a warning rather than breaking the whole conversion. - If multiple subtitle tracks exist in the ASS file (multiple style layers), all dialogue lines from all layers are included and sorted by start time.
- Everything runs locally — no subtitle text leaves your browser.