Free tool
VTT translator
This free VTT translator turns the captions in a WebVTT file into another language and writes them back as a .vtt with the same cue times, so the translated track drops straight into the web player, course or meeting archive the original came from.
- Free
- WebVTT in, WebVTT out
- Nothing is stored
Drop your subtitle file here, or Choose your subtitle file
SRT or VTT. Up to 30,000 characters of each file, about 30 minutes of speech, 3 free files a day.
Want captions of your own recordings to translate? NoteOwl transcribes them on your Mac with unlimited transcription and saves subtitles with each speaker’s name.
How it works
How do you translate a VTT file?
Drop the .vtt on the page, pick the language to translate into, and press Translate. The cue text goes to the translator a few dozen cues at a time; the times are copied from your file. Download the translated VTT when it’s done.
- 1
Drop in the .vtt
Captions from a course platform, a Zoom or Teams meeting, or a web player’s track.
- 2
Pick the languages
From is detected, or set it yourself; choose the language under Into.
- 3
Download the VTT
It keeps your file’s name with the new language code: lecture.en.vtt comes back as lecture.es.vtt.
What changes inside a translated VTT file?
The words, and a few things a translation can’t carry. Every cue keeps its start and end time to the millisecond; the WEBVTT line starts the new file; speaker names stay. Cue settings, STYLE and NOTE blocks and inline formatting are left behind.
- Header
- In your fileWEBVTT, sometimes followed by lines such as Kind or Language
- In the translated fileWEBVTT on its own
- Times
- In your file00:01.000 --> 00:04.200
- In the translated file00:00:01.000 --> 00:00:04.200, the same moments written with hours
- Cue settings
- In your fileline:0 position:20% align:start after the times
- In the translated fileLeft off: players use their usual place
- Cue ids
- In your fileNumbers, or long ids such as Teams writes
- In the translated fileNumbers kept; long ids replaced by 1, 2, 3…
- Voices
- In your file<v Anna Smith>Welcome back.</v>
- In the translated fileAnna Smith: and the translated line
- Formatting
- In your file<b>, <u> or class spans inside a cue
- In the translated filePlain text; a cue entirely in italics stays italic
| Part | In your file | In the translated file |
|---|---|---|
| Header | WEBVTT, sometimes followed by lines such as Kind or Language | WEBVTT on its own |
| Times | 00:01.000 --> 00:04.200 | 00:00:01.000 --> 00:00:04.200, the same moments written with hours |
| Cue settings | line:0 position:20% align:start after the times | Left off: players use their usual place |
| Cue ids | Numbers, or long ids such as Teams writes | Numbers kept; long ids replaced by 1, 2, 3… |
| Voices | <v Anna Smith>Welcome back.</v> | Anna Smith: and the translated line |
| Formatting | <b>, <u> or class spans inside a cue | Plain text; a cue entirely in italics stays italic |
Do speaker names in a Teams or Zoom VTT survive?
Yes. A Teams voice tag such as <v Anna Smith> is read as the speaker, and the name is written before the translated line as “Anna Smith:”. Zoom’s “Name: words” cues keep the name too. Names are never translated, so every line stays attributed.
That makes a translated meeting transcript easy to follow: open the VTT in a text editor and it reads like a script, one named line after another, with the time above each.
How do you add the translated VTT to a web page?
Add a track element inside the HTML5 video element, pointing at the new file, with kind set to subtitles, srclang to its language code and label to the name viewers will pick. The original track can stay beside it.
- 1
Upload the file
Put lecture.es.vtt next to the video, on the same site if you can.
- 2
Add the track
<track kind="subtitles" src="lecture.es.vtt" srclang="es" label="Español">
- 3
From another domain?
Then the video element needs the crossorigin attribute, or the browser won’t load the captions.
What happens when the translation is longer than the caption?
It stays in the same cue. A cue’s time can’t grow, so a longer translation is laid out again in at most 2 lines, slightly fuller where needed, never spilling into a third line or an extra cue.
Consecutive cues are translated together and each comes back as its own line, so a sentence spread over two captions stays split where the speaker paused.
Making captions from your own recordings?
NoteOwl transcribes recordings on your Mac with unlimited transcription and saves SRT subtitles with every speaker’s name. Turn one into VTT with the SRT to VTT converter, then translate it here. For VTT captions straight from a video, use the VTT generator.
FAQ
Questions about translating VTT files
Is the VTT translator free?
Yes. Translate 3 caption files a day, up to 30,000 characters of cue text in each, without an account. The VTT, an SRT copy and a bilingual SRT come with every translation.
Will the translated captions stay in sync?
Yes. Every cue keeps the start and end time it had in your file, and none is merged, split or dropped, so captions that matched the video before still match it.
Is my VTT file uploaded?
The file is opened by your browser. Only the text of the cues is sent, in batches, to a cloud AI translation service, which returns the translation and keeps nothing; the new VTT is assembled in the page, and NoteOwl stores neither file.
Is there a bilingual VTT?
The bilingual download is an SRT, with the original line above the translation in each cue. To use it in a web player, turn it into VTT with an SRT to VTT converter; the times carry over unchanged.
Why are the caption positions gone?
Positions and alignment are cue settings, written after the times, and the translation doesn’t carry them. Players then show the captions in their usual place at the bottom of the video. Add the settings back by hand if a caption must sit elsewhere.
What if the VTT is very long?
The first 30,000 characters of cue text are translated, about half an hour of speech, and the page says how many cues it reached. Split a longer file and translate the parts one after another.
Keep exploring
More subtitle translator tools
- Subtitle translatorA free subtitle translator: drop in an SRT or VTT file and download it in another language, every subtitle keeping its number and times; SRT, VTT or bilingual SRT; nothing is stored
- SRT translatorTranslate an SRT subtitle file free in your browser: every cue keeps its number and times; download SRT, VTT or a bilingual SRT; nothing is stored
The same in other tools
Related
- VTT to SRT converterConvert a WebVTT file to SRT in your browser: times rewritten, cue settings and styling blocks dropped, voice tags kept as names
- SRT to VTT converterConvert SRT to VTT, VTT to SRT, or either to clean text with each speaker’s lines merged, in your browser; Zoom and Teams transcripts work
Captions from your own recordings, made on your Mac
Free to download. Runs entirely on your Mac.
macOS 26 or later · Apple Silicon (M1 or newer) · 16 GB memory minimum, 24 GB recommended
About NoteOwl
NoteOwl is private AI meeting notes and memory for the Mac. It captures meetings without a bot joining the call, labels every speaker, writes summaries and action items, and builds a memory of every conversation that you can chat with — fully offline, because the speech recognition and the AI run on the Mac itself. Dictation into any app is free; Pro is a one-time purchase.
NoteOwl pricing: what’s free and what Pro adds
Last updated