AIWalay Tools

SRT ⇄ VTT Converter

Convert subtitles between SRT and VTT and shift timings by any number of seconds — free, in your browser, with format auto-detect.

About the SRT ⇄ VTT Converter

Convert subtitle files between SRT and WebVTT in seconds. Paste the content or upload a .srt or .vtt file — the format is detected automatically — then click a button to convert in either direction. The tool handles everything the two formats disagree on: the WEBVTT header, commas versus dots in timestamps, and the numeric cue counters.

A built-in timing shifter fixes out-of-sync subtitles at the same time: enter a value like 2.5 to delay every subtitle by two and a half seconds, or -1.2 to make them earlier. Shifts apply to every timestamp in the file, which is exactly what you need when subtitles drift from a different video cut.

Everything runs in your browser — subtitle files for unreleased videos or client work are never uploaded. Validation errors point at the exact line that is broken, and the output downloads with the correct .srt or .vtt extension, ready for YouTube, video players or HTML5 video tags.

How to Use the SRT ⇄ VTT Converter

  1. 1Upload a .srt or .vtt file, or paste the subtitle text — the format is auto-detected.
  2. 2Optionally enter a timing shift in seconds (positive delays subtitles, negative moves them earlier).
  3. 3Click Convert to VTT or Convert to SRT.
  4. 4Review the output, then copy it or download the file with the right extension.

Frequently Asked Questions

What is the difference between SRT and VTT subtitles?

SRT is the older, simpler format: numbered cues with comma-separated milliseconds (00:00:01,000). WebVTT starts with a WEBVTT header, uses dots in timestamps (00:00:01.000), makes cue numbers optional and supports styling. HTML5 video and most web players require VTT, while many desktop players and editors still expect SRT.

How do I convert SRT to VTT for HTML5 video or YouTube?

Paste or upload your SRT file and click Convert to VTT. The tool adds the WEBVTT header, converts every timestamp's comma to a dot and removes the numeric counters. Download the .vtt file and reference it in a <track> tag — or upload it to YouTube, which accepts both formats.

How do I fix subtitles that are a few seconds out of sync?

Use the timing shift box. If subtitles appear too early — you hear the line after reading it — enter a positive number like 2 to delay them. If they appear too late, use a negative value like -1.5. The shift is applied to every cue, and you can convert and shift in one step or keep the same format.

Why am I getting a parsing error, and what does the line number mean?

The error points at the first line the parser could not understand — usually a malformed timestamp such as a missing --> arrow, a wrong separator, or a cue with no blank line before it. Open your file, jump to that line, fix the timestamp to the 00:00:00,000 --> 00:00:00,000 pattern and try again.

Are my subtitle files uploaded to a server?

No. Parsing, converting and time-shifting all happen in JavaScript inside your browser — the file never leaves your device. That makes the tool safe for subtitles of unreleased films, courses and client videos. There are no size limits or daily quotas either, because there is no server doing the work.

Related Tools