What this does
ASS is the format that supports fonts, colours, positioning and karaoke — which is why fansub groups and staged releases use it. SubRip supports none of that, so converting SRT upwards gives you a file a player like mpv, VLC or Aegisub can restyle, rather than a file that is already correct.
How to use it
- Paste your
.srtcontent into the box, or drop the file onto it. - A complete ASS v4+ script is written:
[Script Info], oneDefaultstyle in[V4+ Styles], and oneDialogue:line per cue in[Events]. - Copy the result or download it as an
.assfile, then restyle it in Aegisub or your player of choice.
Good to know
- The output is ASS v4.00+, not SSA v4.00. v4.00+ is what modern tools expect; the older SSA variant is only needed for legacy hardware players.
- Cue order and timing are preserved. Only the container changes.
- A single
Defaultstyle is written. Add more styles in Aegisub if you want to distinguish speakers or sign translations. - If the source SRT was itself converted from ASS, positioning and karaoke are already gone — this converter cannot bring them back, only supply a file that could carry them next time.
Why the generated file looks plain at first
A converter cannot invent styling. SRT records text and timing, nothing else. So the ASS that comes out has one style — Arial at 64px, white with a black outline, centred near the bottom — and every cue points at it. That is a working baseline, not a finished look. The point of converting is to get the cues into a format where styling is possible; the styling itself is a design decision you make afterwards.
Timing converts cleanly in this direction. SubRip writes 00:00:01,000 with milliseconds. ASS writes 0:00:01.00 with centiseconds, so milliseconds are divided by ten and rounded down. A cue at 00:00:04,205 becomes 0:00:04.20 — a five millisecond difference, well below a frame at any normal frame rate.
Inline tags become override blocks. <i> and <b> in the SRT are rewritten as {\i1} / {\i0} and {\b1} / {\b0}, and any other markup is stripped rather than left to confuse the parser. Line breaks inside a cue become \N, the ASS hard break.
The PlayRes is set to 1920×1080. ASS positioning and font sizes are relative to the resolution declared in [Script Info]. Matching that to your video's resolution keeps the styling proportional — if your source is 1280×720, change PlayResX and PlayResY before you start styling, otherwise every measurement you set will be scaled.
Worked example
Input — .srt
1 00:00:01,000 --> 00:00:04,000 Hello there. 2 00:00:04,200 --> 00:00:07,000 <i>Music playing</i>
Output — .ass
[Script Info]
ScriptType: v4.00+
WrapStyle: 0
PlayResX: 1920
PlayResY: 1080
[V4+ Styles]
Format: Name, Fontname, Fontsize, ...
Style: Default,Arial,64,&H00FFFFFF,...
[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
Dialogue: 0,0:00:01.00,0:00:04.00,Default,,0,0,0,,Hello there.
Dialogue: 0,0:00:04.20,0:00:07.00,Default,,0,0,0,,{\i1}Music playing{\i0}
Milliseconds became centiseconds, became {\i1}, and the cues now sit in an [Events] block that a player can restyle.
FAQ
Will my subtitles look the same in the player?
Why 1920×1080?
PlayResX and PlayResY in the [Script Info] block to match.Can I convert back to SRT afterwards?
Does this upload my file?
Troubleshooting
- The player shows the file but no subtitlesCheck that the
[Events]block still contains theFormat:line — ASS needs it to know which column is which. If you edited the file by hand and removed it, the player will read the Dialogue lines as malformed. - Text after a comma in a cue was cut offThat happens when a Dialogue line is edited by hand and the Text field is split at the wrong comma. The Text field is last, so it must absorb every remaining comma in the line.
- Fonts look enormous or tinyThe
PlayResX/PlayResYvalues do not match your video. ASS sizes are relative to that declared resolution, so a mismatch scales every measurement. - Italics show as literal {\i1} textThe override block landed outside a cue, or the braces were escaped. Override codes only work inside the Text field of a Dialogue line.
- My styling disappeared after round-tripping through SRTSRT has no field for positioning, fonts or karaoke, so any of that is lost the moment a file passes through it. Keep the ASS as the master and derive SRT copies from it, not the other way around.
Related tools
ASS / SSA to SRT Converter
Turn SubStation Alpha (.ass, .ssa) subtitles into clean SubRip (.srt) — in your browser, with nothing uploaded.
SRT to VTT Converter
Convert .srt subtitle files to WebVTT (.vtt) for HTML5 video, right in your browser.
Clean Up AI-Generated Subtitles
Remove sound cues, HTML tags, speaker labels and duplicate cues from auto-generated captions.