Skip to content

Subtitle Converter

…or drop a .srt / .vtt file

.srt,.vtt,.txt

Processed on your device — nothing is uploaded. Verify in your network tab.

Convert subtitle files between SRT, VTT, and plain text. Paste your captions or drop a file, pick the format you need, and the tool rewrites it — SRT to VTT for a web player, VTT to SRT for a video editor, or either one down to a clean transcript with the timestamps stripped out.

Everything happens in your browser. Subtitle conversion is a pure text transform — no models, no upload, no server — so the file you paste never leaves your device. That means there is no size limit worth mentioning and no round trip: even a feature-length subtitle track converts the instant you paste it. Open your network tab while you work and you will see nothing go out.

The point is a file the next tool will actually accept. A .vtt renamed to .srt breaks silently in a lot of players; comma-versus-period in the timecodes is the kind of one-character difference that makes a caption file load blank. This converter fixes the format properly so your captions show up where you are taking them.

How it works

  1. 01

    Paste or drop your subtitles

    Paste the contents of your subtitle file into the box, or drop the .srt or .vtt file onto the page. The tool reads it locally in your browser and detects whether it is SubRip (SRT) or WebVTT (VTT). Nothing is uploaded — the text stays on your device.

  2. 02

    Pick the output format

    Choose the tab for what you need: SRT, VTT, or plain TXT. SRT and VTT keep every cue and its exact timing, just reformatted for the target. TXT strips the numbers and timecodes and gives you only the spoken lines as a readable transcript.

  3. 03

    Copy or download the result

    The converted subtitles appear instantly in the result pane. Copy them to your clipboard or download the file with the right extension. Because the conversion ran on your device, there is no stored copy anywhere once you close the tab.

SRT vs VTT vs TXT: a quick cheat sheet

The three formats look similar but are not interchangeable, and using the wrong one is the usual reason captions load blank.

SRT (SubRip) is the most widely supported subtitle format — media players, video editors, YouTube uploads, and most social platforms all take it. A cue is a number, a timecode line, and the text:

1
00:00:01,000 --> 00:00:04,000
Welcome back to the show.

Note the comma before the milliseconds. That comma is the SRT signature.

VTT (WebVTT) is the format the web uses. It is what an HTML5 <track> element inside a <video> tag expects, so it is what you need for captions on a website or in most JavaScript video players. It must start with a WEBVTT header, the cue numbers are optional, and the timecode uses a period, not a comma:

WEBVTT

00:00:01.000 --> 00:00:04.000
Welcome back to the show.

VTT can also carry styling, positioning, and cue settings that SRT cannot — those are dropped when you convert down to SRT, since SRT has nowhere to put them.

TXT is not a subtitle format at all. It is the plain transcript underneath: every spoken line with the numbers and timecodes removed, ready to paste into a document, a blog post, or anywhere you want the words without the timing.

What happens to the timing

Converting between SRT and VTT preserves your timing exactly. Every cue keeps its start and end time down to the millisecond — the tool only rewrites the surrounding syntax. Going to VTT, it swaps each comma for a period and adds the WEBVTT header; going to SRT, it does the reverse and renumbers the cues sequentially. The words on screen appear at precisely the same moments as before.

Choosing TXT is the one direction that drops timing on purpose. The timecodes and index numbers come off and you are left with just the dialogue as continuous readable text. That is what you want for a transcript, show notes, translation, or feeding the words into another tool — but it is a one-way trip. Once the timestamps are gone, they are gone, so keep your original SRT or VTT if you might still need synced captions later.

Encoding: everything stays UTF-8

Subtitle files should be UTF-8, and this converter keeps them that way. UTF-8 is what carries accented letters, non-Latin scripts, and punctuation like curly quotes and em dashes correctly. The classic bug — names showing up as é or ’ — is almost always a subtitle file saved in some legacy regional encoding instead of UTF-8, then read by a player that assumed UTF-8.

Because the text is read and rewritten in your browser as Unicode, the characters you paste in are the characters you get out, intact. The tool does not add a byte-order mark (BOM) to the output, which is the safer default: a stray BOM at the top of a file can push some strict players into misreading the very first cue or the WEBVTT header. If your source file already displays correctly here in the result pane, it will export correctly.

Why this runs in your browser

Subtitle conversion does not need a server. It is string manipulation — reformatting timecodes, adding or removing a header, stripping numbers — so there is no reason to upload your file anywhere to do it.

Running it locally has real upside beyond privacy. It is instant, with no upload-and-wait, so a three-hour subtitle track converts as fast as a one-minute clip. There is no practical size limit, because you are bounded by your own machine, not an upload cap. And your captions — which for an unreleased film, a private recording, or a client's video can be genuinely sensitive — never leave your device. You can confirm all of this in the network tab: no request fires when you convert.

Frequently asked questions

How do I convert SRT to VTT?
Paste your SRT file or drop it onto the page, then choose the VTT tab. The tool adds the required WEBVTT header and changes each timecode's comma to a period, keeping every cue and its exact timing. Copy or download the result as a .vtt file. It is free, runs entirely in your browser, and nothing is uploaded.
How do I convert VTT to SRT?
Drop your .vtt file or paste its contents and select the SRT tab. The converter removes the WEBVTT header, renumbers the cues sequentially, and switches the timecodes from periods to commas — the SubRip format most players and editors expect. Any VTT styling or positioning is dropped, since SRT cannot store it. Then download your .srt file.
What is the difference between SRT and VTT?
Both are text subtitle formats, but SRT (SubRip) is the widely supported default for players, editors, and uploads, while VTT (WebVTT) is what web browsers need for HTML5 video captions. VTT starts with a WEBVTT header, makes cue numbers optional, uses a period in timecodes, and can carry styling. SRT uses a comma and is plain.
Can I remove timestamps and get plain text?
Yes. Choose the TXT tab and the tool strips the index numbers and timecodes from your SRT or VTT, leaving only the spoken lines as continuous readable text. That is ideal for a transcript, show notes, or translation. Keep your original subtitle file too, since removing the timing is a one-way conversion you cannot reverse.
Does converting change the subtitle timing?
No. Converting between SRT and VTT preserves every cue's start and end time down to the millisecond — only the surrounding syntax is rewritten, so your captions still appear at exactly the same moments. The only case where timing is removed is the TXT output, which drops timecodes on purpose to give you a plain transcript of the words.
Are my subtitle files uploaded to a server?
No. Subtitle conversion is a pure text transform, so it runs entirely in your browser and your file is never sent anywhere. You can verify this by opening the network tab before you convert — no upload request fires. That makes it safe for captions from unreleased videos, private recordings, or client work you would not want on someone else's server.
Why do my accented characters look garbled?
That is an encoding problem, almost always a subtitle file saved in a legacy regional encoding rather than UTF-8. This converter reads and writes text as Unicode, so characters stay intact from input to output. If the accented letters already display correctly in the result pane here, they will export correctly. Subtitle files should always be saved as UTF-8.
Is there a file size limit?
There is no meaningful limit. Because the conversion happens on your device instead of an upload server, you are bounded only by your own machine's memory, which subtitle files never come close to. Even a multi-hour caption track converts instantly the moment you paste or drop it, with no upload wait and no size cap to work around.