Add captions to a video, free
flshy transcribes your clip in the browser, on your own machine, and puts every cue on the timeline as a text clip you can edit like any other. No upload, no watermark, no cap on how much you caption. This page is the whole run, including the parts that are fiddly.
- Price
- Free, no watermark
- Runs
- On your device
- Languages
- 14, plus auto detect
- Styles
- Caption presets
How to caption a video in flshy
Eight steps, and only one of them involves waiting.
Open the editor and bring your clip in
Go to app.tryflshy.com and make a free account, either with a six digit code sent to your email or with Google sign-in. Then drag your video onto the timeline.
There is no upload bar, because there is no upload. Your browser reads the file off your own disk and the footage stays there.
Select the clip and open Captions
Click the clip on the timeline, then open the Captions panel. It has three tabs: Presets for the look, Transcript for the words, Properties for size and placement.
Pick the spoken language, or leave it on auto
The language picker offers Auto detect plus English, French, German, Spanish, Italian, Portuguese, Hindi, Japanese, Korean, Chinese, Russian, Turkish, Polish and Vietnamese.
Auto is the model’s own default and is usually right. Naming the language yourself helps most on short clips, where there is not much audio for it to judge from.
Transcribe the clip
Press Generate captions. The first run downloads the speech model into your browser cache, then transcription runs on your own machine. The download has a progress bar; transcription shows a spinner and a status line.
The bundled model is about 42 MB, so the wait is short and it only happens once. After that the model is cached and captioning works with no network at all. Once captions exist, that same button reads Regenerate captions.
Put the cues on the timeline
When the transcript comes back, the card lists every cue and the button under that list counts them: Add 24 as Editable Text, or whatever your number is. Press it.
This is the press that puts the captions on the timeline. Until you make it the cues live only in that card, the Transcript tab still reads “No transcript yet”, and there is nothing to style or retype.
Choose a caption style
Presets run from Stacked and Minimal through Punch, Karaoke Pop and Neon to Outline, Block and Marker. Each one sets its own face, weight and cue length, and most add a stroke, a plate or a highlight colour on top.
The preview cards are typeset from the preset’s real values at one shared scale, so the face, weight and colours on a card are the preset’s own rather than card decoration. Cue length is the exception: captions generated here are cut to five words at most, so a preset whose card shows more than five will land shorter than the card.
Fix the words the model got wrong
Every cue is an ordinary editable text clip on a Captions track, so you can retype a name, restyle one line, or drag a cue that lands early.
The cues stay attached to the clip they came from. Drag that clip along the timeline and its captions travel with it; trim it and they are shortened to match, with any cue left entirely outside the new edge removed.
Export
Render to H.264 MP4 on your own hardware, up to 4K, with the captions burned in and no watermark anywhere in the frame.
Word-by-word highlighting, and when you get it
Presets like Karaoke Pop light each word as it is spoken, and that needs timings per word rather than per phrase. Which timings you get depends on which model did the transcribing.
- Bundled model
- Whisper Tiny, about
42 MB, ships with the app and runs on any machine. It returns timings per phrase, so a word-animated preset falls back to static text and the panel says so rather than quietly dropping the animation. - Large local model
- Whisper Large V3 Turbo, about
760 MB, returns real word timings and is the most accurate option. WebGPU is recommended, and it needs a model host configured for the build you are running. - Cloud captions
- Animates per word. This is the one path that sends anything off your machine: the clip's audio goes to a speech-to-text service and is discarded after transcription.
Getting captions that read well
- Keep cues short. Captions default to five words per cue, and each preset caps it lower where its type is bigger.
- Cut before you caption. Caption cues sit on their own track and are not moved by a silence removal pass, so generating them once the clip is at its final length saves transcribing it twice.
- Check names and jargon in the Transcript tab. Speech models are weakest exactly where your video is most specific.
- Watch the safe area on vertical exports. Platform interfaces sit over the bottom of the frame, and the Properties tab moves the caption anchor up out of it.
Questions people actually ask
Is it actually free?
Yes. There is no paid tier, no trial timer, no credit card, no watermark and no export limit. A free account is needed to open the editor, and that is the whole of it.
Does my video get uploaded anywhere?
Your footage stays put. Import, editing, preview and export all happen on your own machine, and the video files themselves are never uploaded. On-device transcription is the default for captions. Three features do send something, and none of them until you ask for it: cloud captions and AI Highlights each send the clip's audio to a speech-to-text service, and the Director chat sends a summary of your project, meaning its name, your track and clip layout and your media file names, to a hosted Claude model.
Which languages can it caption?
Auto detect, plus English, French, German, Spanish, Italian, Portuguese, Hindi, Japanese, Korean, Chinese, Russian, Turkish, Polish and Vietnamese.
Can I edit the words after they are generated?
Yes. Each cue is a normal text clip, so you can retype it, restyle it, retime it or delete it like anything else on the timeline.
Can I use subtitles I already have?
Yes. Import an SRT or VTT file and every cue in it becomes an editable text clip on the Captions track. Imported cues arrive with their own plain styling rather than the preset you picked, so restyle them once they are in.
Does it work on a phone?
No. flshy needs a desktop or laptop browser and tells you so on a small screen. A Chromium browser such as Chrome or Edge is the best supported.