Converters ASS ⇄ Text Converter

ASS ⇄ Text Converter

Turn an .ass subtitle file into a readable text transcript with timestamps, or rebuild a minimal ASS file from that same text format — works with files up to 200MB.

Or convert a file directly — supports files up to 200MB

Drag & drop a file here, or click to browse

Processed in the background, so the page stays responsive even for huge files

How to use this tool

With ASS → Text selected, paste or upload a .ass or .ssa file to get the dialogue as a timestamped transcript. Text → ASS goes the other way, from a transcript in the same bracketed format, or from plain paragraphs, to a new ASS file. For a script over 5 MB the work happens in the background, and anything up to 200 MB is accepted.

Worked example: a fansub script as text

Dialogue: 0,0:00:01.00,0:00:03.50,Default,Asha,0,0,0,,Where were you\Non the 14th?
Comment: 0,0:00:02.00,0:00:03.00,Default,,0,0,0,,check this line
Dialogue: 1,0:00:02.00,0:00:05.00,Sign,,0,0,0,,{\pos(320,50)}PHARMACY
Dialogue: 0,0:00:04.00,0:00:06.00,Default,Ravi,0,0,0,,{\k20}Ka{\k30}ra{\k25}o{\k40}ke
[00:00:01,000 --> 00:00:03,500]
Where were you
on the 14th?

[00:00:02,000 --> 00:00:05,000]
PHARMACY

[00:00:04,000 --> 00:00:06,000]
Karaoke

Only Dialogue lines are read, so the translator's Comment stays out. The karaoke syllable timings are stripped, leaving the plain word "Karaoke", and \N becomes a line break. The sign text is included as an ordinary block, which is what you want when checking a translation, but the speaker names in the Name column are not.

Text → ASS

The new file has one Default style and one Dialogue line per block. A block with two lines is joined with \N, and <i> becomes {\i1}, so <i>Hi</i> on one line and there on the next is written as {\i1}Hi{\i0}\Nthere. It won't bring back styles, positions or names from an earlier ASS file. To get a translated script with the original styling, edit the text inside the original .ass in Aegisub instead.

Frequently Asked Questions

Why aren't the blocks in time order?

They follow the order of the Dialogue lines in the file. Scripts that keep signs or songs in a separate group after the dialogue produce a transcript in that same order. Sort the lines by start time in Aegisub before exporting if you need a strictly chronological transcript; the timestamps themselves are always correct.

Can I keep the speaker names?

Not automatically, because the Name column isn't part of the text. If the transcript is for a reader who needs to know who is speaking, add the names at the start of each block, such as "Asha: Where were you". Converting back to ASS then keeps them as part of the line.

Are lines on every layer included?

Yes. Layer numbers are ignored, so dialogue on layer 0 and signs on layer 1 all appear in the transcript. When two events overlap in time, both blocks are kept with their own timestamps.

Related Tools

Related Blog Posts