Convert ASS to SRT

Flattens Advanced SubStation Alpha (.ass/.ssa) to plain SubRip — dialogue and timing kept, styling stripped predictably. In your browser, no upload.

Runs in your browser. Files never leave your device.

Drop a subtitle file

or ·

ASS or SSA · processed in your browser · nothing is uploaded

From a styled script to plain dialogue

An ASS file is a small document: a [Script Info] header, one or more [V4+ Styles] definitions, and an [Events] section where each Dialogue: line carries timing, a style name, margins, and the text — often wrapped in override tags like {\i1} or {\pos(640,80)}. SRT keeps none of that scaffolding. This tool reads the events, converts each one, and writes a clean numbered list.

input.ass — [Events]
Dialogue: 0,0:00:04.18,0:00:07.92,Default,,0,0,0,,{\i1}Who's there?{\i0}

output.srt
1
00:00:04,180 --> 00:00:07,920
<i>Who's there?</i>

Centisecond timestamps (0:00:04.18) are expanded to SRT’s millisecond form (00:00:04,180). The {\i1}…{\i0} italic toggle becomes <i>…</i>. Layer, style, margin and effect fields are dropped — SRT has no place for them.

When you need SRT instead of ASS

ASS is the format of fansubs and serious typesetting, but plenty of devices choke on it. Smart-TV subtitle readers, many hardware media players, and some streaming/embedding pipelines accept only SRT. Converting gives you a file that plays everywhere, at the cost of the styling — usually an acceptable trade when the alternative is no subtitles at all.

What’s kept, what’s dropped

  • Dialogue text and timing — preserved exactly; commas inside the text are handled correctly.
  • Bold / italic / underline{\b1} {\i1} {\u1} become <b> <i> <u>.
  • Positioning, colour, fonts, fades, rotation, karaoke — removed, with a per-cue count so you know what changed.
  • Line breaks — ASS \\N becomes a real line break; \\h hard spaces become normal spaces.
  • Comment events — dropped (they aren’t shown dialogue).
  • Encoding — legacy-encoded fansubs are detected and decoded to UTF-8 automatically.

Limits

None worth noting — it runs in your browser with no size cap, instantly, and offline after first load. If you need to keep the styling, don’t convert: edit the ASS directly, or convert the other way with SRT to ASS.

Frequently asked questions

What do I lose converting ASS to SRT?

Everything ASS adds on top of plain dialogue: positioning (\pos, alignment), colours, fonts, outlines, rotation, fades, karaoke timing and typesetting/signs. SRT has no syntax for any of it. The tool lists how many override tags it removed, per cue. Bold, italic and underline are kept because SRT supports them.

Will the dialogue and timing stay exactly the same?

Yes. Every Dialogue line’s start and end time is preserved to the millisecond (ASS centiseconds are expanded), and the spoken text is kept verbatim — commas in the text included. Only the styling layer is dropped.

What happens to Comment lines and multiple styles?

Comment: events (editor notes, unused karaoke) are dropped — they aren’t dialogue. Multiple styles collapse to plain text, since SRT can’t carry style names. The line order and timing are untouched.

My signs and songs disappeared. Is that a bug?

No — that’s the nature of SRT. Typeset signs and karaoke are pure ASS features built from positioning and timing tags SRT can’t express, so they flatten to their plain text (or vanish if they were image-like). If you need them, keep the ASS file and use the editor instead.

Is anything uploaded?

No. The .ass/.ssa file is parsed and converted in your browser. Nothing is sent anywhere.