Apps & Tools
SRT Caption Editor & Converter
Paste or upload an SRT or VTT file, fix timings and text right in the browser, then export as SRT or VTT. Nothing leaves your device.
Load a Caption File
Cues
Export
Knowledge Base
How to Use the Caption Editor
Paste an existing SRT/VTT file (from YouTube's auto-captions, Premiere's Speech to Text export, or anywhere else) or upload the file directly. Each cue becomes an editable row with a start time, end time, and text box, fix a mistranscribed word or nudge a timestamp without touching a text editor or worrying about format syntax.
SRT vs. VTT, Handled Automatically
This tool detects and parses both formats on load, and lets you export to either regardless of which one you started with: useful when a platform requires VTT but your only source file is an SRT export, or vice versa.
Timing Format
Enter times as MM:SS.mmm or HH:MM:SS.mmm. The editor accepts both and formats correctly for whichever export you choose (comma-separated milliseconds for SRT, period-separated for VTT).
FAQ
Q: Will this fix caption timing that drifts out of sync over a long video?
A: You can manually adjust individual cues, but there's no bulk time-shift here yet, for a global sync issue, check whether your source auto-caption tool has a frame-rate mismatch first, since that's the most common cause.
Q: Does this handle speaker labels and sound effect tags?
A: Yes, anything inside your cue text (like [music] or SPEAKER 2:) is preserved as plain text exactly as you type it.
Working with caption files
SRT is a plain text format, which is its main strength. Each cue holds a number, a start and end time, and the text, separated by blank lines. Because it is readable text you can open, inspect and repair it in any editor, and the format is accepted almost everywhere.
The commonest breakage is the timestamp separator. SRT uses a comma before the milliseconds and VTT uses a full stop, and a file with the wrong one fails to parse rather than degrading gracefully. Converting between the two is mostly this substitution plus a header line, which is why conversion is usually reliable.
Overlapping cues cause unpredictable results. When one cue ends after the next begins, different players resolve the conflict differently, so a file looking fine in one preview misbehaves elsewhere. Ordering by start time and checking each cue ends before the next starts eliminates a whole class of platform-specific complaint.
Drift usually means a frame rate mismatch. Captions correct at the start and progressively later by the end were almost certainly timed against a version at a different frame rate, commonly 25 against 23.976. That is a systematic error rather than a series of individual mistakes, so it is fixed by scaling every timestamp rather than by nudging cues.
Keep an unstyled master. VTT supports positioning and styling that SRT discards, so a styled file converted to SRT loses that information permanently. Keeping the plain version as the source, and generating styled variants from it, means a platform requiring the simpler format costs you nothing.
Save as UTF-8 without a byte order mark. Caption files carrying accented characters break in confusing ways when saved in a legacy encoding, and a byte order mark at the start of the file makes some players treat the first cue as malformed. This is the most common cause of a file that looks fine and imports wrong.
Vocabulary
SRT. SubRip Text, a plain text caption format holding numbered cues with start and end times. The most widely supported caption format, and simple enough to repair by hand in any text editor.
VTT. Web Video Text Tracks, the caption format used by web video. Similar to SRT but supports styling, positioning and metadata, and uses a full stop rather than a comma before milliseconds.
Timestamp. The start and end time of a cue, written in hours, minutes, seconds and milliseconds. The separator before the milliseconds differs between SRT and VTT, and using the wrong one prevents a file from parsing.
Frame rate mismatch. Timing a caption file against a version of the video running at a different frame rate. Produces drift that grows steadily through the programme, and is corrected by scaling all timestamps rather than adjusting individual cues.
Translate this page
- Español
- 简体中文
- हिन्दी
- العربية
- Português
- Français
- Deutsch
- 日本語
- Русский
- Bahasa Indonesia
- 한국어
- Italiano
- Türkçe
- Tiếng Việt
- Polski
- Nederlands
Machine translation provided by Google Translate, on Google’s servers. We do not check these translations and they will get technical terms wrong. The English page is the authoritative one. Following a link sends this page’s address to Google. Your browser may also offer to translate this page itself, which keeps the request on your device.