Turn a transcript into short-form style captions that highlight, pop or fill word by word, then burn them into your video. Load a Whisper JSON, SRT or VTT file (or paste text), pick a style, preview it in a 9:16 frame and export, all inside your browser.
Last updated:
0:00.0 / 0:00.0
Caption style
Choose a video to enable export. The preview above shows your style on a sample background.
Advertisement
Advertisement
How to use the Animated Captions for Video
Choose your video: drop an MP4, WebM or MOV file on the first box.
Add the transcript: open a Whisper JSON, SRT or VTT file, or paste text into the transcript box. Word-level Whisper JSON gives the most accurate highlighting.
Pick a style: start from a preset such as Bold pop or Karaoke, then adjust the animation, words per caption, font, colors and position.
Preview: press Play and watch the captions in the 9:16 (or other) frame. Use Shift timing if every word is slightly early or late.
Press Create captioned video. The video plays through once while the new file is recorded, then you can download it.
Caption animation styles explained
Every style works from the same data: a list of words, each with a start and an end time. The caption on screen is a small group of words (the Words per caption setting); a new group starts when the limit is reached, at the end of a sentence or subtitle line, or when there is a pause of more than 0.8 seconds in the speech.
Animation
What the viewer sees
Works best for
Word-by-word highlight
The whole group is visible; the word being spoken changes to the highlight color (or gets a colored box)
Talking-head clips, tutorials
Pop in as spoken
Each word appears with a quick overshoot scale the moment it is said
Energetic Shorts, Reels and TikToks
Karaoke fill
Color sweeps across each word from left to right in time with the speech
Songs, slow narration, language learning
One word at a time
A single large word in the centre, replaced by the next word
Fast punchy edits, hooks
Bounce active word
The spoken word lifts and grows slightly, then settles
Playful or kids-friendly content
Typewriter
Letters are typed out as each word is spoken
Storytelling, quotes
Transcript formats this tool reads
Whisper JSON with word timestamps: a words array ({"word": "hello", "start": 0.32, "end": 0.61}), segments that each contain words, or transformers.js chunks with a timestamp pair. Words without a time (common for numbers in WhisperX) borrow the time of their neighbours.
Whisper JSON with segment times only (including whisper.cpp transcription output): each segment is split into words and timed by word length.
SRT and WebVTT: each cue is split the same way. VTT cues with inline karaoke timestamps such as <00:00:01.200> are used directly.
Plain text: timing is estimated at roughly 150 words per minute, useful for a quick test or a scripted voice-over. Adjust with Shift timing.
Tips for readable short-form captions
Keep captions in the middle band of a 9:16 video (about 55 to 75% from the top). The top and bottom edges are covered by app buttons, usernames and descriptions on most platforms.
A thick dark outline or a colored box keeps white text readable on bright scenes. Yellow, green and cyan highlights stand out without hurting legibility.
UPPERCASE with a heavy font such as Impact or Arial Black reads fastest at small phone sizes; mixed case looks calmer for educational videos.
If captions run slightly ahead of the voice, enter a small positive shift such as 0.1 to 0.2 seconds; a negative value moves them earlier.
Frequently asked questions
How do I get a transcript with word timings?
Run your audio through any Whisper-based transcriber and save the result as JSON with word timestamps (for example the OpenAI Whisper API with word-level timestamps, WhisperX, whisper.cpp with JSON output, or a transformers.js Whisper app with return_timestamps set to word). This page reads the words array, segments with words, or chunks. You can also use the Auto Subtitle Generator on this site to create an SRT first.
What if my file only has sentence timings, like an SRT?
That works too. Each subtitle line is split into words and its time span is shared out by word length, so longer words stay on screen a little longer. The highlight then follows the speech closely for most talking videos; word-level JSON is only needed for perfectly tight timing.
Is my video uploaded to a server?
No. The video is drawn frame by frame onto a canvas in your browser and recorded with the MediaRecorder API, together with the original sound. Your files never leave your device.
Why does exporting take as long as the video?
Browsers record a canvas in real time, so a 60-second clip needs about 60 seconds. Keep the tab open and visible until the progress bar finishes.
How many words should each caption show?
For vertical short-form video, 2 to 4 words per caption is the usual choice because viewers read them at a glance; 1 word works for very punchy edits. For landscape video or longer explanations, 6 to 8 words per line reads more like normal subtitles.
Will the output be MP4?
Chrome, Edge and Safari can record MP4 (H.264) directly. Firefox records WebM, which uploads fine to most platforms; use the Video Converter if you specifically need MP4.
My landscape video looks cropped in 9:16. What can I do?
Switch Fill to Fit + blurred background. The full picture is kept in the middle and the empty space above and below is filled with a soft blurred copy, a common look for reposting landscape clips as Shorts, Reels or TikToks.
Are all the tools on FreeToolCabin tested for quality and accuracy?
Yes! Every tool on our site undergoes automated Q/A testing in real browser environments to ensure high precision, correct output, and zero errors. If you happen to spot a bug or have a suggestion, please contact us at [email protected] and our team will review it right away.