Productivity and Utilities

SRT Subtitle Converter and Time Shifter

Fix subtitle timing and convert SRT files without uploading them.

Paste SRT text or choose a file below. Up to 3,000,000 characters. Nothing is uploaded.

Your files stay on your device. They are processed in your browser and are never uploaded to SumPanda.

Use 2.5 to show subtitles later and -1.25 to show them earlier. 00:00:02,500 also works.

Times are multiplied by this before the shift. For 23.976 to 25 frames per second use 0.95904, which is 23.976 / 25. Leave 1 for none.

The file is read as text and rewritten with numbered cues in order. Styling tags are kept in SRT and WebVTT and removed in plain text. Check the first and last subtitles against the video after a shift or a speed change, since drift does not always stay constant. If the file looks garbled, it may use a text encoding other than UTF-8, which this tool cannot detect.

Next step

How to use the srt subtitle converter and time shifter

  1. Paste SRT text or choose an .srt file. A problem is reported with its line number.
  2. To fix timing, enter a shift in seconds (positive for later, negative for earlier) and, if the pace is wrong, a speed factor.
  3. Choose what happens to subtitles that would start before zero, and the format to save: SRT, WebVTT or plain text.
  4. Check the notes under the status line, then copy or download the result.

How the timing changes

Each time is multiplied by the speed factor first, then the shift is added, and the result is rounded to the nearest millisecond. A shift of 2.5 moves every subtitle 2.5 seconds later. A factor is useful when the video was converted between frame rates, for example 23.976 to 25 frames per second, where the factor is 23.976 divided by 25, which is 0.95904.

If a shift moves a subtitle before 00:00:00,000, you choose between setting it to zero or removing it, and the tool tells you how many were affected. It never changes them silently. Times beyond 999 hours are refused.

Reading and writing formats

SRT files have a number, a line with the start and end time separated by an arrow, and the text, with a blank line between subtitles. This tool also accepts files without numbers, a dot instead of a comma before the milliseconds, Windows line endings and a byte order mark. The three digit millisecond part is required.

WebVTT output starts with a WEBVTT line and uses dots in times, and plain text output keeps only the words, removing styling tags. Output SRT is renumbered from 1. A file that starts with WEBVTT is turned away with a message, since it is a different format. See the text line tools for cleaning text and the time calculator for working out offsets, or the diff checker to compare two versions.

Checks and limits

The tool warns about subtitles that end before they start and about overlaps, but it does not change them. Files up to 3,000,000 characters and 50,000 subtitles are accepted. The text must be readable as UTF-8, and a file saved in another encoding may show odd characters. Everything is processed in your browser and no file is uploaded.

Assumptions and limits

  • Times are whole milliseconds and the three digit millisecond format is required.
  • Speed is applied before the shift.
  • Styling tags are kept in SRT and WebVTT and removed in plain text.
  • Other encodings than UTF-8 are not detected.

Formulas reviewed October 10, 2026. See the calculation methodology for how SumPanda rounds, tests and sources its formulas.

Frequently asked questions

How do I shift subtitles by a few seconds?

Enter the number of seconds in the shift box. Use a positive number to show subtitles later and a negative one to show them earlier.

How do I convert SRT to VTT?

Choose WebVTT in the Save as box. The tool writes the header and changes the commas in times to dots.

What if a shift moves a subtitle before zero?

You can set it to start at zero or remove it. The tool reports how many were changed.

What is the speed factor for?

It stretches or squeezes all times, which fixes subtitles that drift out of step because the video has a different frame rate.

Is the file uploaded?

No. Reading and converting happen in your browser.