CapCut's caption export lists two formats, and VTT is not one of them. In its guide on captions failing to export, CapCut's instruction for the mobile app is blunt: "Must choose SRT or TXT format (other formats not supported)". The desktop section of the same page says the same thing, minus the parenthetical: "Must choose SRT or TXT format".
So if something downstream wants a .vtt file, the route is two steps, not one: get a clean SRT out of CapCut, then convert it. This page walks both, and spends most of its time on step one — because that is where people actually get stuck.
Before you start
You need a project whose captions CapCut is willing to export at all. That is a real restriction, and it is the single most useful sentence in CapCut's documentation on this topic. Among the root causes it lists for captions failing to export is:
"Text not generated through "Auto Caption Recognition" (only automatically recognized captions can be exported)"
Read that parenthetical carefully. Text layers you typed by hand are not captions as far as the export is concerned. If you built your subtitles as styled text on the timeline, the caption export will not pick them up, and no amount of format-fiddling changes that.
The other three root causes CapCut lists are "Incorrect export settings", "File encoding or path issues", and "Software version limitations: Update to the latest version". Steps 2 through 4 below correspond to the first two.
Step 1: make sure the captions came from auto-recognition
Use CapCut's Auto Caption Recognition on the audio rather than typing text layers. Result: the captions now exist as recognised captions, which is the category CapCut's exporter is scoped to.
If you already typed everything by hand, CapCut's help center does not describe a conversion path for that case. Re-running auto-recognition and correcting the text is the honest answer.
Step 2: export captions, not the video
This is a separate toggle from the normal export, and CapCut spells it out per platform.
On desktop, under its export settings check: "Confirm "Caption Export" is selected, not "Video Export"". On mobile: "Uncheck "Video Export," select only "Caption Export"".
Result: you get a subtitle file rather than a rendered clip. If you end up with an MP4, you never left the video exporter.
Step 3: choose SRT, and give it a clean path
Pick SRT. It is the one that converts to VTT mechanically.
Two things CapCut asks for around the file itself, both worth doing before you hit export:
- Path characters. For CapCut Online: "Export path must use ASCII characters only; avoid special symbols to prevent encoding errors". The desktop guidance is the same idea with an example — "Use English paths like
C:\CapCut\subtitles.srt". - Encoding. CapCut's fix for encoding problems is to "Convert SRT files to UTF-8 without BOM format (using Notepad++)". Worth knowing up front, because UTF-8 is also what the VTT side requires.
There is also an officially sanctioned fallback if the SRT export itself misbehaves. CapCut's advice for CapCut Online: "If export issues occur, first export as TXT format, then convert to SRT using external tools". So even CapCut's own troubleshooting assumes an external conversion step at the end.
One more item from CapCut's list of root causes: "Software version limitations: Update to the latest version". If the caption export option is not where this article says it is, update before you go hunting through settings.
Step 4: convert the SRT to VTT
Do not rename the extension. The two formats differ inside the file, not just at the end of the filename.
The W3C WebVTT spec (Candidate Recommendation Draft, 20 May 2026) requires the file to open with the string WEBVTT, and says "A WebVTT file must consist of a WebVTT file body encoded as UTF-8 and labeled with the MIME type text/vtt." It also pins the timestamp separator to "A U+002E FULL STOP character (.)" before the milliseconds — where SRT files use a comma. A renamed .srt has neither the header nor the right separator, which is exactly why the rename trick fails silently.
Try it right here
Runs in your browser. Your file is not uploaded anywhere.
The conversion itself is small and lossless in this direction: prepend the WEBVTT header, change the timestamp commas to full stops, leave the rest of the structure alone. The converter above does that in your browser tab — the subtitle file is read from disk and handed back without being uploaded anywhere, which matters more for transcripts than for most media files.
If you want the format comparison rather than the procedure, SRT vs VTT, compared covers what each one can and cannot carry, and VTT vs SRT for YouTube captions covers the upload side.
What survives the conversion, and what to check after
Going SRT to VTT, nothing is dropped. The cue numbers CapCut wrote stay where they are — the WebVTT spec treats a cue identifier as optional ("Optionally, a WebVTT cue identifier followed by a WebVTT line terminator"), so keeping them is fine.
Going the other way is where loss happens, and it is worth knowing before you plan a round trip. Our VTT to SRT converter drops the WEBVTT header along with any NOTE, STYLE and REGION blocks, renumbers the cues in order, and discards cue settings — the positioning and alignment values written after the arrow on a timing line. That last one is not a shortcut in this converter: the SRT format carries no field for them. The renumbering has its own reason — because the spec makes the cue identifier optional, a converter cannot count on the source file carrying numbers at all, so it generates them in order.
Two checks after conversion:
- Open the file in a text editor. The first line should read
WEBVTT, and timings should look like00:00:01.000 --> 00:00:04.000with full stops. If you still see commas, the file did not convert. - Check how it is served. The spec expects a
.vttfile to be labeled with the MIME typetext/vtt. A server that sends it astext/plaininstead is one real cause of a correct file producing no captions — a browser's<track>element may not accept it.
Common mistakes
- Renaming
.srtto.vtt. NoWEBVTTheader, wrong timestamp character. See step 4. - Exporting the video with subtitles burned in. That produces a video, not a caption file. CapCut's own check is "Caption Export", not "Video Export".
- Hand-typed text layers. CapCut states that only automatically recognized captions can be exported. An empty or missing export usually traces back here, not to the export format.
- Non-ASCII export paths. CapCut names this as a cause of encoding errors on Online, and gives an English-path example for desktop.
- Assuming the mobile app can take the file back in. It cannot — see the FAQ below.
FAQ
Can CapCut export captions directly as VTT? The formats CapCut lists in its caption export instructions are SRT and TXT. In the mobile section it adds "(other formats not supported)". Export SRT and convert it.
Why is my exported SRT file empty? Most likely the text was not produced by Auto Caption Recognition. CapCut lists "only automatically recognized captions can be exported" as a root cause of captions failing to export. Its other listed causes are incorrect export settings, file encoding or path issues, and an out-of-date app version.
Can I just change the file extension to .vtt?
No. WebVTT requires the WEBVTT string at the start of the file and uses a full stop before the milliseconds; SRT uses a comma. Run it through SRT to VTT instead.
Can I import a VTT file into CapCut? Not as VTT. CapCut says it "supports importing external subtitle files—primarily in SRT (.srt) or TXT (.txt) format", that import is "only available on CapCut Desktop and CapCut Web", and that "TXT files are not supported on Web—only SRT". Convert the other way first with VTT to SRT, and make sure the encoding is UTF-8 — CapCut asks for that too.
Does the CapCut mobile app support subtitle files at all? For export, yes — the mobile instructions are the "Caption Export" toggle plus SRT or TXT. For import, CapCut states that as of 2026 CapCut Mobile "does NOT allow importing .srt or .txt subtitle files", though it "fully supports viewing and editing subtitles imported elsewhere—just not initiating the import itself".
How many languages does CapCut's auto-captioning cover? CapCut describes its auto-captioning as supporting "~30+ languages (e.g., English, Spanish, Japanese, Arabic)" and notes that imported SRT files bypass that limit entirely.
Convert the file you just exported with SRT to VTT, or browse all Clapr tools — everything runs locally in your browser. More walkthroughs like this one live in how-to guides.
CapCut behaviour cited from its official help center article on captions failing to export and its subtitle import guide, checked 16 September 2026. WebVTT requirements cited from the W3C WebVTT specification, Candidate Recommendation Draft dated 20 May 2026.