This ass to srt converter turns .ass and .ssa subtitle files into clean .srt entirely in your browser. Drop one file or a whole folder, and it reads the encoding, strips the styling tags, fixes the timestamps, and hands back a plain SubRip file you can drop into VLC, Plex, a smart TV, or any video editor. Nothing is uploaded — the conversion runs as local JavaScript on your own device, so it keeps working even after you go offline. It is free, needs no account, and adds no watermark to anything.
How to convert ASS to SRT
Using the ass to srt converter takes three steps:
- Add your files. Drag
.assor.ssafiles onto the drop zone, or click to browse. You can queue several at once. - Set the options if you need them. Leave Input encoding on Auto-detect for most files. Use the Chinese and line options only when they apply.
- Convert and download. Click Convert to SRT, then download each
.srtindividually or grab everything as a single ZIP.
Each output file keeps the original name with a .srt extension, and the status line tells you how many subtitle lines were written and which encoding was used to read the source. If anything looks wrong, you change one setting and re-run — there is no upload step to wait through.
What an ASS line looks like before and after
An ASS file stores each cue as a Dialogue: row inside the [Events] block, wrapped in styling override tags. The converter reads the Format: line to find the Start, End, and Text columns, then keeps the words and timing while discarding everything cosmetic. Here is a real dialogue line with positioning, italics, and a colour override:
Dialogue: 0,0:01:12.34,0:01:15.08,Default,,0,0,0,,{\an8\i1\c&HFFFFFF&}Hello\Nthere, world!
After conversion that single row becomes a standard SubRip cue — note the time format flips from centiseconds (.34) to milliseconds (,340), the \N becomes a real line break, and every {\...} tag is gone:
1 00:01:12,340 --> 00:01:15,080 Hello there, world!
The converter also resolves \n to a line break and \h to a normal space, drops the \p vector-drawing commands that signs and karaoke effects use, skips Comment: rows, then sorts every cue chronologically and renumbers it from 1. The result is a tidy, in-order SRT regardless of how the source was authored.
What is the difference between ASS and SRT subtitles?
ASS (Advanced SubStation Alpha, file extension .ass or the older .ssa) is a rich format built for fansubbing and karaoke: it carries fonts, colours, on-screen positioning, fades, and timed effects. SRT (SubRip) is deliberately plain — just a number, a start/end timestamp, and the line of text. The table below shows what each format holds and what survives the conversion to SRT.
| Feature | ASS / SSA | SRT | Kept on conversion? |
|---|---|---|---|
| Dialogue text | Yes | Yes | Yes |
| Start / end timing | Centiseconds | Milliseconds | Yes (converted) |
| Line breaks (\N, \n) | Yes | Yes | Yes |
| Fonts, colours, italics | Yes | No | No (stripped) |
| Positioning (\an, \pos) | Yes | No | No (stripped) |
| Karaoke timing, fades | Yes | No | No (stripped) |
| Vector drawings (\p) | Yes | No | No (dropped) |
That loss of styling is the point, not a bug. Most players, televisions, and platforms — VLC, Plex, set-top boxes, mobile players, and the subtitle import of editors like Premiere or DaVinci Resolve — handle SRT reliably but choke on or ignore ASS styling. Converting down to SRT trades effects you cannot display anyway for a file that simply works everywhere. The text and timing are preserved exactly, so it is lossless for the part that matters.
Fixing garbled or gibberish subtitle text (encoding)
If your subtitles show up as ????, boxes, or mojibake, the file is almost certainly saved in a non-UTF-8 encoding that your player guessed wrong. Subtitle files from different regions use different text encodings: GBK or GB18030 for Simplified Chinese, Big5 for Traditional Chinese, Shift-JIS or EUC-JP for Japanese, EUC-KR for Korean, and Windows-1251 for Cyrillic. The converter auto-detects the source encoding (it even trusts a byte-order mark when one is present) and always writes the output as clean UTF-8, which fixes the garbled-text problem for good.
Auto-detection is right the vast majority of the time, but it can slip on very short files where there is little text to analyse. When that happens, the output looks scrambled — so pick the correct encoding from the Input encoding dropdown and convert again. A wrong guess is never destructive; you just re-run with the right choice. The full list of supported source encodings:
| Language / region | Encodings you can select |
|---|---|
| Universal | UTF-8, UTF-16 LE |
| Chinese (Simplified) | GBK / GB2312, GB18030 |
| Chinese (Traditional) | Big5 |
| Japanese | Shift-JIS, EUC-JP |
| Korean | EUC-KR |
| Western European | Windows-1252, ISO-8859-1 (Latin-1) |
| Cyrillic | Windows-1251 |
Whatever you feed in, the SRT comes out as UTF-8 — the encoding every modern player understands — so once you have converted a file here, the gibberish does not come back.
Bilingual subtitles: keep only Chinese or only English
Anime and fansub releases often stack two languages in one cue — a Chinese line on top and an English line below, separated by a \N break. When you convert a file like that, the Lines per subtitle option decides what to keep:
- Keep all lines — the SRT stays bilingual, both languages stacked as they were.
- First line only — keeps the top line (usually the primary language, e.g. Chinese) and drops the rest.
- Last line only — keeps the bottom line (often the English subtitle) and removes the one above.
So to strip the English out of a Chinese-over-English file, choose First line only; to remove the Chinese and keep English, choose Last line only. It is the fastest way to pull a clean single-language SRT out of a bilingual source without editing every cue by hand.
Convert Chinese subtitles between Simplified and Traditional
Beyond the format change, the tool can rewrite Chinese subtitle text itself. The Chinese conversion dropdown converts between Simplified and Traditional in both directions, including the Taiwan and Hong Kong regional standards, using bundled OpenCC conversion data. The available directions are:
- Simplified → Traditional (general, Taiwan, Taiwan with idioms, or Hong Kong)
- Traditional → Simplified (from general, Taiwan, or Hong Kong Traditional)
Leave it on No conversion if your subtitles are not Chinese or you want the characters untouched. This pairs naturally with the bilingual option: keep only the Chinese line, then convert it from Simplified to Traditional for a Taiwan or Hong Kong audience in a single pass.
Batch convert multiple ASS files at once
Converting a whole season is the same workflow as a single file. Drag every .ass from a folder into the queue, set your options once, and click convert — each file is processed independently and gets its own status line, so a single malformed file does not stop the rest. When more than one file succeeds, a Download all as ZIP button appears and bundles every .srt into one archive, each keeping its original episode name. Because the whole batch runs on your own device, there is no per-file upload wait and no daily cap; very large batches just take a little longer on slower hardware. This is where a browser-based ass to srt converter really pays off — a folder of episodes becomes a folder of SRTs in one click.
Looking for other media utilities? Browse the full set on the tools index — including a video to audio extractor and a tool to remove audio from video, all running client-side like this one.
Where you need SRT instead of ASS
ASS is the right format while you are authoring fansubs or karaoke, but a lot of destinations only accept — or only behave well with — SRT, which is the usual reason to convert:
- Media servers and TVs. Plex, set-top boxes, and smart TVs display SRT reliably but render ASS styling inconsistently or ignore it, so a sidecar
.srtwith the same base name as the video just works. - Video editors. The subtitle/caption import in Premiere Pro, DaVinci Resolve, and similar tools expects SRT, not ASS.
- Upload platforms. YouTube, Vimeo, and most learning platforms take SRT (or its sibling VTT) for captions; they will not ingest an ASS file.
- Older and embedded players. Hardware players and budget devices frequently support only SRT.
In every one of those cases you are trading styling the destination cannot show anyway for a file it will actually load — which is exactly the conversion this tool performs.
Can VLC convert ASS to SRT?
Not directly. VLC plays ASS subtitles, but it has no menu that exports them to SRT — and that is the most common reason people look for a converter in the first place. Power-user alternatives exist: Subtitle Edit and Aegisub can open an ASS file and save it as SRT on the desktop, and FFmpeg does it from the command line with ffmpeg -i in.ass out.srt. Those are fine if you already have the software installed, but they require a download and, in FFmpeg’s case, the terminal. A browser-based ass to srt converter skips all of that: no install, no command line, works on a phone or a locked-down work machine, and never sends the file anywhere.
Privacy: nothing is uploaded
Every part of this tool runs locally in your browser. Your subtitle files are read, decoded, parsed, and rewritten as SRT on your own device — they are never transmitted to a server, stored, or seen by anyone but you. That has two practical benefits: privacy, because a private or pre-release fansub never leaves your machine; and reliability, because the converter keeps working even with no connection once the page has loaded. There is no signup, no email, no watermark, and no file-size or daily limit. Load it once, disconnect, and convert as many .ass and .ssa files as you like — the work happens entirely on your side of the wire.