All tools

Subtitle and Caption Format Converter

Convert SRT, VTT, SBV, ASS, SSA, TTML, DFXP, SCC, CSV, and TSV subtitle files client-side, then copy or download the cleaned output. Conversion runs in your browser and the caption file is never uploaded.

Why this tool is useful

Every platform wants captions in a different format. YouTube takes SRT, web players expect VTT, broadcast asks for SCC, and a localisation vendor sends back TTML. The conversion itself is simple, but the usual options are not: paste a client transcript into a random online converter and you have uploaded a confidential script to an unknown server.

This converter runs entirely in your browser. The caption file is parsed and rewritten locally in JavaScript and never leaves your machine, so it is safe to use with embargoed, pre-release, and NDA material. It handles SRT, VTT, SBV, ASS, SSA, TTML, DFXP, SCC, CSV, and TSV, and you can copy the output or download it directly.

1. Upload or paste caption file here

2. Convert to

Output format

Converted output

WEBVTT

00:00:01.000 --> 00:00:04.000
Aspect keeps caption conversion client-side.

00:00:05.000 --> 00:00:08.000
Drop an SRT or VTT file to convert it.

Example use cases

  • Repurposing captions across platforms

    Convert one approved SRT into the VTT and platform-specific formats the same cut needs for web, social, and broadcast delivery.

  • Handling vendor deliverables

    Take TTML or DFXP back from a localisation vendor and convert it into the format your NLE or player actually accepts.

  • Working with confidential material

    Convert captions for unreleased or NDA-covered content without uploading the dialogue to a third-party service.

FAQ

SRT (SubRip) is the older and simpler format: numbered cues, timecodes using a comma as the decimal separator, and plain text. WebVTT was designed for HTML5 video and uses a period as the decimal separator, requires a WEBVTT header line, and supports positioning, styling, cue identifiers, and metadata that SRT cannot express. Converting SRT to VTT is straightforward. Going the other way works but discards any styling and positioning information, because SRT has nowhere to put it.
No. The conversion runs entirely in your browser using local JavaScript. The file is read, parsed, and rewritten on your own machine, and the contents are never transmitted anywhere. This matters for pre-release, embargoed, and NDA-covered material, where pasting a transcript into a server-side converter means sending the dialogue of an unreleased production to a third party you have no agreement with. You can verify this by disconnecting from the network and converting a file, which will still work.
YouTube accepts SRT, VTT, and SBV. Vimeo takes SRT, VTT, and DFXP. HTML5 web players require VTT. Broadcast delivery in the US generally requires SCC or embedded CEA-608/708 captions. Netflix, Amazon, and most other streaming platforms specify TTML or their own profile of it. Social platforms are mostly SRT where they accept a file at all, though many prefer captions burned into the picture. When a spec is ambiguous, SRT is the most widely accepted starting point to convert from.
Cue timings are preserved through conversion, but formats differ in precision. SCC is frame-based and tied to a specific frame rate, so converting to or from it can introduce sub-frame rounding. Formats that store time as decimal seconds, like VTT and TTML, carry more precision than frame-based formats can represent. What is more commonly lost is styling: positioning, colour, italics, and speaker identification survive between rich formats such as ASS, TTML, and VTT, but are discarded when converting down to SRT, which supports plain text only.