Skip to content

Convert SRT to VTT

Turn SubRip .srt subtitles into WebVTT .vtt captions for HTML5 video players, YouTube, Vimeo and course platforms. Timings and formatting are translated exactly.

Drop SRT files here

or

Free: up to 5 files per batch · Files never leave your device · Paste from the clipboard works too

    Private by design

    Your files are processed by your own device using WebAssembly and your browser's built-in codecs. Nothing is uploaded, logged or stored.

    Fast & offline-ready

    No queue, no waiting for a server. Once the page has loaded it even works without a connection.

    Works everywhere

    Chrome, Edge, Firefox and Safari on Windows, macOS, Linux, Android and iOS. No app to install.

    Why web video wants VTT

    The HTML5 <video> element loads captions through a <track> tag, and that tag understands exactly one format: WebVTT. Players built on it — Video.js, Plyr, JW Player, the players inside most learning platforms and streaming back-ends — inherit the same rule. SubRip .srt is the format you are far more likely to have, because it is what subtitle sites, DVD rips and most editing suites produce. The two are close relatives, so converting is a matter of rewriting a few characters rather than re-timing anything.

    Exactly what changes

    • A WEBVTT header line is added at the top, followed by a blank line.
    • Timestamps swap the comma for a dot. Nothing is shifted.
    • Cue numbers are kept as cue identifiers, which VTT allows and some players use for navigation.
    • Inline <i>, <b> and <u> tags survive, since VTT renders them.
    • ASS-style positioning codes such as {\an8} are stripped; they mean nothing in VTT.
    • The file is read as UTF-8, with or without a byte-order mark.

    One cue before and after:

    14
    00:02:17,440 --> 00:02:20,375
    {\an8}<i>Nobody mentioned the second key.</i>
    WEBVTT
    
    14
    00:02:17.440 --> 00:02:20.375
    <i>Nobody mentioned the second key.</i>

    Where SRT files come from

    Subtitle communities such as OpenSubtitles distribute almost everything as SRT. Premiere Pro, DaVinci Resolve and Final Cut export it. Transcription tools, from Whisper to the caption downloaders people point at YouTube, default to it. Aegisub and Subtitle Edit save it. Whatever the source, the file is plain text: a number, a time range, one or two lines of dialogue, a blank line, repeat. That simplicity is why the conversion is deterministic and why this page has no settings.

    After converting

    Put the .vtt next to your video and reference it from the player, or upload it to the captions field of YouTube, Vimeo, Wistia or your course platform. If the video itself is not web-ready, MP4 to WebM and the Video Converter handle that in the same browser. VTT supports positioning and styling that SRT lacks; the converter does not invent any, so add cue settings in a text editor afterwards if a caption must sit at the top of the frame. To go back, use VTT to SRT.

    Private and offline

    Subtitles for unreleased films, internal training and legal depositions are sensitive. The conversion runs entirely on your device: the file is read into memory, rewritten by JavaScript and offered for download, with nothing uploaded or stored. After the first visit the page works without a connection, and a batch of files takes a moment rather than a queue.

    How to convert srt to vtt — step by step

    1. Drop one or more .srt files on the page or click "Choose files".

    2. Conversion starts straight away — there are no options, because the transformation is fully defined by the two formats.

    3. Download each .vtt file, or all of them as a ZIP, and attach it to your video player or caption upload.

    Frequently asked questions

    What is the difference between SRT and VTT?
    Both are plain-text subtitle files with numbered cues and time ranges. WebVTT adds a WEBVTT header, uses a dot instead of a comma before the milliseconds, and allows optional positioning and styling. Browsers only load VTT, which is why conversion is needed for web players.
    Will the timings stay in sync?
    Yes. Only the separator changes, from 00:01:02,500 to 00:01:02.500. No cue is shifted, merged or dropped.
    Does it keep italics and bold?
    Yes. <i>, <b> and <u> tags are passed through because VTT renders them. ASS-style positioning codes such as the an8 tag are removed, since they would otherwise appear on screen as text.
    How do I add the VTT file to my video?
    Place it next to the video and reference it with a <track kind="subtitles" src="film.vtt"> element inside the <video> tag, or upload it in the captions section of YouTube, Vimeo, Wistia or your course platform.
    Accented characters look wrong after converting — why?
    The converter reads UTF-8, with or without a byte-order mark. If the SRT was saved in an older Windows code page, re-save it as UTF-8 in Notepad, TextEdit or VS Code before converting.
    Can I convert several files at once?
    Yes, up to five per batch, with a ZIP download for the lot. Tinyvert Pro lifts the limit.

    All tools: HEIC to JPG, HEIC to PNG, Compress Image, Resize Image, PNG to JPG, JPG to PNG, PNG to WebP, JPG to WebP, WebP to JPG, WebP to PNG, AVIF to JPG, SVG to PNG, BMP to JPG, BMP to PNG, GIF to PNG, PNG to ICO, ICO to PNG, Image to PDF, JPG to PDF, PNG to PDF, PDF to JPG, PDF to PNG, PDF to Text, Merge PDF, Split PDF, MP4 to MP3, Video to MP3, MP3 to WAV, WAV to MP3, M4A to MP3, FLAC to MP3, OGG to MP3, MP3 to OGG, WAV to FLAC, FLAC to WAV, MP3 to M4A, Audio Converter, Compress Audio, MOV to MP4, MKV to MP4, WebM to MP4, TS to MP4, MP4 to WebM, Video Converter, Compress Video, Trim Video, Remove Audio, Video to GIF, GIF to MP4, CSV to JSON, JSON to CSV, CSV to Excel, Excel to CSV, Excel to JSON, JSON to Excel, Zip Files, Unzip, SRT to VTT, VTT to SRT