How to Convert ASS to SRT

How to Convert ASS to SRT - Featured Image

SRT is the industry standard when it comes to subtitling and is widely compatible with all video editing tools. This compatibility is the reason why formats like ASS, SUP, and VTT are often converted into SRT.

Meanwhile, ASS is a highly niche-specific subtitling format that focuses on styling and formatting and is mainly used for animes.

So, if you have a subtitle file in ASS, you might want to convert it into SRT for compatibility. The conversion will take away the styling aspect of the format, but it makes it easy and convenient to edit, upload, and burn subtitles into your videos.

Here is a simple and easy-to-follow guide to iron out any issue on how to convert ASS subtitle files into an SRT format.

What is ASS to SRT Conversion?

ASS to SRT conversion involves transforming Advanced SubStation Alpha (.ass) subtitle files into the more widely supported SubRip (.srt) format. This process ensures your subtitles can be used across various devices and media players, increasing accessibility for your audience.

Here is an example of the ASS subtitle format for the first few lines of Shrek 1.

Sample ASS subtitle file

Why Convert ASS to SRT?

While ASS files offer advanced styling and positioning options, they have limitations that make converting to SRT a smart choice:

  • Compatibility: SRT files are widely supported across various media players, devices, and platforms. Converting ASS to SRT ensures your subtitles can be played on a broader range of systems. To this day, VLC Media Player, the most used media player on Windows and MacOS, cannot natively support ASS subtitles without switching to OpenGL.
  • Simplicity: SRT files have a straightforward, plain text format that is easy to read and edit. This simplicity makes it easier to manage and modify your subtitles without dealing with complex formatting tags.
  • Streamlined Workflow: Converting ASS to SRT can help streamline your subtitle workflow, especially if you’re working with multiple platforms or collaborating with others. SRT files are more universally recognized and easier to share.
  • Reduced File Size: SRT files are typically smaller in size compared to ASS files, as they don’t contain extensive styling information. This can be beneficial when distributing subtitles online or embedding them in videos.

While ASS files have their place in certain situations, converting to SRT is often the best choice for ensuring maximum compatibility, simplicity, and efficiency in your subtitle workflow.

How to Convert ASS to SRT

Converting ASS to SRT is a straightforward process that can be accomplished in just a few steps. By following these steps, you can easily transform your ASS subtitle files into the more widely compatible SRT format.

How to Convert ASS to SRT - Supporting Image

Choose a Suitable Method to Convert ASS to SRT

There are three main ways to convert ASS to SRT.

Use Online Converters

There are tons of online converters available that can convert ASS to SRT. However, their security is subpar at best, and those websites are loaded with ads. Due to the fact that these sites are often compromised, we will not be listing the steps for this process.

We highly suggest avoiding these freemium websites, especially if you’re subtitling unreleased content. 

Use Subtitle Edit

Subtitle Edit is a free, open-source editing environment specifically designed for subtitles.

With Subtitle Edit, you can resync subs, create new subtitles, and for our use case, change subtitle formats.

Use Python

The safest way to convert ASS to SRT is through a custom Python script. While this feature does require some technical prowess and familiarity with Python, it’s the most secure and fastest way to convert subtitle files to another format.

Conversion Using Subtitle Edit

  • Download Subtitle Edit from its official website or from its GitHub page.
  • Launch Subtitle Edit.
  • Go to File > Open and select your ASS file. Once open, the environment will look like this.
Screenshot of the Subtitle Edit main screen
  • Once the file is loaded, go to File > Save As.
  • In the “Save as type” dropdown, select SubRip (*.srt).
  • Click Save.

Conversion Using Python

Step 1: Install Python

  • Go to the official Python website: https://www.python.org/
  • Click on the “Downloads” section and download the latest version of Python for your operating system (Windows, macOS, or Linux).
  • Run the downloaded installer.
  • During the installation process, make sure to check the box that says “Add Python to PATH”.
  • Follow the installation instructions and complete the setup.

Step 2: Prepare the Python Script

  • Open a text editor (like Notepad, VS Code, or any other code editor).
  • Copy the provided Python script into the editor.
import re

def ass_to_srt(ass_filename, srt_filename):

    def ass_time_to_srt_time(ass_time):

        h, m, s = ass_time.split(':')

        s, cs = s.split('.')

        ms = str(int(cs) * 10).zfill(3)  # Convert centiseconds to milliseconds

        return f"{h.zfill(2)}:{m.zfill(2)}:{s.zfill(2)},{ms}"

    with open(ass_filename, 'r', encoding='utf-8') as ass_file:

        lines = ass_file.readlines()

    dialogue_lines = [line for line in lines if line.startswith('Dialogue:')]

    srt_lines = []

    index = 1

    for line in dialogue_lines:

        parts = line.split(',', 9)

        start_time = ass_time_to_srt_time(parts[1].strip())

        end_time = ass_time_to_srt_time(parts[2].strip())

        text = parts[9].strip().replace('\\N', '\n').replace('\\n', '\n')

        text = re.sub(r'{.*?}', '', text)  # Remove ASS style tags

        srt_lines.append(f"{index}")

        srt_lines.append(f"{start_time} --> {end_time}")

        srt_lines.append(text)

        srt_lines.append("")

        index += 1

    with open(srt_filename, 'w', encoding='utf-8') as srt_file:

        srt_file.write("\n".join(srt_lines))

# Usage example

ass_to_srt('example.ass', 'example.srt')
  • Save the file with a .py extension, e.g., convert_ass_to_srt.py.
Screenshot of the Python code

Step 3: Run the Python Script

Before running the script, place the ASS file in the same destination as the Python script, and in the last line of the code, change ‘example.ass’ to the actual name of your ASS file. Otherwise, your code will throw an error, as seen below.

Python console running the file

If you want to modify the name of the generated .SRT file, you can do so by changing the ‘example.srt’ text in the same line. Otherwise, leaving it as is will generate the final file with the name ‘example.srt’.

  • Open Command Prompt or Terminal:
  • Windows: Press Win + R, type cmd, and press Enter.
  • macOS/Linux: Open the Terminal application.

Use the cd command to navigate to the directory where you saved the Python script. For example:

cd path/to/your/script
  • Replace path/to/your/script with the actual path to the directory.

Step 4: Run the Script

  • Ensure you have your .ass file in the same directory or provide the full path to it.
  • Run the script using the Python interpreter:
python convert_ass_to_srt.py
  • The script will convert example.ass to example.srt and save it in the same directory.

Step 4: Verify the Output

  • Check the Output File:
  • Locate the example.srt file in the directory.
  • Open it with a text editor to verify that the conversion has been done correctly.
Side by side comparison of SRT and ASS files

ASS vs. SRT: Which Format to Choose?

Choosing between ASS and SRT formats depends on your specific needs and the context in which you’ll use the subtitles.

  • ASS Offers More Features: If you need advanced styling and positioning, ASS is the way to go. It’s ideal for projects where the visual component of subtitles adds to the viewer’s experience.
  • SRT for Broader Compatibility: If your priority is compatibility across various platforms and simplicity, SRT is the preferred choice. It’s widely supported and easy to edit.

Understanding the strengths and limitations of each format allows you to make an informed decision based on your project requirements.

Closing Thoughts

Converting ASS to SRT is an essential process for anyone looking to improve the accessibility and professionalism of their video content. Subtitles are crucial for reaching a broader audience, including those who are deaf or hard of hearing, and for making your content more engaging and comprehensible. 

For those seeking a reliable subtitling tool, Sonix stands out as a top choice. With its ability to transcribe with 99% accuracy in over 39 languages, Sonix ensures that your subtitles are both precise and versatile, enhancing the overall quality of your videos. 

Try Sonix’s free trial today and get 30-minutes of free transcription. No credit card required.

How to Convert ASS to SRT: Frequently Asked Questions

Can I convert ASS to other formats like VTT?

Yes, converting ASS to various formats, including VTT, is possible with the right tools, accommodating a range of project needs.

Is ASS to SRT conversion free?

While many online tools offer free conversions with limitations, investing in a paid option provides access to advanced features and supports larger-scale projects.

How long does the conversion process take?

Conversion times vary based on file size and complexity, but most tools aim to complete the process within minutes, offering quick turnaround times.

Accurate, automated transcription

Sonix uses the latest AI to produce automated transcripts in minutes.
Transcribe audio and video files in 35+ languages.

Try Sonix Today For Free

Includes 30 minutes of free transcription

en_USEnglish