---
title: "Subtitle Shifter"
description: "Shift every cue in an SRT or VTT file by one offset so the captions match the audio again. Positive delays them, negative advances them. The format stays the same and nothing is uploaded."
url: https://findutils.com/media/subtitle-shifter/
category: media
---

# Subtitle Shifter

Shift every cue in an SRT or VTT file by one offset so the captions match the audio again. Positive delays them, negative advances them. The format stays the same and nothing is uploaded.

**Use this tool:** [Subtitle Shifter](https://findutils.com/media/subtitle-shifter/)

## Programmatic access

- REST id `subtitle-shift`: POST https://api.findutils.com/api/tools/subtitle-shift/execute (reference: https://findutils.com/api/subtitle-shift/)
- MCP tool `subtitle_shift` on https://mcp.findutils.com (reference: https://findutils.com/mcp/subtitle-shift/)

## Why Use Our Subtitle Shifter?

Captions that are a second and a half early on every line are not a hundred small problems; they are one problem with a hundred symptoms. The file was cut from a different edit of the video, the encoder added a lead-in, the download came from a release with a different intro. Whatever the cause, the fix is the same number added to every timestamp. Doing that by hand in a text editor is an evening of arithmetic, and installing a subtitle editor for one number is more than the job deserves. This page takes the file and the number, shifts every cue, keeps the format, and gives you the file back.

## Frequently Asked Questions

### How do I work out the offset?

Pause the video at the moment a distinctive line is spoken and note the time. Find that line in the caption file and note its start time. The difference is the offset. If the caption's time is smaller than the video time, the captions are early: enter the difference as a positive number. If it is larger, they are late: enter it as a negative number. Check one more line near the end of the video to confirm the gap is constant.

### Which way do positive and negative go?

Positive delays the captions, so they appear later. Negative advances them, so they appear earlier. If a caption shows 1.5 seconds before the words are spoken, enter 1.5. If it shows 1.5 seconds after, enter -1.5.

### The captions drift: they are fine at the start and late by the end. Will this fix that?

No. A growing gap means the caption track and the video run at different speeds, usually because one was made for a 25 fps cut and the other for 23.976 fps. That needs every timestamp scaled, not shifted. This tool applies one fixed offset and says so, rather than stretching the track and pretending. Use a subtitle editor's speed or framerate adjustment for a drifting track.

### What happens if the offset pushes a cue before 00:00:00?

No format allows a negative timestamp. A cue whose start would go below zero is held at 00:00:00,000 and counted as clamped. A cue that would end at or before zero is removed and counted as dropped. Both counts appear under the output. If every cue would be dropped, the tool refuses the offset instead of producing an empty file.

### Does it keep WebVTT settings, identifiers and NOTE blocks?

Cue settings such as line:90% and align:start are kept, and so are cue identifiers when the file has them. NOTE, STYLE and REGION blocks are metadata rather than cues and are skipped, the same as the SRT to VTT converter does. If you need those blocks in the output, paste them back in; the cues themselves are unaffected.

### Is my caption file uploaded?

No. The parsing and the shifting happen in your browser. A caption file is a complete transcript, which is exactly the kind of thing that should not travel to a server for a one-number edit. Check the network panel while shifting and you will see no request carrying the file.

### Can I shift several files at once?

One file at a time on this page, so the preview always shows exactly what you are about to download. For a batch, the same shifter is available on the FindUtils API as the subtitle_shift tool, which takes the caption text and an offset in milliseconds and returns the shifted file.

### Does the tool renumber the cues?

SubRip cues are renumbered from 1 in the order they appear, because SRT requires sequential numbers and some files arrive with gaps. WebVTT identifiers are optional and are carried through exactly as they were, so a cue named intro stays intro.

### Does it change the caption text?

No. Only the two timestamps on each timing line change. Every line of caption text, including line breaks inside a cue and any inline markup, is copied through unchanged. The tool does not translate, reword, spell-check or merge cues.

### Can I shift an .ass or .ssa file?

Not directly; this page reads SubRip and WebVTT. Run a styled script through the ASS to SRT converter first, then shift the SRT here. If the styling has to survive, shift the script in Aegisub, which understands ASS timing.

## Related Tools

- [SRT to VTT](https://findutils.com/convert/srt-to-vtt/)
- [ASS to SRT](https://findutils.com/convert/ass-to-srt/)
- [Subtitle Extractor](https://findutils.com/media/subtitle-extractor/)
- [Video Trimmer](https://findutils.com/media/video-trimmer/)
- [Video Format Converter](https://findutils.com/media/video-format-converter/)
- [Extract Audio from Video](https://findutils.com/media/video-to-audio/)
