Free tool · Frame-rate rescaler

Fix subtitle drift
from frame-rate mismatch.

Subtitles drifting further off the longer the video plays? Rescale between 23.976, 24, 25, 29.97, 30, and 60 fps in one click.

Source fps
Target fps
Scale ratio0.959040×
Input · SRT, VTT, or ASS
Rescaled output
Ratio = source ÷ target. 23.976 → 25 produces a 0.95904× scale — the subtitles play faster to match a faster timebase.
Skip the frame-rate roulette.
SoCaptions transcribes from your actual video file — timing always matches.
Try it free
REC · 0:12
Transcribed
in 12 seconds

Add subtitles to your video for just $3/month.

100 minutes of AI transcription, viral caption styles, burned-in MP4 export. No watermark. Cancel any time.

5 minutes free · No credit card · Cancel any time

Frequently asked

How do I know I have a frame-rate mismatch?+

If your subtitles drift further off as the video plays — they're fine at the start but minutes off by the end — that's a frame-rate mismatch. A constant offset (using a shifter) will not fix it; you need to rescale.

What's the difference between 23.976 and 24?+

23.976 fps (technically 24000/1001) is the NTSC film standard, used by most US Blu-rays and streaming. 24 fps is the cinema standard. They differ by 0.1% — small per second, but minutes drift across a feature.

Which way should I rescale?+

Set Source fps to the rate the subtitles were timed at, and Target fps to your video's actual rate. If you don't know the source, try common pairs: 23.976 ↔ 25 (PAL/NTSC), 24 ↔ 25, 29.97 ↔ 25.

How can I check my video's frame rate?+

On macOS, open the file in QuickTime → Window → Show Movie Inspector. On Windows, right-click → Properties → Details. ffprobe and MediaInfo also show fps.

Will it round timestamps?+

Output is preserved to millisecond precision (SRT) or millisecond precision (VTT). The rescale itself uses full floating-point math — no extra rounding error beyond the format's native granularity.