How to convert SRT to ASS
- Drop an .srt or .vtt file into the box above. The file card shows how many subtitles were read and when the last one ends.
- Check the notes under the file name, for example a warning that the file wasn't UTF-8 and was read as Windows-1252.
- Look through the first subtitles in the preview to confirm the text and times read correctly.
- Press "Convert and download" to save the .ass file.
- Open it in Aegisub, VLC or mpv, or edit the style line by hand as described below.
What the generated script looks like
The file has the three sections every ASS script needs. [Script Info] declares ScriptType v4.00+, PlayResX 1920, PlayResY 1080, WrapStyle 0 and ScaledBorderAndShadow yes. [V4+ Styles] holds a single style called Default. [Events] holds one Dialogue line per subtitle.
12, then 00:01:30,509 --> 00:01:33,240, then "We should go." and "Now." on two lines
Dialogue: 0,0:01:30.51,0:01:33.24,Default,,0,0,0,,We should go.\NNow.
ASS stores time in hundredths of a second, so the milliseconds are rounded to the nearest hundredth: ,509 becomes .51. A shift of up to 5 milliseconds is far below what anyone can see. The two-line break becomes \N, the hard line break in ASS. Cue numbers are dropped because ASS doesn't use them.
The default style, field by field
This is the style line the converter writes:
Style: Default,Arial,64,&H00FFFFFF,&H000000FF,&H00000000,&H80000000,0,0,0,0,100,100,0,0,1,3,1,2,80,80,60,1
- Fontname and Fontsize
- Arial at 64, measured on the 1920×1080 canvas
- PrimaryColour
- &H00FFFFFF, white text
- OutlineColour
- &H00000000, black outline
- BackColour
- &H80000000, a half-transparent black shadow
- Bold and Italic
- 0 (off); ASS uses -1 for on
- BorderStyle, Outline, Shadow
- 1 (outline plus shadow), a 3-pixel outline and a 1-pixel shadow
- Alignment
- 2, bottom centre on the numpad layout (1 to 3 bottom, 4 to 6 middle, 7 to 9 top)
- MarginL, MarginR, MarginV
- 80 pixels at each side, 60 pixels from the bottom
Restyling it
The converter has no font or colour pickers; it gives you a clean, valid starting point. To change the look, open the file in Aegisub and edit Default in its Styles Manager, or change the numbers in the Style line with any text editor. Some examples:
- Yellow text: set PrimaryColour to &H0000FFFF. ASS colours are written as &HAABBGGRR, blue first and red last, so yellow (red plus green) reads 00FFFF after the alpha.
- Semi-transparent text: the first pair is alpha, and it is inverted: 00 is solid, FF is invisible, 80 is about half.
- Top of the screen: set Alignment to 8.
- A box behind the text instead of an outline: set BorderStyle to 3. Renderers differ slightly in how they colour the box, so check in the player you will use.
- Bigger text for phone viewing: raise Fontsize to around 72 to 80 and MarginV a little.
Choosing a readable font and colour is covered in subtitle styles; the same principles apply inside ASS.
Why PlayRes matters
Every size and margin in an ASS script is measured on the PlayResX × PlayResY canvas, and the player scales that canvas to the video. Without these two lines, renderers fall back to a tiny 384×288 canvas, and font sizes written for a full-HD picture come out far too large. The 1920×1080 canvas suits any 16:9 video: on a 720p or 4K file the text keeps the same size relative to the picture.
If your video is a different shape, for example a vertical 1080×1920 clip or a 4:3 recording, change PlayResX and PlayResY in [Script Info] to the video's own width and height, then check the font size again. A canvas of the wrong shape can stretch the text or put the margins in odd places. ScaledBorderAndShadow yes makes the outline and shadow scale with the video too, so a 3-pixel outline doesn't turn hairline-thin on a 4K file.
What is not carried over
- SRT italics, bold and font colour tags (<i>, <b>, <font color>) are removed when the file is read. Put italics back in ASS with {\i1} at the start of a line.
- Position tags such as {\an8} typed into SRT text are removed as well.
- Curly braces in the dialogue are changed to round brackets, because ASS would treat text in braces as override tags and hide it.
- WebVTT cue settings (line, position, align) and VTT styling blocks are not converted.
- SSA v4 output isn't offered. Current players and Aegisub read ASS v4+.
Where ASS works and where it doesn't
ASS is a playback and authoring format. Desktop players with an ASS renderer, such as VLC, mpv and MPC-HC, show the styling, and it is the working format of fansub and typesetting tools like Aegisub. It can also be muxed into an MKV as a subtitle track. Rendering differs a little between libass, VSFilter and its forks, so complex effects should be checked in the target player.
It is the wrong format for most uploads. YouTube's list of supported caption files doesn't include ASS, and social platforms, many TVs and most editors expect SRT or VTT. For those, keep the SRT. If the goal is styled text that every viewer sees, burn it into the picture instead: open the video and the SRT in the free subtitle editor, choose a preset, font, colour and position, and render an MP4. That editor uses one style per video and needs Chrome or Edge 94+, Safari 16.4+ or Firefox 130+ on a computer to render. Burning subtitles into a video explains the trade-offs.
No subtitles yet?
The AI subtitle generator transcribes a video's audio into SRT and VTT in 100 languages for 1 credit (0.1¢) per minute, minimum 5 credits per file. Convert that SRT here when you want an ASS to style. To go back from a styled script to plain text, use ASS to SRT. The guide to subtitle file formats compares ASS with the other common formats.
More free tools
- ASS to SRT Converter
- SBV to SRT Converter
- TTML to SRT Converter
- SRT to TTML Converter
- SUB to SRT Converter for MicroDVD and SubViewer Files
- LRC to SRT Converter
- SRT to LRC Converter
- VTT to TXT: Turn WebVTT Captions into Plain Text
- TXT to SRT: Turn a Script into Timed Subtitles
- SRT to Word Converter
- SRT to Excel Converter
- Merge SRT Files (or Split One)
- Dual Subtitles Maker: Two Languages in One File
- Subtitle Frame Rate Converter: 23.976, 25, 29.97 and More
- Convert SRT to UTF-8: Fix Garbled Subtitle Characters
- Remove Hearing-Impaired Text from SRT Subtitles
Turn the file into text
Prefer one workspace for all mydubly tools? Open this tool in the dashboard · Browse every tool
Frequently asked questions
Can I pick the font and colour before converting?
Not in this tool: it writes one Default style in Arial, white with a black outline. Change it afterwards in Aegisub's Styles Manager or by editing the Style line in a text editor.
Why does the script set PlayResX 1920 and PlayResY 1080?
Font sizes and margins in ASS are measured on that canvas and scaled to the video. Without it, renderers assume 384×288, which throws sizes off.
Will YouTube accept the ASS file?
No. ASS isn't on YouTube's list of supported caption files. Upload the original SRT, or burn the subtitles into the video.
Are italics from my SRT kept in the ASS?
No. HTML-style tags are removed when the SRT is read. Add {\i1} before the words you want in italics, and {\i0} to switch it off.
Why are the times a few milliseconds different?
ASS stores hundredths of a second, so SRT milliseconds are rounded to the nearest hundredth. The change is at most 5 ms.
Can I convert a VTT file to ASS?
Yes. VTT files are read the same way as SRT; cue settings such as line and position are not carried over.