Skip to content
All tools Pricing Blog

Chats & voice messages

Documents

Audio & video

Log in

Language

ASS subtitle translator

Translate ASS and SSA subtitles without breaking the typesetting

Upload one or more .ass or .ssa files, choose a language, and get the same files back with only the dialogue text translated. Styles, embedded fonts, positions and override tags such as {\pos} and {\fad} stay as they were, and karaoke lines are left alone unless you ask for them. The first part is free with no sign-up, and the whole job, an episode or a season of up to 30 files, is $5 as one payment. A chatbot can translate a few lines of ASS, but on a full episode it tends to stop partway and to drop, translate or move the tags inside the lines, and the script no longer renders the way it did.

Translate ASS subtitles

Output
Karaoke lines ({\k} tags)

No sign-up. Up to 150 subtitle lines free in full. Longer: first part free, every file in the job $5, one payment.

By continuing you agree to our Terms of Service and Privacy Policy.

  • Up to 150 lines free in full, first part of longer files free, no account needed
  • Whole job $5, one payment: an episode or a season of up to 30 files
  • Only Dialogue text changes: [Script Info], styles, embedded fonts and Comment lines stay as they are
  • Override tags never reach the model, so {\pos}, {\fad}, {\i1} and colors come back in place
  • Karaoke and drawing lines left untouched, or karaoke translated if you choose
  • 81 languages, translation only or bilingual, back as .ass or .ssa, SRT or VTT
Open the demo

See a sample PDF Sample output

What you get back

You get your files back in their own format, an .ass file as .ass and an .ssa file as .ssa, under the same name plus a language code, for example "[Group] Show - 01.es.ass". One file downloads as that file; several come as one ZIP. Before you download, every dialogue line is shown on screen with its time code and its tags, and you can edit any of them.

  • The same script: [Script Info], the style section, [Fonts], Comment lines and the order of events are copied from your file.
  • Layer, Style, Name, margins and Effect stay the same on every Dialogue line, and so do the start and end times. Only the Text field is translated.
  • Tags inside a line are put back where they were. If the translation leaves no place for one, that tag block is added at the end of the line instead of being lost.
  • \N line breaks and \h hard spaces kept. For Arabic, Persian, Hebrew and the other right-to-left targets, an invisible right-to-left mark after the leading tags and at the end of each line.
  • SRT or VTT instead, if your player needs it: italics, bold, underline and a position such as {\an8} carry over; tags like \pos and \fad have no equivalent there and are left out.

Translating ASS subtitles with a chatbot, and with this tool

ChatGPT, Claude and Gemini handle dialogue well, including anime dialogue with honorifics and slang. The difficulty with an .ass file is everything around the dialogue: style definitions, comma-separated fields, and override tags written in the middle of sentences.

Your situation A chatbot This tool
A few lines of dialogue copied out of the file Usually translates them well Translates them and writes them back into the script
A full episode, several hundred Dialogue lines Tends to stop partway or ask you to say "continue" Translates every line in blocks, up to 10,000 lines per job
Override tags such as {\pos(640,80)} or {\i1} in mid-sentence May translate, move or drop them Tags are swapped for placeholders before translation and put back afterwards
Styles, fonts and the [Script Info] header Has to retype the whole file, so details can change Copied from your file; only Dialogue text is touched
A karaoke opening with {\k} syllable timing Translates the syllables and the timing stops matching the song Leaves karaoke lines as they are unless you choose to translate them
A season of 12 or 24 episodes One file per chat, and you keep track of what is done Up to 30 files as one job, downloaded as one ZIP

How to translate an ASS subtitle file

  1. 1

    Upload your .ass or .ssa files

    Drop in one episode or a whole season, choose the language you want, and pick translation only or bilingual. Decide what happens to karaoke lines: keep them as they are, or translate them. The source language is recognized from the text.

  2. 2

    Check the first part free

    The first block of dialogue appears on screen with its time codes and tags. Read it and edit anything in place. No account is needed for this step.

  3. 3

    Unlock the rest and download

    Happy with the first part? Unlock the whole job for $5, then download the files as .ass or .ssa, or as SRT or VTT.

Why ASS files trip up general AI assistants

An ASS script is not a list of sentences. Each line of dialogue is an event such as "Dialogue: 0,0:03:12.40,0:03:15.02,Default,,0,0,0,,{\an8}Text", with ten comma-separated fields, and the text itself often contains braces full of rendering instructions: a position, a fade, a color, a font change halfway through a word. Above the events sit the script header, the style definitions and sometimes whole fonts embedded as text.

To translate that in a chat, an assistant has to write the entire file back out. On an episode it tends to stop before the end, and along the way it may translate words inside the braces, drop a tag it does not recognize, or shift a comma so a field moves. Any of these changes how the line renders, and some break it completely.

This tool never asks a model to rewrite the file. It reads the script, takes only the Text of each Dialogue line, and keeps the tags out of the model: blocks at the start and end of a line stay aside, and blocks in the middle become numbered placeholders that are put back after translation. The text goes out in blocks of up to 60 lines, each line must come back under its own number, a missing line is asked for once more, and if it is still missing the original stays in place. Everything else in the file is copied as it was.

What is translated and what is left alone

  • Translated: the text of every Dialogue line that has words, including signs and on-screen text typeset with \pos, \move or \frz
  • Left alone: [Script Info], styles, [Fonts] and [Graphics] sections, Comment lines, actor names and the Effect field
  • Left alone: drawing lines ({\p1} vector shapes) and lines with no words
  • Left alone by default: karaoke lines with {\k}, {\kf} or {\ko} syllable timing, usually romaji song lyrics. Choose "Translate them" and the \k tags are removed, the line is translated, and it keeps its start and end time
  • Bilingual option: the original line above the translation, in the same event, so both show with the same style and position

What people translate

  • Fansub releases of anime, into a language the group does not cover
  • A full cour of 12 or 24 episodes for friends or family who read another language
  • Donghua and drama scripts typeset in Aegisub
  • Their own subtitles for a video, shared in more languages with the styling kept
  • Bilingual scripts for learning Japanese, Chinese or Korean while watching

Limits and getting a good result

Typesetting is kept, but it was made for the original words. A sign fitted tightly into a box or masked with \clip can overflow when the translation is longer, and copies of the same sign stacked on several layers are translated line by line, so check signs in the first part and fix any you need in the editor. The fonts named in your styles stay too; if they have no letters for your target language, such as Arabic or Chinese, the player may fall back to another font or show empty boxes, so change the Fontname in the style section if that happens.

Karaoke is recognized by its {\k} tags. Effects already generated by a karaoke template, one syllable per line, are not recognized as karaoke; translate the script before applying the template, or remove those lines first. Image-based subtitles (.sup, .sub with .idx) and video files are not supported, and the timings are not changed: if the script is out of sync with your copy of the video, the translation will be too.

It is machine translation, well suited to watching and sharing. For a release under your group's name, have a translator or editor read it.

By language and situation

What it costs

Short jobs, first part

Free

Files with up to 150 dialogue lines in total are free in full, downloads included. Longer jobs: the first block is shown on screen, no account. 1 job a day, or 3 a day with a free account.

Whole job

$5

One payment for every file in the job: up to 30 files and 10,000 lines. No subscription, never expires.

Unlimited

$19 / week

Every tool on the site, with subtitle jobs of up to 30,000 lines.

Questions and answers

Can ChatGPT translate an ASS subtitle file?

A few lines, yes, and the dialogue is usually translated well. On a whole episode a chatbot tends to stop partway, and it may translate, move or drop override tags such as {\pos} or {\fad}, which changes how lines render. This tool sends only the dialogue text, keeps the tags out of the model, and writes the translation back into your own file.

Will my styles and typesetting survive?

Yes. Styles, fonts, [Script Info], Comment lines and every field of each Dialogue line except the text are copied from your file, and tags inside the text are put back where they were. A translated sign can be longer than the original, so check signs that were fitted tightly.

What happens to karaoke lines?

By default, lines with {\k} syllable timing are not translated, so the song lyrics stay in sync with their effects. If you choose to translate them, the \k tags are removed and each line is translated as a whole, keeping its start and end time.

Which languages can it translate into?

There are 81 target languages, the same list as the subtitle translator, including English, Spanish, Portuguese (Brazil), Portuguese (Portugal), French, German, Arabic, Persian, Indonesian, Vietnamese, Chinese (Simplified), Chinese (Traditional), Korean and Russian. The source language is recognized from the text.

Is it free?

The first part of every job, up to 60 lines, is translated free and shown on screen, with no account. The whole job, with the files to download, is $5 paid once. Jobs with up to 150 dialogue lines in total are free in full, downloads included.

Can I download SRT or VTT instead of ASS?

Yes. Italics, bold, underline and a position such as {\an8} carry over to SRT and VTT. Other tags, such as \pos, \fad and colors, cannot be expressed in those formats and are left out, and drawing lines are dropped.

Does it handle Arabic, Persian and Hebrew?

Yes. For Arabic, Persian, Dari, Pashto, Kurdish (Sorani), Urdu, Sindhi, Punjabi (Shahmukhi) and Hebrew, each translated line gets an invisible right-to-left mark after its leading tags and at its end, so punctuation shows at the correct side. The file is saved as UTF-8 with a byte order mark.

Which files can I upload?

Advanced SubStation Alpha (.ass) and SubStation Alpha (.ssa) files, up to 10 MB each and 30 files per job, including scripts with embedded fonts. For .srt or .vtt files, use the subtitle translator. Image-based subtitles and video files are not supported.

Are my files private?

Only you can open your job. The dialogue text is sent to an AI model provider for the sole purpose of translating it, through routes that do not use your data for training. Jobs uploaded without an account are deleted after 7 days, and you can delete any job yourself at any time.

Updated October 25, 2026 · APPFACT STUDIO LTD

More jobs we can do

WhatsApp chat to PDF, voice messages included Telegram chat to PDF, voice messages included Messenger chat to PDF, voice messages included Instagram DMs to PDF, voice messages included Email export (MBOX, EML) to one PDF Court bundle: merge, index and number evidence Handwriting & cursive to text Image & scanned PDF to text PDF & scanned tables to Excel Bank statement to Excel or CSV Translate a whole PDF Translate a whole subtitle file Convert subtitles between formats Fix subtitles that are out of sync Fix broken Persian and Arabic subtitles Dual language subtitles, two languages at once Translate a CSV or Excel file, every row Translate app localization files Translate a whole Word document Translate a PowerPoint, slide by slide Translate a whole EPUB book Translate a Markdown docs folder Finglish, Roman Urdu, Hinglish, Arabizi: change the script Scanned PDF to editable Word, any script Summarize a whole book, chapter by chapter Run one AI instruction on every row Analyze thousands of customer reviews Code open-ended survey answers Translate a whole product catalog Translate a game or visual novel Translate a large JSON, XML or YAML file Remove duplicates and clean a CSV Long audio & video to text Video file to translated subtitles Many recordings at once Lecture recording to study notes Meeting recording to minutes Podcast transcript and show notes Sermon to text, with translation Interview transcription with speakers Extract burned-in subtitles to SRT Sync your transcript to the audio Lyrics to synced LRC Text to audiobook MP3 All your voice memos in one document YouTube video to text, any length YouTube subtitles in any language Outlook PST, MSG or OLM to one PDF Medical records to a dated chronology Text messages to PDF, for court or a lawyer iMessage to PDF, the whole thread Slack export to a readable PDF Discord chat to PDF, as evidence Chat logs for a spouse visa, month by month

We use analytics cookies to see which pages help people. Is that OK?