Adjust subtitle sync.

Move subtitles forward or backward or correct slowly drifting sync. Check negative timing and overlap, then save as SRT or VTT.

Input

It can be executed directly using the provided example. Load the file below.

Positive numbers appear later, negative numbers earlier. Up to three decimal places.

Load and encode subtitle file

If the character breaks, select encoding and reload the file. Verify the content and check if it needs replacement. Do not send the file name or original text.

Handling negative times

If the end time is before 0 seconds or the period is removed, it will stop. Subtitles are not automatically deleted.

Run with Ctrl or ⌘ + Enter. The original text is not saved. Restarting returns to public examples.

Result

Enter subtitles and run.

      Saves as standard UTF-8 text. Does not preserve style, position, speaker metadata, or VTT annotations. Warns when overlapping sections occur while maintaining original order. Does not include original text or file name in sharing.

      Share result

      Share the tool link and result text together. No URL is included in the result. Check the below content and then share it.

      Calculation method and usage examples

      When +1.5 seconds are entered during overall movement, the 1~3 second range becomes 2.5~4.5 seconds. Negative values appear earlier. The offset based on start and end points is calculated as t′ = d₁ + (t − s₁) × (d₂ − d₁) ÷ (s₂ − s₁), changing all start and end times. If the original 1 seconds match the video 2 seconds and the original 10 seconds match the video 12 seconds, both points are exactly aligned and the intermediate time changes proportionally. Calculated using precise millisecond integers and exact integer ratios, and rounded at the end.

      Supported range and limitations

      Read SRT·VTT·SMI and output as SRT·VTT. File size: 2 MiB, text length: 1,000,000 characters, total for all languages: 10,000 units. One unit: 10,000 characters, time range: 99:59:59.999 supported. SMI last paragraph requires a blank SYNC end point of the same language class. ASS·image subtitles·video auto recognition·HLS X-TIMESTAMP-MAP·SMI continuous ID=Source is not supported.

      Auto-encoding only performs BOM or UTF-8 validation and does not guess the language. Supports reference amp·lt·gt·quot·apos·nbsp·lrm·rlm and numeric references. Does not continue conversion for unsupported tags or character references. Ruby pronunciation is replaced with brackets. Check the preview and warning before output and keep the original file.

      Frequently Asked Questions

      When does subtitle speed vary consistently fast or slow?

      Use total time movement. +2 seconds delays subtitles by 2 seconds, −2 seconds advances them by 2 seconds. Decimal seconds are entered up to 3 digits.

      The first part is correct, but what if it deviates as it progresses?

      Choose to adjust the reference point for the front and back. Enter two different original subtitles and the corresponding video frames. The back reference point must be later than the front, and the entire subtitle length is adjusted at the same linear ratio. Intermediate editing changes per segment cannot be automatically restored.

      Will negative times or overlapping subtitles be automatically removed?

      Do not delete. A negative start is a default error; you can set the start to 0 if desired. Stops when the end is 0 or the range disappears. Overlaps warn about the count and retain the original order.

      Calculation criteria and reference materials

      Verification of calculation criteria: · Calculation·verification principles · Report errors