Skip to main content

Remove advertisements from subtitle files

Project description



PyPI version codecov docker

Subscleaner is a Python script that removes advertisements from subtitle files. It's designed to help you enjoy your favorite shows and movies without the distraction of unwanted ads in the subtitles.


  • Removes a predefined list of advertisement patterns from subtitle files.
  • Supports various subtitle formats through the pysrt library.
  • Automatically detects the encoding of subtitle files using chardet.
  • Available as a Docker image for easy deployment and usage.


Automatic installation

To install with pip:

sudo pip install subscleaner

Manual installation

To install Subscleaner, you'll need Python 3.9 or higher. It's recommended to use Poetry for managing the project dependencies.

  1. Clone the repository:
git clone
  1. Navigate to the project directory:
cd subscleaner
  1. Install the dependencies with Poetry:
poetry install


Subscleaner is also available as a Docker image. You can pull the image from Docker Hub:

docker pull rogsme/subscleaner


If you installed the package automatically, you can pipe a list of subtitle filenames into the script:

find /your/media/location -name "*.srt" | subscleaner

If you installed the package manually:

find /your/media/location -name "*.srt" | poetry run subscleaner

Alternatively, you can use the script directly if you've installed the dependencies globally:

find /your/media/location -name "*.srt" | python3


To use the Docker image, you can run the container with the following command:

docker run -e CRON="0 0 * * *" -v /your/media/location:/files rogsme/subscleaner
  • Replace 0 0 * * * with your desired cron schedule for running the script.
  • Replace /your/media/location with the path to your media directory containing the subtitle files.

The Docker container will run the Subscleaner script according to the specified cron schedule and process the subtitle files in the mounted media directory.

If you are using YAMS

YAMS is a highly opinionated media server. You can know more about it here:

Add this container to your docker-compose.custom.yaml:

    image: rogsme/subscleaner
      - CRON=0 0 * * *
      - ${MEDIA_DIRECTORY}:/files

To get more information on how to add your own containers in YAMS:


Contributions are welcome! If you have any suggestions or improvements, feel free to fork the repository and submit a pull request.


Subscleaner is licensed under the GNU General Public License v3.0 or later. See the LICENSE file for more details.


This repository is a rewrite of this Github repository:

Thanks to FraMecca in Github!

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

subscleaner-1.1.1.tar.gz (16.2 kB view hashes)

Uploaded Source

Built Distribution

subscleaner-1.1.1-py3-none-any.whl (16.8 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page