All Over Tools logo
Tool Combiner
Analyze Tools Clean Tools Compare Tools Convert Tools Data Validation Extract Tools Format Tools Generate Tools Organize Tools Transform Tools
Image Tools Video Tools Audio Tools Subtitle Tools Font Tools
Analyze Tools Clean Tools Compress Tools Convert Tools Edit Tools Extract Tools Generate Tools Merge Tools Organize Tools Redact Tools Repair Tools Split Tools
Analyze Tools Clean Tools Compare Tools Convert Tools Extract Tools Generate Tools Merge Tools Transform Tools Validate Tools
Business Calculators Construction Calculators Date And Time Calculators Education Calculators Financial Calculators Food Calculators Health Calculators Math Calculators Science Calculators Sports Calculators Statistics Calculators
Blog About Us Contact Us

Subtitle FPS Converter

Retime an SRT or WebVTT subtitle file when the source and target video frame rates differ. Pick the source and target FPS - including common fractional standards like 23.976 and 29.97 - and every cue's timestamp is rescaled by the exact ratio between them. Cue text and order are untouched. Everything runs locally in your browser.

Drop a subtitle file here

or

SRT or VTT - detected format: Not detected

Subtitle FPS Converter

Use this tool to retime an SRT or WebVTT subtitle file when the source and target video frame rates differ. Choose the two frame rates and add subtitles. Every cue's start and end timestamp is multiplied by source FPS / target FPS, correcting proportional drift instead of applying a fixed offset.

Why a Ratio Instead of a Fixed Offset

Use a fixed-offset shifter when every cue is early or late by the same amount. This tool handles proportional drift: it multiplies every timestamp by source FPS / target FPS. It does not add a fixed offset or read video frames.

How to Retime a Subtitle File

  1. Choose the source FPS: the frame rate the subtitle timestamps currently assume. The default is 23.976; presets include 24, 25, 29.97, 30, 48, 50, 59.94, and 60. Select Custom... and enter a positive value when needed.
  2. Choose the target FPS: the frame rate of the video you want the subtitles to match. The default is 25; use a preset or Custom... with a positive value.
  3. Add your subtitles: paste text into the box, use Drop a subtitle file here, or click browse files. The picker accepts .srt, .vtt, and .txt files.
  4. Once the subtitle input and both FPS values are valid, every cue is rescaled automatically by the source/target ratio.
  5. Review the preview: each cue's original and retimed timestamps are shown side by side, with overlap flags when applicable.
  6. Click Download: export the retimed file as retimed.srt or retimed.vtt.
  7. Click Clear: clear the subtitle input, hide the result workspace, clear errors, and reset the displayed format label to SRT. The FPS selections are not reset.

Format Detection and Input Requirements

Files ending in .srt are treated as SRT, and files ending in .vtt are treated as WebVTT. Other uploaded files are detected as WebVTT only when their content begins with a valid WEBVTT header; otherwise they are treated as SRT. Pasted text beginning with WEBVTT is treated as WebVTT, and other pasted text defaults to SRT.

SRT timestamps must use HH:MM:SS,mmm. WebVTT requires a WEBVTT header and HH:MM:SS.mmm-style timestamps. The parser reports errors for malformed timing lines, empty input, missing cue text, or an end time before the start.

What the Export Preserves

  • Cue order and text - cues stay in order and their text lines are copied unchanged.
  • Cue count - no cues are added, removed, split, or merged.
  • SRT indexes - output indexes are regenerated sequentially; original SRT identifiers are not preserved.
  • WebVTT identifiers and settings - cue identifiers and settings are retained, while timing lines are rebuilt and relevant whitespace is normalized.
  • WebVTT blocks - NOTE, STYLE, and REGION blocks are skipped and not exported.
  • Timestamps - exported values are rounded to the nearest millisecond.

Preview Flags and Limitations

The preview shows original and retimed timestamps for each cue. An individual row can be flagged when its retimed cue overlaps the previous or next cue. The issue summary counts cues that overlap the next cue. The current parser accepts only non-negative timestamp syntax and positive FPS values, so negative retimed timestamps cannot be produced through this interface.

Timestamp components are matched by syntax, but minute and second ranges are not explicitly validated. Source cue ordering is not rejected; overlaps are surfaced in the preview instead.

There is no documented maximum input size or unlimited-use guarantee. When an uploaded file is over 300,000 characters, only the textarea preview is truncated; the full uploaded content is still processed. Errors stop the conversion and no result is produced.

Privacy & Security

File reading, parsing, retiming, preview generation, and download occur client-side in your browser. The implementation does not upload the subtitle content as part of this workflow.

Frequently Asked Questions

How is this different from a subtitle timestamp shifter?

A timestamp shifter adds one fixed offset (or a fixed drift) to every cue - useful when subtitles are simply out of sync by a constant amount. This tool instead multiplies every timestamp by a ratio (source FPS / target FPS), which is the correct fix when a subtitle file was authored against one frame rate and the video now plays at a different one, so the mismatch grows or shrinks proportionally across the timeline rather than staying constant.

What ratio does this tool apply?

Every timestamp is multiplied by source FPS / target FPS. For example, converting from 23.976 fps to 25 fps multiplies every timestamp by 23.976/25, or about 0.959. Exported timestamps are rounded to the nearest millisecond.

Does this tool merge subtitles or edit video frames?

No. It only rescales each cue's existing start and end time. Cue text, cue order, and cue count remain unchanged. SRT indexes are regenerated sequentially; WebVTT identifiers and cue settings are preserved. No video or frame data is read or modified.

What does the overlap flag mean?

It means a cue ends after the next cue starts in the retimed timings. Review the source file or FPS choices before downloading. The parser accepts only non-negative timestamp syntax, so this interface cannot produce negative retimed timestamps.

Which SRT and WebVTT elements are preserved?

Cue text, cue order, and cue count are preserved. SRT indexes are regenerated sequentially. WebVTT cue identifiers and cue settings are preserved, but NOTE, STYLE, and REGION blocks are skipped and not exported.

What input formats and timestamp syntax are accepted?

SRT uses HH:MM:SS,mmm timestamps. WebVTT must start with a WEBVTT header and uses HH:MM:SS.mmm-style timestamps, with hours optional. Empty input, malformed cues, missing text, and an end time before the start produce errors.

Does this tool upload my subtitle file anywhere?

No. Parsing, retiming, and the preview all happen locally in your browser. Your subtitle file never leaves your device.

Related Tools

2 views