Subtitle formats

ASS & SSA subtitle format

Last updated: 2026-06-11

ASS (Advanced SubStation Alpha, .ass) is a plain-text subtitle format that stores fonts, colors, outlines, and exact on-screen positioning, organized into three sections: [Script Info], [V4+ Styles], and [Events]. Each subtitle is an Events row beginning with Dialogue: and timed in centiseconds. It is the successor to SSA (v4) and is the standard for anime fansubs and karaoke because SRT and WebVTT cannot place or animate text the same way.

Unlike SRT, which stores only timed text, ASS carries full typesetting. That power is why it is used for signs, on-screen text, and word-by-word karaoke highlights — and why converting it to SRT loses all the styling.

The three sections

An ASS file is split into bracketed sections, read top to bottom by renderers like libass. The table summarizes what each holds.

SectionHoldsKey fields
[Script Info]MetadataPlayResX, PlayResY, ScriptType
[V4+ Styles]Named stylesFontname, Fontsize, PrimaryColour
[Events]Timed linesDialogue, Start, End, Style, Text

Anatomy of a Dialogue line

Every visible subtitle is a Dialogue: line in [Events] with comma-separated fields: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, and Text. Start and End use H:MM:SS.cc with centiseconds (hundredths of a second), and the final Text field carries the caption plus any inline override tags. A minimal file looks like this:

[Script Info]
ScriptType: v4.00+
PlayResX: 1920
PlayResY: 1080

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, Bold, Alignment, MarginV
Style: Default,Arial,72,&H00FFFFFF,0,2,40

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:01:14.50,0:01:17.00,Default,,0,0,0,,Where are we going?

Styling and override tags

Styles in [V4+ Styles] set defaults — font, size, primary and outline colors (in &HBBGGRR order), bold, alignment on a numpad 1–9 grid, and margins. Inside a Dialogue line, override tags in braces change formatting mid-line: {\i1} turns on italics, {\pos(960,540)} pins the line to a pixel coordinate, and {\fad(200,200)} fades it in and out. This per-line control is what SRT and WebVTT lack.

Why anime and karaoke use it

Fansub groups adopted ASS because a single file can typeset translated signs over the matching on-screen Japanese text, position notes in the margin, and render karaoke. Karaoke uses the \k, \K, and \kf tags, which time each syllable's highlight in centiseconds, producing the word-by-word color sweep in opening and ending songs. Players such as VLC, mpv, and MPC-HC render ASS through the libass engine, so the styling shows exactly as authored.

ASS vs SRT and VTT

ASS trades simplicity for control. SRT and WebVTT are easier to edit and supported almost everywhere, but they store little or no styling. ASS stores full typesetting at the cost of a more complex file. Converting ASS to SRT keeps timecodes and text but drops every style, while comparing SRT vs VTT shows that even WebVTT's positioning is far simpler than ASS. Pick ASS only when you need its styling; otherwise SRT or VTT is easier to translate and play.

Key facts

  • ASS = Advanced SubStation Alpha (v4+); SSA = the older SubStation Alpha (v4).
  • Three sections: [Script Info], [V4+ Styles], [Events].
  • Each subtitle is a Dialogue: line timed in centiseconds (H:MM:SS.cc).
  • Override tags like {\pos} and {\k} drive positioning and karaoke.
  • Standard for anime fansubs because of typesetting and karaoke support.
  • Plain UTF-8 text; converting to SRT discards all styling.

Definitions

ASS
Advanced SubStation Alpha (v4+). Styled, positioned subtitles with named styles and override tags.
SSA
SubStation Alpha (v4). The original format ASS extends; still readable, now legacy.
[Script Info]
Header section with metadata like PlayResX/PlayResY (the script resolution).
[V4+ Styles]
Section defining named styles: font, size, primary/outline colors, bold, alignment, margins.
[Events]
Section holding the timed lines. Each subtitle is a Dialogue: line.
Override tag
Inline command in braces, e.g. {\i1} italic or {\pos(x,y)} position.

Related guides

FAQ

What is the ASS subtitle format?+

ASS stands for Advanced SubStation Alpha, a plain-text subtitle format that stores fonts, colors, outlines, and on-screen positioning. A .ass file has three main sections — [Script Info], [V4+ Styles], and [Events] — and each subtitle is an Events line beginning with Dialogue:.

What is the difference between ASS and SSA?+

SSA (SubStation Alpha v4) is the original format; ASS (Advanced SubStation Alpha, v4+) is its successor. ASS adds more styling fields, named styles in a [V4+ Styles] section, and richer override tags. ASS is the modern standard; SSA is legacy but still readable.

Why do anime and fansubs use ASS?+

ASS supports precise positioning, custom fonts, colored outlines, and animated effects, which fansubbers use for typesetting signs, on-screen text, and karaoke. SRT and WebVTT cannot place or animate text the same way, so ASS became the standard for styled anime subtitles.

How are karaoke effects made in ASS?+

Karaoke uses override tags inside Dialogue text, mainly \k, \K, and \kf, which time the highlight of each syllable in centiseconds. Combined with named styles, this produces the word-by-word color sweep seen in anime opening and ending songs.

Can ASS be converted to SRT?+

Yes, but styling is lost. Converting ASS to SRT keeps the timecodes and dialogue text while discarding fonts, colors, positioning, and karaoke tags, because SRT has no styling. The reverse adds default styling but no real formatting.

What does a Dialogue line contain?+

A Dialogue: line has comma-separated fields: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, and Text. The Start and End times use H:MM:SS.cc with centiseconds, and the Text field holds the caption plus any override tags.

Is ASS plain text and UTF-8?+

Yes. An .ass file is plain text and is normally saved as UTF-8 so that non-Latin scripts and special characters display correctly. Like SRT and VTT, it can be opened and edited in any text editor.

Translate your subtitles now

Drop in your .srt or .vtt file, pick a language, and download a synced translation. Every timecode is preserved line for line.

Translate a subtitle file