Skip to content
MySafeToolbox

Subtitle Converter

Convert SRT to WebVTT and VTT to SRT, shift timings, fix frame rates and overlaps, and spot broken cues. Free, instant and private — nothing is uploaded.

  • No upload — 100% private
  • Instant, on your device
  • Free, no sign-up
  • Works offline once loaded

How it works

How to use Subtitle Converter

  1. Paste subtitles or open a .srt or .vtt file — the input format is detected automatically.

  2. Choose the output format: SRT or WebVTT.

  3. Optionally shift every timing (for example -1500 ms), convert the frame rate, renumber cues or fix overlaps.

  4. Check the cue list for warnings, then copy the result or download the new subtitle file.

Why use it

Why use our Subtitle Converter tool

SRT ↔ WebVTT both ways

Timestamps, numbering, line breaks and basic <b>, <i> and <u> formatting are converted correctly, and & and < are escaped for WebVTT.

Forgiving parser

Handles byte-order marks, Windows and old Mac line endings, missing blank lines, hour-less timestamps and dots or commas before milliseconds.

Re-sync timings

Shift every cue earlier or later by any number of milliseconds, or convert between 23.976, 24, 25 and 29.97 fps.

Fix common problems

Renumber cues, trim overlapping cues and see warnings for zero-length, empty or out-of-order cues before you upload them anywhere.

Keeps WebVTT extras

Header metadata, NOTE comments, STYLE blocks, cue ids and positioning settings survive a VTT-to-VTT edit.

Private and offline

Subtitles are processed in your browser and never uploaded — safe for unreleased films and client videos.

FAQ

Frequently asked questions

What is the difference between SRT and VTT?

Both are plain-text subtitle formats. SRT numbers every cue and uses a comma before milliseconds (00:00:01,000). WebVTT starts with a WEBVTT line, uses a dot (00:00:01.000), allows optional cue ids, comments and positioning, and is the format HTML5 video players and YouTube-style web players expect.

How do I fix subtitles that are out of sync?

If every line is early or late by the same amount, enter that difference in Shift timings — a positive number shows subtitles later, a negative number earlier. If they drift further out of sync over time, the frame rate is wrong: pick the matching conversion such as 23.976 → 25 fps.

Which frame-rate conversion do I need?

Pick the frame rate the subtitles were made for first, then the frame rate of your video. Subtitles made for a 23.976 fps release that run slow on a 25 fps (PAL) video need 23.976 → 25, which makes every timing about 4% earlier.

What does Fix overlaps do?

It sorts cues by start time and shortens any cue that is still on screen when the next one starts, so two subtitles never show at once. Many players and upload sites reject or garble overlapping cues.

Will formatting and positioning be kept?

Bold, italic and underline tags are kept in both formats. WebVTT voice tags become "Name: text" in SRT, and SRT font colours and {\an8} position codes are removed because WebVTT doesn't support them. WebVTT cue settings are kept when the output is WebVTT.

Are my subtitle files uploaded?

No. Parsing, conversion and timing changes all happen locally in your browser, so nothing leaves your device.