Google Analytics helps us understand which tools you use and which actions work. Your files and entered text stay out of analytics.

Free · no sign-upTranslate to EnglishNothing uploaded

Subtitle generator

Turn the speech in a video into subtitles people can read. Whisper times every word on your own device, then the subtitles are cut to two lines of 42 characters at a pace you can set.

Reading rules you can see and changeSRT, styled ASS or a finished videoVideos up to two hoursWorks offline after the first run

Open a video, time every word, save readable subtitles.

Subtitle generator
The subtitle desk

Subtitles cut to be read.

Drop a video. Whisper times every word on this device, and the subtitles are cut to the reading rules beside it.

Drop a video here

Speech becomes timed subtitles on this device. Up to two hours.

MP4MOVM4VWEBMMKV

The speech

Whisper hears the words. The rules below only decide how they are cut.

Open a video to startThe first run downloads the speech model once. After that it works offline.

The reading rules

Change one and every subtitle is cut again at once. The model does not run again.

Netflix's English limits: 42 characters a line, two lines, 20 characters a second.

42
2
20 characters a second
0.8 s
7 s
83 ms

The look

How the subtitles sit on the picture. A saved video and a styled .ass file keep it; SRT and VTT carry the words only.

5%
12%
None
8%
130%

Bundled fonts load from floi when you pick them. Bold and italic are drawn by the browser.

Video and subtitles stay in your browser.Saving details

How to generate subtitles from a video

  1. Open a video

    Drop in an MP4, MOV or WebM up to two hours long. Only the soundtrack is read, and the file stays on your device.

  2. Generate the subtitles

    Pick a model and the spoken language, then press Generate subtitles. Whisper gives every word its own start and end time.

  3. Check, style and save

    Choose reading rules and a look, and watch the subtitles change on the video. Fix any word, then save a subtitle file or the video.

Using the subtitle generator

The tool reads the soundtrack once and keeps every word with its time. Everything after that, the cutting, the checking and the preview, happens instantly on the words.

Opening a video

Drop a video on the panel or press Choose a video. Try a short example opens a 26 second synthetic reading, which is a quick way to see the rules at work before using your own file.

What you openWhat happens
MP4 or MOV with AAC soundPlays in current Chrome, Edge, Firefox and Safari. The soundtrack is decoded to a 16 kHz mono copy for Whisper
WebMWorks in Chrome, Edge and Firefox
MKV, or video with an unusual audio codecMay not decode. Convert it with the video converter first
Longer than two hours, or over 2 GBRefused before the model runs, because the sound is held in memory. Cut it into parts first

The two previews

The video plays with its subtitles drawn over it by the same code that makes a saved video, so what you see is what you get. The buttons above it switch between two ways of showing the words.

PreviewWhat it shows
SubtitlesThe cues you will save, one or two lines at the bottom of the picture
Word by wordThe same words, a few at a time, each lit as it is spoken. This is a preview of how Karaoke Captions would caption the clip, and the card under it opens it there

The bar under the picture plays and pauses, steps to the previous or next subtitle, moves through the video and mutes it. Nothing covers the bottom of the picture, where the subtitles sit.

The picture stays in sight while you change settings. In a wide window it stays put as the settings scroll past. In a narrow one it moves to a corner when you change a setting with it out of view, and its × puts it back. Change a setting on a paused moment with no subtitle and the video moves to the nearest one, so you always see the change.

A vertical video gets a note under the player. Two-line subtitles at the bottom of a 9:16 frame sit under the buttons on TikTok, Reels and Shorts, and the note explains the alternative.

The speech settings

ControlEffect
Model: StandardWhisper base, a 147 MB download. The quick choice for long videos
Model: AccurateWhisper small, a 304 MB download. In floi’s transcription test it made 42% fewer mistakes and took 1.7 times as long
Spoken languageDetect automatically reads the first spoken part and picks one of 99 languages. Naming it avoids a wrong guess
Subtitles in: The language spokenSubtitles in the language of the video
Subtitles in: English, translatedEnglish subtitles for a video in any language Whisper understands
Generate subtitles, StopStarts the run. Stop keeps every subtitle cut so far

The reading rules

Six rules decide how the words are cut. A preset sets all six at once; moving any slider makes the rules your own. The subtitles re-cut as you drag, because only the cutting runs again.

RuleStreamingEasy readingOne line
Characters per line423732
Lines per subtitle221
Reading speed20 characters a second1520
Shortest time on screen0.8 s1.2 s0.8 s
Longest time on screen7 s7 s5 s
Gap between subtitles83 ms, two frames at 24 fps83 ms83 ms

How each subtitle is cut

Whisper’s own lines are often ten seconds long and stop in the middle of a clause. This tool starts from the words instead and follows the rules a subtitler would.

  1. A subtitle starts on the first sound of its first word.
  2. It never runs across a pause of more than 1.6 seconds, and prefers to end at a full stop, then a comma, then before a word like and, but or because.
  3. A line never ends on a word that leads into the next one, such as the, a, of or to.
  4. Two lines are balanced, with the shorter line on top.
  5. It stays up about half a second after the speech, if the next subtitle allows it, and long enough to read at your reading speed.
  6. It ends at least the gap before the next one starts.

The check and the list

The figure at the top of the rail is the share of subtitles that meet every rule. Fast speech can make that impossible, so a subtitle that breaks a rule is marked rather than hidden.

PartWhat it does
The rule buttons under the figureEach one counts a kind of problem, such as Too fast to read. Press it to list only those subtitles
Only subtitles that break a ruleHides every subtitle with nothing to fix
The time on a subtitlePlays the video from that subtitle
The words of a subtitleClick to correct them. The time is shared over your words, and that subtitle keeps its place when you change a rule
The bar and cps figureIts reading speed. The mark two thirds along is your limit

Translating a video into English subtitles

Set Spoken language to the language of the video, or leave it on Detect automatically, and set Subtitles in to English, translated. Whisper writes the English as it listens. Translated timing is approximate, so play it through once and correct any subtitle that arrives early or late.

Styling the subtitles

The look section sets how the subtitles sit on the picture. Before you generate, changing it shows a sample line on the video for a few seconds, so you can choose a style first.

ControlEffect
Classic, Box, Yellow, Cinema, Bold, Soft boxSix starting looks, each drawn on its button. Change anything and none is selected
Font, Weight25 bundled fonts and three system ones. A bundled font loads from floi when you pick it
Position, Alignment, Distance from the edgeBottom, middle or top, left, centre or right, and how far in from that edge
Drop shadow, ItalicA soft shadow under the text, and slanted text
Text sizeThe height of the text as a share of the picture's shorter side, so it looks the same at any resolution
Text, Outline, BoxThe three colours. Outline width and Box opacity set how much of each shows; at None it is off
Line spacingThe space between the two lines of a subtitle

Saving and what comes next

ChoiceWhat you get
Save SRTA SubRip file, the format YouTube, VLC, Premiere and DaVinci Resolve read
Save VTTA WebVTT file, for the HTML video element and most web players
Save ASSStyled subtitles that keep the font, colours, box and position in VLC, mpv, Aegisub and ffmpeg. The player needs the font installed, or it uses a similar one
CopyThe chosen file as text, on the clipboard
Save video with subtitlesA new MP4 or WebM with the subtitles drawn in, up to 1280 or 1920 pixels on its longest side. For clips up to five minutes
Retime by handOpens the video and the SRT in the subtitle editor, to drag a subtitle's start and end
Word-by-word captions for socialOpens the clip in Karaoke Captions, already timed, in a new tab

Keyboard controls

KeysWhat they do
⌘ O or Ctrl OOpen a video
⌘ S or Ctrl SSave the subtitles
SpacePlay or pause the video
← →The previous or next subtitle, when you are not in a field
Enter in a subtitleFinish the correction
Esc in a subtitleUndo the correction you are typing
← → on a ruleMove the rule one step

Narrow, Wide or Full at the top right of the tool gives the panel more room.

What this tool will not do

  • It does not label speakers. A conversation comes out as one stream of subtitles.
  • It does not see the picture. Professional timing also snaps to shot changes, which needs the video itself.
  • It translates only into English, and cannot translate an existing subtitle file.
  • It does not make a video longer than five minutes. Drawing every frame is done in the browser; save the subtitle file for a long video.
  • It does not accept links. Download the video first.
  • It does not keep your work. Save the file before you close the tab.

How it compares with other subtitle generators

Most subtitle generators upload the video and hand back whatever the speech model produced. These terms were read from each service’s own page on 17 October 2026.

ServiceWhere the video goesFree limitReading rules
floiStays on your deviceNone. Two hours per videoShown, adjustable and checked
HappyScribeUploadedA 10 minute trial, watermarked MP4Reading-speed management on paid plans
HeyGenUploadedAccount requiredNot described
VdoCipherStays in the browserNone statedNot described
StorritoStays in the browserNone statedNot described

The cloud services win on speed, speaker labels and translation into many languages. VdoCipher can caption several files at once, which floi cannot. floi is the one to use when the subtitles have to be easy to read and the video has to stay private.

Subtitles or word-by-word captions?

They solve different problems. Subtitles are for watching a video through. Word-by-word captions are for stopping someone scrolling past a short clip.

Subtitles, made here

Full sentences on one or two lines, low in the picture, timed to be read. Best for lectures, interviews, films, tutorials and YouTube. You save a file that switches on and off.

Word-by-word captions

One to three big words at a time, each lit as it is spoken, higher up a 9:16 frame. Best for TikTok, Reels and Shorts. You save an MP4 with the captions burned in.

Karaoke Captions makes the second kind. It is a sister tool from the maker of floi, and it works the same way: Whisper in your browser, no upload and no watermark. After you generate subtitles here, the Word by word preview shows your own clip in its default style, and Open in Karaoke Captions hands it over with the timing already done.

Frequently asked questions

Is my video uploaded?

No. Your browser decodes the soundtrack and Whisper runs in the same tab, on your graphics chip or processor. The only download is the speech model, once, from floi’s own model domain. The video, the words and the subtitles are never saved to a floi account, even when you are signed in.

Is it free, with no watermark?

Yes. There is no minute allowance, no daily limit, no sign-up and nothing added to the file. The work happens on your device, so a tenth video costs floi nothing more than the first. The two hour ceiling is about browser memory.

How accurate are the subtitles?

The words are as good as Whisper base or small on your audio: good on clear speech, worse on crosstalk, music beds and distant microphones. On an 8 minute reading in floi’s transcription test, the Standard model got 6.95% of words wrong and Accurate 4.00%. Names are the usual mistake. Read the list once and fix them before you save.

Can it translate a video into English subtitles?

Yes. Set Subtitles in to English, translated, and Whisper writes English for any language it hears. The timing is approximate, because the English words do not line up one for one with the spoken ones. It cannot translate into any language other than English, or translate an existing subtitle file.

Where do the reading rules come from?

The Streaming preset uses the limits in Netflix’s English timed text guide: 42 characters a line, two lines and 20 characters a second. The timing follows its subtitle timing guidelines: at least 20 frames on screen, a 2 frame gap and about half a second after the speech ends. Easy reading and One line are floi’s own settings, not a published standard.

How is this different from the audio to text tool?

Audio to text writes down what was said, and its SRT is Whisper’s own lines split at 84 characters. This tool times every word and cuts the subtitles from the words, so each one starts on its first word, ends on a pause and stays up long enough to read. It also shows them on the video.

Can I burn the subtitles into the video?

Yes, for a clip up to five minutes. Save video with subtitles draws them into a new MP4 or WebM in the font, colours and position you chose, exactly as the preview shows them. For a longer video, save a subtitle file instead: SRT for YouTube and most players, or a styled .ass file, which keeps the look in VLC and mpv.

Can I change the font and colour of the subtitles?

Yes. Pick one of six looks, or set the font, weight, size, text and outline colours, a box behind the text, a drop shadow, the position and the alignment yourself. There are 25 bundled fonts plus Arial, Georgia and a monospace face. The look goes into a saved video and a .ass file. An SRT or VTT file holds only the words and times, because players draw those in their own style.

Can it make word-by-word captions for TikTok or Reels?

Not here. Subtitles are sentences at the bottom of the picture, for watching. Word-by-word captions are a few big words at a time, for a vertical clip. Karaoke Captions, a sister tool from the maker of floi, makes those, and Open in Karaoke Captions sends it this clip with the words already timed.

Something missing? Request a feature

↑↓ move↵ openesc close