Turn ASS subtitle files into SSA format quickly in your browser—upload your .ass file, convert to .ssa, then download the converted subtitle.
ASS and SSA are two revisions of the same subtitle format. SSA (SubStation Alpha) is the original, declared by a ScriptType: v4.00 header and a [V4 Styles] block; ASS (Advanced SubStation Alpha) is the v4.00+ extension of it, adding six style fields, an alpha byte inside colour values, and the positioning, clipping and animation override tags that anime fansub typesetting is built on. Converting ASS to SSA is a deliberate step back to the older revision, done when a legacy player, hardware device, authoring suite, or parsing script expects a plain [V4 Styles] document and refuses anything labelled [V4+ Styles]. This converter runs entirely in your browser — and it emits a clean SSA v4.00 document in which dialogue text and timings carry over exactly while ASS-only styling is dropped rather than guessed at.
| Property | Value |
|---|---|
| Full name | Advanced SubStation Alpha, the v4.00+ revision of SubStation Alpha |
| Script header | ScriptType: v4.00+ |
| Styles section | [V4+ Styles] — 23 fields, from Name through Encoding |
| Colour notation | &HAABBGGRR — blue-green-red with a leading alpha byte, alpha inverted (00 opaque, FF transparent) |
| Alignment | Numpad-style 1-9 via the \an tag (7-9 top, 4-6 middle, 1-3 bottom) |
| Events line | Dialogue: 0,… — the leading field is Layer |
| Beyond SSA | Pixel positioning (\pos, \move), clipping (\clip), rotation and scaling (\frz, \fscx), \blur, fades, animated transforms (\t) and vector drawing (\p) |
| Text encoding | Normally UTF-8 |
| Best for | Fansubs, karaoke, sign and title typesetting, soft subtitles muxed into MKV |
| Superseded by | v4.00++ (ASS2) on paper, which almost nothing adopted |
| Property | Value |
|---|---|
| Full name | SubStation Alpha, created by CS Low ("Kotus") for the Windows SubStation Alpha editor |
| Script header | ScriptType: v4.00 |
| Styles section | [V4 Styles] — 18 fields; carries TertiaryColour and AlphaLevel, which ASS drops |
| Colour notation | BGR values with no alpha byte; transparency lives in the separate AlphaLevel field |
| Alignment | Legacy scheme via \a: 1-3 bottom, add 4 for a toptitle (5-7), add 8 for a midtitle (9-11) |
| Events line | Dialogue: Marked=0,… — the leading field is Marked, not Layer |
| Missing vs ASS | No Underline, StrikeOut, ScaleX, ScaleY, Spacing or Angle style fields; no positioning, clipping, blur or drawing tags |
| Text encoding | Codepage-oriented; each style carries its own Encoding value |
| Best for | Older players, devices and toolchains that parse only [V4 Styles] |
| Status | Legacy — the v4.00+ (Advanced) revision of the early 2000s was the last official specification |
ScriptType: v4.00 header and a [V4 Styles] section.| In the ASS input | In the SSA output | Why |
|---|---|---|
ScriptType: v4.00+ |
ScriptType: v4.00 |
Declares the older revision so v4-only parsers accept the file |
[V4+ Styles], 23 fields |
[V4 Styles], 18 fields |
OutlineColour becomes TertiaryColour, and AlphaLevel comes back |
Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle |
— | These style fields simply do not exist in SSA v4.00 |
Dialogue: 0,… |
Dialogue: Marked=0,… |
Layer is an ASS field; SSA's equivalent leading field is Marked |
0:00:05.25 |
0:00:05.25 |
Unchanged — both revisions time cues in h:mm:ss.cc, to the centisecond |
{\pos(960,120)\blur3\fscx120} |
— | ASS-only override blocks have no SSA equivalent and are removed |
\N line break |
\N |
Preserved, along with commas and other punctuation inside the line |
The practical summary is that timing and text are lossless while presentation is not. Because SSA v4.00 has no way to express pixel positioning, blur, scaling or transforms, this converter does not attempt to approximate them — it rebuilds the script around a single well-formed [V4 Styles] definition so that every legacy parser reads it the same way. If your ASS file is a plain dialogue track, you will not notice the difference; if it is a typesetting-heavy fansub full of signs and effects, expect clean, unstyled subtitles on the other side. Matroska's own subtitle documentation treats the two as one format for muxing and draws exactly this distinction: the Layer field "comes from ASS specs… it's empty for SSA" (Matroska subtitle spec).
The header, the styles block and the override tags. In our testing, a two-cue ASS script timed at 0:00:01.50 → 0:00:04.00 and 0:00:05.25 → 0:00:08.10 came back with byte-identical timecodes in the SSA output, the text Welcome, everyone. intact down to the comma, and the \N line break preserved — while the {\pos(960,120)\blur3\fscx120} block on the first line was removed and the [V4+ Styles] section was replaced by a single [V4 Styles] definition.
No. SSA v4.00 and ASS both express cue times as h:mm:ss.cc — hours, minutes, seconds and centiseconds — so the values are copied across at identical precision with no rounding step in between. A cue that started at 0:00:05.25 in the ASS starts at 0:00:05.25 in the SSA. Sync problems after a conversion almost always trace back to a different video frame rate or a different cut of the video, not to the format change.
No — the output is rebuilt around one standard [V4 Styles] definition rather than a field-by-field translation of your [V4+ Styles] block. That is deliberate: six of the ASS style fields have no SSA counterpart, and ASS colours pack an alpha byte that SSA keeps in a separate AlphaLevel field, so a naive remap would either silently reinterpret your colours or emit a style line that strict v4 parsers reject. If you need styled SSA, the output is plain text — open it in Aegisub or any text editor and write the [V4 Styles] line you want.
DefaultVCD is the name of the single style written into the [V4 Styles] section — Arial at 28 points with a standard outline — and every Dialogue: line points at it. It is a legal SSA v4.00 style, so any v4 parser renders the file consistently. Rename it and its references in a text editor if your workflow expects a particular style name.
\pos, \blur and typesetting tags go?They were stripped, because SSA v4.00 has no tag that expresses them. ASS added pixel positioning, clipping, rotation, scaling, blur, fades, animated transforms and vector drawing on top of the bold, italic, font, colour and karaoke tags SSA already had — the Aegisub override-tag reference documents the full set. Leaving those {…} blocks in place would put unparseable text on screen in a strict v4 player, so the converter removes the whole block and keeps the dialogue.
You can — SSA to ASS makes the return trip — but it will not resurrect anything the downgrade dropped. The round trip restores the v4.00+ header and the [V4+ Styles] shape; your original positioning, effects and per-style formatting are gone once they have been stripped. Keep the original .ass file as your master and treat the .ssa as a delivery copy.
Most modern software reads both. libass — the renderer behind VLC, mpv and many other players — parses both v4.00 and v4.00+ scripts, and its ASS file format guide documents the two as revisions of one format rather than as separate formats. You genuinely need .ssa when something older or stricter sits in the chain: a set-top box, a legacy authoring or hardsubbing suite, or an in-house script that pattern-matches on [V4 Styles]. If the real requirement is just "subtitles that work everywhere," ASS to SRT is usually the safer target than SSA.
No. This converter is client-side: the ASS script is parsed and the SSA is generated in your browser, with no queue to wait in, even for a feature-length track. Close the tab and the file is gone.