Fix Variable Subtitle Sync Issues with Precision
Shift specific time ranges in your subtitle files with custom offsets for each section. Perfect for fixing multi-part movies, variable sync drift, or glued subtitle files where different sections need different timing adjustments. Supports SRT, ASS, SSA, SMI, and VTT formats with unlimited time ranges.
Quick Start Guide
- Upload subtitle file - Select your SRT, ASS, SSA, SMI, or VTT file with variable sync issues
- Define time ranges - Specify start/end times for each section (e.g., 00:00:00 to 00:54:30)
- Set offsets - Enter milliseconds to shift each range (+2000 = 2s delay, -2000 = 2s earlier)
- Download fixed file - Get perfectly synced subtitles with precision adjustments
When to Use the Partial Shifter
The partial shifter is designed for advanced subtitle timing problems that the standard shifter can't fix. Use this tool when:
Multi-Part Movies (CD1/CD2 Glued Together)
You've merged subtitles from two-part movies (Movie-CD1.srt + Movie-CD2.srt) using our subtitle merger. The first part is perfectly synced, but the second part (starting around minute 50-60) is off by several seconds. Use partial shifter to adjust only the second half.
Variable Framerate Videos
Some videos have variable framerate (VFR) where the framerate changes throughout the video. Subtitles might be perfectly synced at the beginning but gradually drift out of sync. Apply different offsets to different time ranges to compensate for framerate changes.
Edited or Cut Videos
You're using subtitles created for the original video on an edited version with scenes cut, intros added, or commercial breaks removed. Different sections need different timing adjustments based on where edits were made.
Progressive Sync Drift
Subtitles start in perfect sync but gradually drift further out of sync as the video progresses. This happens when subtitles were created for a video with slightly different total runtime. Apply progressively larger offsets to later time ranges to maintain sync.
How to Use the Partial Shifter
Step 1: Identify Problem Sections
Play your video with subtitles and note exactly where sync problems occur:
- Watch the beginning - Is the start perfectly synced? Note the timestamp where sync starts to drift.
- Find transition points - For multi-part movies, note where Part 2 begins (usually around 50-60 minutes).
- Measure the offset - At each problem section, note how many seconds early or late the subtitles appear.
- Document multiple ranges - If you have 3-4 sections with different sync issues, write down each range and its offset.
Step 2: Configure Time Ranges
In the tool, define each time range that needs adjustment:
- From time: Where this section begins (e.g., 00:00:00 for the start, or 00:54:30 for Part 2)
- To time: Where this section ends (e.g., 00:54:30 for Part 1 end, or 01:48:00 for movie end)
- Milliseconds: The offset to apply (positive = delay, negative = make earlier)
Step 3: Understanding Offsets
Offset values determine how much to shift subtitle timing:
- Positive values (+): Delays subtitles (makes them appear later). Use when subtitles appear too early.
- Negative values (-): Advances subtitles (makes them appear earlier). Use when subtitles appear too late.
- Milliseconds: 1000ms = 1 second. For 2.5 seconds, use 2500ms.
Common Use Cases with Examples
Example 1: Two-Part Movie (Most Common)
Problem: You glued "Movie-CD1.srt" and "Movie-CD2.srt" subtitles together. Part 1 (0:00 to 54:30) is perfect, but Part 2 (54:30 to 1:48:00) is 3 seconds early.
Solution:
- Range 1: From 00:00:00, To 00:54:30, Offset: 0ms (no change)
- Range 2: From 00:54:30, To 01:48:00, Offset: +3000ms (delay by 3 seconds)
This keeps Part 1 untouched and shifts Part 2 forward by 3 seconds to match the video perfectly.
Example 2: Progressive Drift
Problem: Subtitles start perfectly synced but gradually drift. At 30 minutes, they're 1 second early. At 60 minutes, 2 seconds early. At 90 minutes, 3 seconds early.
Solution:
- Range 1: From 00:00:00, To 00:30:00, Offset: 0ms
- Range 2: From 00:30:00, To 01:00:00, Offset: +1000ms
- Range 3: From 01:00:00, To 01:30:00, Offset: +2000ms
- Range 4: From 01:30:00, To 02:00:00, Offset: +3000ms
This compensates for the gradual drift by applying progressively larger delays.
Example 3: Edited Video with Intro/Outro
Problem: You added a 30-second intro to your video. Original subtitles start immediately but now need to be delayed 30 seconds to account for the intro.
Solution:
- Range 1: From 00:00:00, To 02:00:00, Offset: +30000ms (entire file delayed 30 seconds)
Note: For this simple case, the standard shifter is actually easier. Use partial shifter only if intro/outro affects different sections differently.
Example 4: Scene Cut in Middle
Problem: You cut a 5-minute scene from the middle of the video (from 25:00 to 30:00). Subtitles before the cut are fine, but after the cut they're 5 minutes late.
Solution:
- Range 1: From 00:00:00, To 00:25:00, Offset: 0ms
- Range 2: From 00:25:00, To 02:00:00, Offset: -300000ms (make 5 minutes earlier)
This compensates for the removed scene by pulling all subtitles after the cut 5 minutes earlier.
Tips for Perfect Partial Shifting
- Test in small sections first - Before processing your entire subtitle file, test your time ranges and offsets on a 5-10 minute sample to verify accuracy.
- Use VLC's time display - Play your video in VLC and watch the current time in the player. When you notice sync drift, note that exact timestamp as your "From" time for the next range.
- Start with 0ms offset for synced sections - If a section is already perfectly synced, include it with 0ms offset to ensure it stays unchanged.
- Ranges must not overlap - Each timestamp should fall within exactly one range. The tool processes ranges sequentially, so overlapping ranges may cause unexpected results.
- Work from beginning to end - Define your ranges chronologically (earliest to latest) to avoid confusion.
- Round to nearest second - Don't obsess over millisecond precision for time range boundaries. Using 00:54:30 instead of 00:54:29.850 is perfectly fine.
Calculating the Right Offset
Finding the correct offset requires careful observation:
Method 1: Visual Observation
- Play video with subtitles - Use VLC or any media player
- Find a clear sync reference - Look for a line where you can clearly see/hear when it should appear (e.g., "Hello" spoken by character)
- Count the difference - "1 Mississippi, 2 Mississippi..." Count how many seconds early or late the subtitle appears
- Convert to milliseconds - Multiply seconds by 1000 (2.5 seconds = 2500ms)
- Determine sign - If subtitle is early, use positive offset. If subtitle is late, use negative offset.
Method 2: Subtitle Editor Comparison
Open your subtitle file in a subtitle editor (like Subtitle Edit or Aegisub). Find a line that's out of sync and compare its timestamp to when it actually appears in the video. The difference is your offset.
Troubleshooting Common Issues
Issue 1: Still Out of Sync After Partial Shifting
Cause: Your time ranges or offsets are incorrect. You may have miscalculated the sync drift or defined the wrong time boundaries.
Solution: Re-watch the video carefully and double-check your measurements. Use VLC's frame-by-frame stepping (keyboard shortcut: E) to precisely identify when a subtitle should appear versus when it actually does. Recalculate offsets and try again with corrected values.
Issue 2: Subtitles Worse After Shifting
Cause: You may have used the wrong sign for your offset (positive instead of negative, or vice versa), or your ranges overlap causing double-shifting.
Solution: If subtitles that were 2 seconds early are now 4 seconds early, you used +2000ms when you should have used -2000ms (or vice versa). Flip the sign of your offsets. Also verify your time ranges don't overlap - each subtitle should only be affected by one range.
Issue 3: Some Subtitles Didn't Shift
Cause: You have gaps in your time ranges. Subtitles that fall outside all defined ranges remain unchanged.
Solution: Make sure your time ranges cover the entire subtitle file from 00:00:00 to the video's end time. Even if a section doesn't need adjustment, include it with 0ms offset to ensure it's processed. Check your last range's "To" time is after the last subtitle timestamp.
Movie Night Salvation
"I had a 2-part movie combined into one video file (Lord of the Rings Extended Edition). I glued CD1 and CD2 subtitles together using the merge tool. First half was perfect, but at minute 98 when Part 2 started, subtitles were suddenly 4 seconds early. Ruined the dramatic scenes."
Solution: Used the partial shifter. Range 1 (00:00:00 to 01:38:00): 0ms offset. Range 2 (01:38:00 to 03:28:00): +4000ms offset. Processed the file in 10 seconds. Watched the entire 3.5-hour extended edition with perfectly synced subtitles for the entire movie. The tool saved my movie night and now I use it for all my multi-part subtitle files.
Advanced Techniques
Fine-Tuning with Multiple Small Ranges
For videos with complex editing (multiple scene cuts, inserts, removals), you can define 5-10 small time ranges with precise offsets for each section. This allows surgical subtitle timing fixes without affecting other parts.
Compensating for Variable Framerate
If your video has VFR (variable framerate), calculate the drift rate: measure how much sync drifts over 30 minutes, then extrapolate for the full video. Apply graduated offsets every 15-30 minutes to maintain consistent sync throughout.
Combining with Other Tools
Workflow: Use the Merge tool to glue multi-part subtitles → Use Partial Shifter to fix Part 2 timing → Use Standard Shifter if the entire result needs a small global adjustment.
Related Tools
- Subtitle Shifter - Simple tool for shifting entire subtitle files by a constant offset
- Merge Subtitles - Combine CD1 and CD2 subtitle files before using partial shifter
- Convert to SRT - Convert subtitles to standard format before timing adjustments
- All Subtitle Tools - Browse our complete collection of subtitle editing tools
Frequently Asked Questions
What's the difference between the standard shifter and partial shifter?
The standard shifter moves ALL subtitles by the same amount (e.g., delay everything by 2 seconds). The partial shifter lets you move DIFFERENT SECTIONS by DIFFERENT AMOUNTS. Use standard shifter for simple constant offset. Use partial shifter for multi-part movies, variable sync, or section-specific problems.
How do I know what offset to use for each range?
Play your video with subtitles in VLC. When you notice a subtitle that's out of sync, pause and count how many seconds early or late it is. If it appears 3 seconds before the dialogue, use +3000ms. If it appears 3 seconds after the dialogue, use -3000ms. Do this for each section where sync changes.
Can I add more than 2-3 time ranges?
Yes! The tool supports unlimited time ranges. You can define 10, 20, or even 50 different ranges if needed for complex videos with many edits or variable sync issues. Each range can have its own independent offset.
My glued multi-part subtitles are still out of sync. Why?
After gluing CD1 and CD2 subtitles with the merge tool, the second part often needs timing adjustment because the glue offset may not perfectly match your video's actual split point. Use partial shifter to adjust only Part 2 (from the split timestamp to the end) with the appropriate offset. This is the most common use case for this tool.
What if I don't know where my time ranges should begin/end?
For multi-part movies, the split is usually around 50-60 minutes (CD1 typically holds 50-55 minutes). For edited videos, note the timestamps where you made cuts or insertions. For progressive drift, divide the video into 3-4 equal sections and measure sync at the start of each section. When in doubt, start with 2-3 large ranges covering the beginning, middle, and end, then refine if needed.