Welcome to babelsubs’s documentation!

Babelsubs is a Python library that helps you to convert from one subtitle format to another.


Via pip:

$ pip install -e git+https://github.com/pculture/babelsubs.git#egg=babelsubs


Once the library reaches a stable state, it will be published to PyPI.

Via distutils:

$ git clone git://github.com/pculture/babelsubs.git
$ cd babelsubs
$ python setup.py install


dxfp_data = """<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns:tts="http://www.w3.org/ns/ttml#styling" xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
            <ttm:title>Just a test file</ttm:title>
            <style tts:fontSize="12" tts:fontFamily="Verdana" tts:backgroundColor="black" xml:id="s1" tts:fontWeight="normal" tts:fontStyle="normal" tts:textAlign="center" tts:color="yellow"></style>
        <div style="s1" xml:id="d1">
            <p xml:id="p3" begin="00:00:39.667" end="00:00:40.300"> With end </p>

from babelsubs import load_from

print load_from(dxfp_data, type='dfxp').to("srt")

This will output:

00:00:00,039 --> 00:00:00,040
With end

Supported formats

  • dfxp
  • sbv
  • srt
  • ssa
  • ttml
  • txt
  • json
  • vtt