Subtitle Time Shifter
Shift subtitle timing with simple offset or two-point sync to fix audio/video desync issues. You can download sample srt file to test the tool before working with your own subtitles.
Updated
What is the Subtitle Time Shifter?
Fix subtitle timing issues with the Subtitle Time Shifter. Whether your subtitles start too early, run too late, or gradually drift out of sync over the course of a video, this tool helps you correct the timing without manual editing.
Drop in an .srt file or paste its contents, or use the "Load sample" button to try the tool with example subtitles. You can also download sample srt file to test locally. Then choose between two adjustment methods:
- Simple offset: Shift all subtitles by a fixed amount. Positive values delay subtitles; negative values move them earlier. For example, use a negative offset when subtitles appear late.
- Two-point sync: Fix both initial offset and gradual drift by specifying two reference points where you know the correct timing
Everything runs entirely in your browser — no file is ever uploaded to a server, so it's safe to use with confidential content or unreleased footage.
What you get:
- Real-time preview of original vs. shifted timestamps
- Automatic clamping to prevent negative timestamps or values beyond SRT format limits
- Support for speed scaling to fix gradual drift (not just fixed offset)
- Download the corrected
.srtfile with one click - Works with pasted text or dropped files, with no server uploads
How it works
Provide your subtitle file. Drop a
.srtfile onto the upload area, paste its raw contents directly into the text box, or click "Load sample" to try with example subtitles. You can also download sample srt file to test the tool locally. All methods are treated the same way.Parsing. The tool reads the file cue by cue, extracting the index number, the start and end timestamps (
HH:MM:SS,mmm), and the subtitle text. It validates the format and warns about any parsing issues.Choose adjustment method. Select between:
- Simple offset: Enter a fixed time shift (positive to delay subtitles, negative to move them earlier)
- Two-point sync: Provide two reference points with original and corrected times to compute both offset and speed scale
- Configure timing adjustment. For simple offset, set the direction and magnitude (hours, minutes, seconds, milliseconds). Optionally enable speed scaling to fix gradual drift. For two-point sync, enter the original and corrected timestamps for two points in the video.
A 100% speed scale leaves timing unchanged. Values below 100% compress the timeline; values above 100% stretch it.
Preview the changes. The tool shows a side-by-side comparison of original vs. shifted timestamps for the first few entries, along with statistics about the applied offset and scale.
Download the result. When satisfied with the preview, download the corrected
.srtfile. Timestamps that would become negative are clamped to zero, and values exceeding the SRT format maximum are capped.
All processing happens locally in your browser using JavaScript. Your subtitle file is never sent anywhere, so it's safe to use with confidential or unreleased content.
Examples
Delay subtitles by 2 seconds
Apply a +2s offset to move every cue 2 seconds later.
1
00:00:01,000 --> 00:00:04,000
Hello there.
2
00:00:05,500 --> 00:00:07,000
General Kenobi.1
00:00:03,000 --> 00:00:06,000
Hello there.
2
00:00:07,500 --> 00:00:09,000
General Kenobi.Fix gradually drifting subtitles
Use two-point sync to correct both initial offset and gradual drift over time
1
00:00:10,000 --> 00:00:12,000
First line
2
00:01:00,000 --> 00:01:02,000
Last lineOffset: +500ms, Scale: 105% - both initial timing and gradual drift correctedCompress subtitle timing
Apply a 66.67% time scale to compress cue timing to about two-thirds of its original duration.
1
00:00:01,000 --> 00:00:04,000
Hello there.1
00:00:00,667 --> 00:00:02,667
Hello there. (duration reduced from 3s to 2s)Frequently asked questions
What subtitle formats does this tool support?
What subtitle formats does this tool support?
It's built specifically for .srt (SubRip) files, the most widely used subtitle format. It reads standard HH:MM:SS,mmm --> HH:MM:SS,mmm timestamps and tolerates common variations like missing index numbers or Windows-style line endings.
Can I try the tool without a file?
Can I try the tool without a file?
Yes! Click the "Load sample" button to load example subtitles and test the tool's features. You can also download sample srt file to test locally with your own video player. This is a great way to explore the simple offset and two-point sync features before working with your actual subtitle files.
Does it support .vtt or other subtitle formats?
Does it support .vtt or other subtitle formats?
Not currently — the parser is tuned specifically for .srt syntax. WebVTT (.vtt) files use a different header and timestamp separator, so they may not parse correctly if pasted in directly. To inspect a WebVTT file, use the VTT Subtitle Viewer instead — it can export your cues as SRT, which you can then bring back here to fix the timing.
Is my subtitle file uploaded to a server?
Is my subtitle file uploaded to a server?
No. All processing happens entirely in your browser using JavaScript. The file contents never leave your device, which makes it safe to use with scripts, unreleased footage, or anything else under confidentiality.
What's the difference between simple offset and two-point sync?
What's the difference between simple offset and two-point sync?
Simple offset shifts all subtitles by the same amount (e.g., +2 seconds). Two-point sync is more advanced — it calculates both an offset and a speed scale to fix gradual drift where subtitles start correct but gradually get out of sync over time.
When should I use speed scaling?
When should I use speed scaling?
Use speed scaling when subtitles gradually drift out of sync. For example, if subtitles are correct at the beginning but are 5 seconds late by the end of a 2-hour video, speed scaling will compress or expand the timing to match the audio throughout.
What happens if my shift creates negative timestamps?
What happens if my shift creates negative timestamps?
The tool automatically clamps negative timestamps to zero (00:00:00,000) and shows a warning about how many timestamps were clamped. This prevents invalid SRT files that won't play in video players.
Can I undo a shift?
Can I undo a shift?
Currently, you can manually reset the offset controls to zero or re-upload the original file. The tool doesn't maintain an undo history, so it's best to keep a backup of your original subtitle file.
What's the maximum timestamp the SRT format supports?
What's the maximum timestamp the SRT format supports?
This tool limits exported timestamps to 99:59:59,999 and caps shifted values that exceed that limit, with a warning. SRT implementations can vary, so check compatibility with your target player.
Why does the two-point sync show an error?
Why does the two-point sync show an error?
Two-point sync requires that the two original timestamps be different (to calculate scale) and that the corrected timestamps don't reverse time (scale must be positive). If you see an error, check that your point A and point B are at different times in the video.
Related tools
More utilities you might find handy.
Audio Metadata Viewer - ID3 Tag & Audio File Info Reader
View ID3 tags, cover art and technical info from MP3, FLAC, M4A, WAV, OGG and Opus files instantly in your browser
Audio Trimmer
Trim and export a section of an audio file
Audio Waveform Generator
Generate a visual waveform from an audio file