Skip to content

A simple desktop app for shifting and synchronizing SRT subtitle files with precision timing controls

License

Notifications You must be signed in to change notification settings

DevStrategist/SubtitleSync

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SubtitleSync

A simple, user-friendly desktop application for shifting and synchronizing SRT subtitle files. Perfect for fixing subtitle timing issues in movies and TV shows.

Python Version License

Features

  • Easy Time Shifting: Adjust subtitle timing forward or backward with precision down to milliseconds
  • Visual Preview: See your changes in real-time before saving
  • Smart Sync: Select any subtitle line and specify when it should appear - the app calculates the shift automatically
  • Intuitive GUI: Clean, simple interface built with Tkinter
  • Safe Editing: Preview changes before saving to ensure accuracy

Screenshots

The application provides a two-panel interface:

  • Left Panel: Time shift controls and file management
  • Right Panel: Scrollable subtitle preview with your changes

Installation

Prerequisites

  • Python 3.6 or higher
  • tkinter (usually included with Python)

Steps

  1. Clone the repository

    git clone https://github.com/yourusername/SubtitleSync.git
    cd SubtitleSync
  2. Verify Python installation

    python3 --version
  3. Run the application

    python3 subtitle_sync.py

That's it! No additional dependencies needed.

Usage

Basic Time Shift

  1. Load a subtitle file

    • Click "Browse" and select your .srt file
    • The subtitle content will appear in the preview panel
  2. Set the time shift

    • Choose direction: + (Forward) or - (Backward)
    • Enter hours, minutes, seconds, and milliseconds
    • Default is 2 seconds forward
  3. Preview the changes

    • Click "Apply Shift" to see the shifted subtitles
    • Review the timestamps in the preview panel
  4. Save the file

    • If the preview looks good, click "Save File"
    • Choose where to save your corrected subtitle file

Smart Sync (Automatic Calculation)

If you know exactly when a specific subtitle should appear:

  1. Select a subtitle line

    • In the preview panel, click and drag to select a subtitle entry (including its timestamp)
  2. Click "Sync Selected Line"

    • A dialog will show the current timestamp
  3. Enter the desired timestamp

    • Type when this subtitle should actually appear
    • Format: HH:MM:SS,mmm (e.g., 00:05:23,500)
  4. Apply and preview

    • The app calculates the required shift automatically
    • Click "Apply Shift" to preview
    • Click "Save File" when ready

File Format

SubtitleSync works with standard SRT (SubRip) subtitle files. Example format:

1
00:00:01,000 --> 00:00:03,000
This is the first subtitle

2
00:00:04,500 --> 00:00:06,800
This is the second subtitle

Tips

  • Start with one line: Use the Smart Sync feature to align one subtitle perfectly, then apply the shift to the entire file
  • Preview before saving: Always review the shifted timestamps in the preview panel
  • Keep original files: The app suggests saving as _shifted.srt to preserve your original

Troubleshooting

Application won't start

  • Issue: "No module named 'tkinter'"
    • Solution: Install tkinter
      # Ubuntu/Debian
      sudo apt-get install python3-tk
      
      # macOS (usually pre-installed)
      # If needed, reinstall Python from python.org
      
      # Windows (usually included)
      # Reinstall Python with tkinter option checked

File won't load

  • Issue: "Could not load file"
    • Solution: Ensure your file is a valid .srt file with proper encoding (UTF-8)

Contributing

Contributions are welcome! Feel free to:

  • Report bugs
  • Suggest new features
  • Submit pull requests

License

This project is licensed under the MIT License - see the LICENSE file for details.

Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with details about your problem

Acknowledgments

Built with Python and Tkinter for maximum compatibility and ease of use.


Made with ❤️ for subtitle enthusiasts everywhere

About

A simple desktop app for shifting and synchronizing SRT subtitle files with precision timing controls

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages