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
- 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.
- 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.
- 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?
How do I convert VTT to SRT?
What is the difference between SRT and VTT?
Can I remove timestamps and get plain text?
Does converting change the subtitle timing?
Are my subtitle files uploaded to a server?
Why do my accented characters look garbled?
Is there a file size limit?
Related tools
YouTube Transcript
Paste a YouTube link and get the full transcript. We fetch captions only — never download the video.
open tool →Video to Text
Extract spoken words from any video file. Audio is demuxed and transcribed on your device.
open tool →Audio to Text
Transcribe any audio file to text on your device. Free, private, no sign-up.
open tool →MP4 to Text
Transcribe MP4 videos to text in your browser — the file never leaves your machine.
open tool →