A simple, user-friendly desktop application for shifting and synchronizing SRT subtitle files. Perfect for fixing subtitle timing issues in movies and TV shows.
- 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
The application provides a two-panel interface:
- Left Panel: Time shift controls and file management
- Right Panel: Scrollable subtitle preview with your changes
- Python 3.6 or higher
- tkinter (usually included with Python)
-
Clone the repository
git clone https://github.com/yourusername/SubtitleSync.git cd SubtitleSync -
Verify Python installation
python3 --version
-
Run the application
python3 subtitle_sync.py
That's it! No additional dependencies needed.
-
Load a subtitle file
- Click "Browse" and select your
.srtfile - The subtitle content will appear in the preview panel
- Click "Browse" and select your
-
Set the time shift
- Choose direction:
+(Forward) or-(Backward) - Enter hours, minutes, seconds, and milliseconds
- Default is 2 seconds forward
- Choose direction:
-
Preview the changes
- Click "Apply Shift" to see the shifted subtitles
- Review the timestamps in the preview panel
-
Save the file
- If the preview looks good, click "Save File"
- Choose where to save your corrected subtitle file
If you know exactly when a specific subtitle should appear:
-
Select a subtitle line
- In the preview panel, click and drag to select a subtitle entry (including its timestamp)
-
Click "Sync Selected Line"
- A dialog will show the current timestamp
-
Enter the desired timestamp
- Type when this subtitle should actually appear
- Format:
HH:MM:SS,mmm(e.g.,00:05:23,500)
-
Apply and preview
- The app calculates the required shift automatically
- Click "Apply Shift" to preview
- Click "Save File" when ready
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
- 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.srtto preserve your original
- 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
- Solution: Install tkinter
- Issue: "Could not load file"
- Solution: Ensure your file is a valid
.srtfile with proper encoding (UTF-8)
- Solution: Ensure your file is a valid
Contributions are welcome! Feel free to:
- Report bugs
- Suggest new features
- Submit pull requests
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with details about your problem
Built with Python and Tkinter for maximum compatibility and ease of use.
Made with ❤️ for subtitle enthusiasts everywhere