SSA Subtitle Format
What this format can express
- Text styling
- Fonts, colour, outline, shadow
- On-screen positioning
- Yes
- Karaoke timing
- Yes
- Line breaks inside a cue
- Yes
- Timeline
- Start and end time for every cue
- Timing resolution
- 10 ms
- Timing stored as frame numbers
- No
- Right-to-left text
- Yes
Examples
A typical SSA file, and what is read out of it
File
[Script Info]
Title: Example SSA
ScriptType: v4.00
Collisions: Normal
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,{\i1}Italic{\i0} line.
Dialogue: Marked=0,0:00:09.00,0:00:12.00,Default,,0,0,0,,Two\Nlines
What it holds
3 cues, 4 lines of text
0:00:01.00 → 0:00:04.00
Hello there.
[Default]
0:00:05.00 → 0:00:08.00
Italic line. [italic ×1]
[Default]
0:00:09.00 → 0:00:12.00
Two
lines
[Default]
Outside the cues:
sections [Script Info], [V4 Styles], [Events]
style table 1 — Default (Arial 20)The right-hand side is not a converted file — it is what this site reads out of the left-hand side, and what every conversion of that file starts from.
An awkward SSA file, and what is still read out of it
File
[Script Info]
Title: Dirty SSA
ScriptType: v4.00
[V4 Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, TertiaryColour, BackColour, Bold, Italic, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, AlphaLevel, Encoding
Style: Default,Arial,20,&H00FFFFFF,&H000000FF,&H00000000,&H00000000,0,0,1,2,2,2,10,10,10,0,1
[Events]
Format: Marked, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Comment: Marked=0,0:00:00.00,0:00:01.00,Default,,0,0,0,,not a subtitle
Dialogue: Marked=0,0:00:01.00,0:00:04.00,Default,,0,0,0,,{\b1}Bold{\b0} and {\u1}underlined{\u0}.
Dialogue: Marked=0,0:00:05.00,0:00:08.00,Default,,0,0,0,,A soft\nbreak and a {\p1}mystery{\p0} code.What it holds
2 cues, 3 lines of text
0:00:01.00 → 0:00:04.00
Bold and underlined. [bold ×1, underline ×1]
[Default]
0:00:05.00 → 0:00:08.00
A soft
break and a {\p1}mystery{\p0} code.
[Default]
Outside the cues:
sections [Script Info], [V4 Styles], [Events]
style table 1 — Default (Arial 20)
events 1 Comment: line — stored, never displayedReal files arrive with a byte-order mark, Windows line endings, a stray line before a timecode, or a timecode that cannot be read at all. None of it throws: whatever cannot be understood is reported rather than dropped in silence.
Convert SubStation Alpha (SSA) to another format
Each of these runs entirely in your browser. The labels say what that direction costs before you open it.
Nothing is lost in this direction — every feature of the source format has somewhere to go in the target format.
- Styling
- Positioning
- Karaoke
- Format-specific content
- Format-specific content
- Timing
- Styling
- Positioning
- Karaoke
- Format-specific content
- Styling
- Positioning
- Karaoke
- Frame rate
- Format-specific content
- Styling
- Positioning
- Karaoke
- Format-specific content
- Styling
- Karaoke
- Format-specific content
- Styling
- Positioning
- Karaoke
- Format-specific content
- Karaoke
- Format-specific content
- Timing
- Styling
- Positioning
- Karaoke
- Line breaks
- Format-specific content
- Styling
- Positioning
- Karaoke
- Format-specific content
Converting into this format
- SubRip (SRT) → SubStation Alpha (SSA)
- WebVTT (VTT) → SubStation Alpha (SSA)
- Advanced SubStation Alpha (ASS) → SubStation Alpha (SSA)
- YouTube SBV → SubStation Alpha (SSA)
- SAMI (SMI) → SubStation Alpha (SSA)
- LRC Lyrics → SubStation Alpha (SSA)
- MicroDVD → SubStation Alpha (SSA)
- TTML (Timed Text) → SubStation Alpha (SSA)
- SubtitleMatrix JSON → SubStation Alpha (SSA)
- Plain Text (TXT) → SubStation Alpha (SSA)
- CSV Spreadsheet → SubStation Alpha (SSA)
SubStation Alpha (SSA) is one of the subtitle formats this site handles, and this page is its reference: what it can store, what it cannot, and a page for every format you can convert it to.
The table above is the whole of it — there is no hidden feature list. When a row says no, that is exactly what is lost by converting into SSA, and each conversion page linked below says so before you open a file.
Every one of those conversions runs in your browser. Nothing is uploaded and no account is needed, which matters for material under an NDA, a patient record or a broadcast embargo.
Frequently asked questions
What is an SSA file?
`.ssa` is the older spelling of ASS, from SubStation Alpha. The same tools read both — Aegisub, mpv, VLC, ffmpeg — and archive material still turns up with the older extension.
Does SSA store styling?
Yes, and more than the others do: a style table of fonts, sizes, colours, outlines and margins, plus per-cue codes inside the text, so one line can be bold, coloured and placed without any named style. Karaoke timing is stored too. Here that table is the `[V4 Styles]` section, and the per-cue styling is written as override tags such as `{\i1}` inside the `Dialogue:` text itself.
Does every SSA cue store both a start and an end?
Yes, and a moment in an SSA file reads `0:00:04.13`. That is as fine as SSA goes — to a hundredth of a second — and the number is exact, so a cue can be short, long, or overlap the next one without anything being implied.
Which formats can I convert SSA to without losing anything?
ASS — everything SSA can express, they can too. The table above is where that comes from: a row that says yes on both sides is a feature that survives. Every other direction drops something, and each of those pages names its own list.
What does an SSA file keep outside its cues?
An SSA file can carry three things outside its cues: a `[Script Info]` section of global settings, a style table, and optionally whole fonts in `[Fonts]` and drawings in `[Graphics]`. Its events section can also hold `Comment:` lines — events that are stored and never displayed.
What is missing from an SSA file that ASS has?
Three things, all of them structural rather than textual: a `Layer` column on each event (SSA writes `Marked` there), the `[V4+ Styles]` section name with its `ScriptType: v4.00+` marker, and the `AlphaLevel` style column. In place of that last one SSA spells a colour column `TertiaryColour` where ASS writes `OutlineColour`. Nothing about your cues, your timings or your `[Script Info]` block is affected — converting between the two rewrites the skeleton and the style table, nothing else.