# Every step from your voice to finished text.

Canonical page: https://flit.fyi/features

> Streaming dictation in 0.7s, formatting that runs locally, more than 60 spoken commands, a dictionary that learns, prompts spoken into Claude Code and Codex, 1,600+ languages, recordings transcribed on your Mac, history, analytics, and no server.

Flit cleans up what you said, formats it for the app you are in, and lands it at your cursor about 0.7 seconds after you let go. All of it on your Mac. Here is each step, working.

0.7s to finished text

1,600+ languages, all on your Mac

60+ spoken commands, no model

0 bytes leave your Mac

## Finished text, not a transcript.

Every other dictation tool hands you a transcript and leaves the cleanup to you. Flit does the cleanup, on your Mac, before the text ever lands.

The fillers go. The engine hears "1030 AM" and you get 10:30 AM, by a fixed rule, not a model's guess. "Scratch that" cancels the statement before it and keeps only the correction. Emails, URLs and doubled words are written the way you would have typed them.

## It writes the way you would have typed it.

[Fillers and false starts](https://flit.fyi/glossary/disfluency) go. Numbers, dates, prices, emails and URLs come out the way you would type them, and “scratch that” keeps only the correction.

### Matches the app you are in

Casual in Messages, professional in Mail, your exact words in Terminal. Set your own rule per app.

### Exact, by rule

Anything with one correct answer is done by a [fixed rule](https://flit.fyi/glossary/formatting-pass), not the model. Say “ten thirty AM” and you get 10:30 AM. Every time.

### Corrections, not transcripts

Say “scratch that” and the false start goes. Only what you meant to say is written.

### Emoji by name

Say “rocket emoji” and 🚀 is typed, in any app. Say “literally rocket emoji” and the words stay words.

### Edit by voice

Select text anywhere, hold the key, and say “make this shorter” or “fix the tone”. Command Z undoes it.

### Paragraphs for long notes

A long dictation used to land as one block. Flit starts a new paragraph where you move to a new point.

## It knows who you are replying to.

Flit can read the thread you are answering, so a name in it comes out spelled right and the reply matches its tone. The text is read on your Mac and forgotten after one dictation.

A sentence you continue picks up from what is already in the field instead of starting over, and an email knows who it is to. Terminals and code editors, where Flit types your exact words, are never read.

- Reads

  The field you are typing into and the window around it. Text, never a screenshot.

- Keeps

  Nothing. What it read stays in memory for one dictation and is gone when your text lands.

- Default

  Off. You turn it on in Settings. Password fields are never read, on or off.

## Four ways to start, each one gesture.

Hold a key, tap it, or just start talking. Hold is [push-to-talk](https://flit.fyi/glossary/push-to-talk); hands-free uses [voice activity detection](https://flit.fyi/glossary/voice-activity-detection), with an optional [wake word](https://flit.fyi/glossary/wake-word) on macOS 26. Esc cancels any of them: the audio is deleted and nothing is inserted.

- ### Hold

  Hold Fn, a right-hand key such as Right Command, or your own shortcut. Speak, let go. Best for a sentence or two.

- ### Tap

  A quick tap locks recording on so you can talk as long as you want. Tap again to finish.

- ### Hands-free

  Arm it once and Flit starts the moment you speak and stops when you pause. Nothing is recorded until it hears you.

- ### From anywhere

  Shortcuts has Start, Stop, Toggle and Cancel Dictation actions, and any launcher or Stream Deck key can open a flit://toggle link.

### In the notch, or floating where you want it

The live transcript hangs from the camera housing, or sits as a glass pill in any corner. It grows as the words arrive and gets out of the way when you stop. On a display without a notch, the pill takes over.

## Snippets and commands, exactly as you said them.

Say “insert my scheduling link” and Flit types the link. Say “comma” and you get one. Both are handled by fixed rules, so what lands is exactly what you asked for.

### Say it once, insert the whole thing

[Snippets](https://flit.fyi/glossary/text-expansion) hold anything you retype often: sign-offs, addresses, canned replies. Triggers forgive the small differences in how you actually speak, and what lands is exactly what you saved, never reworded.

### Punctuation, spoken

Say “comma”, “open paren”, “dollar sign”, “new paragraph”. More than [60 commands](https://flit.fyi/glossary/spoken-punctuation), handled without a model touching them. 115 emoji by name. Always on in terminals and editors, optional everywhere else. [Everything you can say](https://flit.fyi/commands).

## A dictionary that learns your words.

Names, products and jargon are where every engine fails. Paste yours in once, or keep correcting the same word and Flit asks whether to remember it. Nothing is learned without a yes.

With Qwen3-ASR and Whisper, your terms reach the recognizer before it decodes. Whatever any engine still mangles is repaired afterwards by rule: “pymium” becomes premium because premium is yours and pymium is not a word. Real words are never rewritten.

A term can be [scoped to one language](https://flit.fyi/glossary/personal-dictionary), the ones you use most are ranked first, and the whole list is a plain file you can copy to another Mac.

### Suggests, never assumes

A word you fix twice becomes a suggestion. Add it and it is spelled your way from then on, in every app.

## Work with your agents, out loud.

Hold the key, say what you want built, let go. The brief lands in Claude Code, Codex or Cursor as a clean paragraph, ready to send.

### Prose for prompts, exact for code

Flit reads what kind of field you are in, not a list of app names.

### Exact words in the shell

Flags keep their dashes and nothing is [reworded](https://flit.fyi/glossary/verbatim-mode).

### Names from your project

File names are spelled the way the repo spells them. Names only, never contents.

Works in

- Claude Code
- Codex
- Cursor
- Gemini CLI
- ChatGPT
- VS Code
- JetBrains
- Xcode
- Warp
- Zed
- Any agent

## 1,600+ languages, switched by speaking.

Flit [identifies what you are speaking](https://flit.fyi/glossary/language-identification) in the first seconds and picks the right engine for it, so a bilingual conversation does not mean a trip to Settings. 30 languages [transcribe as you speak](https://flit.fyi/glossary/streaming-transcription); the rest appear when you stop speaking, still entirely on your Mac. The widest coverage comes from Meta’s Omnilingual model, so accuracy varies by language.

Other engines are a download away. Parakeet Ultra covers English and 24 more European languages, Voxtral Realtime shows live words in 13 languages including Chinese, Japanese and Hindi, Cohere Transcribe is the most accurate for German, French, Spanish, Italian, Dutch and nine more, and Qwen3-ASR covers 30 languages. And you can think in one language and write in another: dictate in German, get English. Off by default, and never translated unless you ask.

### Think in one language. Write in another.

Press a language to hear the same sentence in it. Translation is off until you turn it on.

## Every dictation, and where it landed.

History lists each dictation with the app it went into. Open one to read the finished text and what you actually said. If you keep audio, press play and hear it back.

- Capped at a number you choose, prunable in one click, and yours to turn off
- Audio is deleted right after transcription unless you ask Flit to keep it
- Copy-only mode needs no Accessibility permission and still keeps the list
- Your word and time counters survive pruning: clearing the list never resets them

### Read it, or hear it back

A chevron opens the transcript. A play button means the audio was kept, and plays it in place. Everything on this list is on your Mac and nowhere else.

## Drop in a recording. Get the transcript back.

Dictation is for what you are writing now. [Transcription](https://flit.fyi/glossary/transcription) is for what was already said: a meeting, a lecture, an interview, a voice memo. The Transcribe tab takes an audio or video file and turns it into a transcript with the same models that dictate, [on your Mac](https://flit.fyi/glossary/on-device-processing).

Flit listens for the pauses and transcribes the speech between them, so a two-hour recording is read in pieces and never fills memory. Every transcript is saved as a text file in a folder you choose, and kept in the tab for later.

- Drop a file on the tab or on the menu bar icon, or right-click it in Finder
- Text appears as it goes, and a two-hour recording takes a few minutes
- Copy it, or export Markdown, SRT or VTT subtitles with timestamps
- Your choice of voice model and formatting level, remembered

### Choose a file, or drop it on the menu bar icon

MP3, M4A, WAV, AIFF, FLAC, MP4 and MOV. The menu bar icon wears a ring while it works, and a notification says when the transcript is ready.

### Computed here, kept here

Every figure comes from your own history on this Mac. The export writes a PNG to Downloads and nowhere else.

## Your numbers, kept on your Mac.

Words dictated, time saved and the days you showed up, computed from your own history on this Mac. Every figure comes with its sparkline, and any view exports as an image.

It informs and never nags: no notifications, no reminders, no streaks to keep up. The counters survive history pruning, so clearing your transcripts never resets what you have saved.

## Nothing leaves your Mac, and you can check.

Flit has no account and no telemetry, and no server ever sees your voice or your text. They [never leave this Mac](https://flit.fyi/glossary/on-device-processing), and you do not have to trust us on that.

Open Little Snitch or any network monitor, then dictate all day. Not a byte of what you said goes anywhere. The privacy page lists every connection the app ever makes, so you can check that list against what you see.

Wispr Flow screenshots your screen and sends it to their cloud for context. Flit reads the text locally instead, keeps it in memory for one dictation, and never stores it.

- No account. You buy a key; there is nothing to sign in to.
- No cloud. Turn Wi-Fi off and every part still works.

[Read the full privacy statement](https://flit.fyi/privacy)

## The other 50 things it does.

None of these sells the app on its own. Together they are the difference between something you try and something you keep.

### Activation

- Hold to talk, or tap once to lock it on
- Double-tap for hands-free, or arm voice activation
- Any key with a modifier, Fn by default
- Escape cancels anything, at any point
- Hands-free stops after a pause you set
- A time limit for hands-free, which keeps what it heard
- Shortcuts actions and a flit://toggle link, for launchers and Stream Decks
- Review before insert: Return sends, Escape discards

### The HUD

- A floating panel, a glass pill in 6 corners, or the notch
- Live transcript while you speak, roughly every 320ms
- Dark glass, or follow the system appearance
- Sound cues on start and stop, if you want them
- Test a phrase from Settings without leaving it

### Text handling

- Tone: auto, casual, neutral or professional
- Paragraphs where you move to a new point
- Paired symbols close themselves
- Spoken emoji, in the apps where you meant it
- “Literally comma” types the word, not the symbol
- Times, dates, numbers and prices resolved by fixed rule
- Filler words dropped without touching your phrasing
- Edit a selection by voice instead of appending

### Your data

- Transcript history is capped, prunable, and yours to disable
- Audio deleted right after transcription unless you keep it
- Copy-only mode needs no Accessibility permission
- Your clipboard is restored after Flit pastes
- Dictionary and snippets are plain files you can copy between Macs
- Words dictated and time saved, computed locally

### Recordings

- Drop a file on the Transcribe tab, or on the menu bar icon
- Right-click a recording in Finder: Services → Transcribe with Flit
- Open With Flit, from any app that has the file
- Files wait in line; one runs at a time, and Stop keeps what it has
- A progress ring on the menu bar icon, and a notification when it is done
- Export as text, Markdown, SRT or VTT, with timestamps
- A model and a formatting level for recordings, separate from dictation
- A flit command for the terminal, for a folder of files or a script

### Models

- A default speech engine that is ready with nothing to download
- Apple’s own speech recognition, nothing to download
- Parakeet Ultra and Voxtral Realtime, for live words in 30 languages
- Meta’s Omnilingual, for more than 1,600 languages
- Cohere Transcribe and Qwen3-ASR, for the languages they are best at
- Whisper in several sizes, for accuracy over speed
- A downloadable formatting model, for Macs whose macOS has none built in
- An optional larger formatting model for Macs with 32 GB of memory or more
- Every model shows its size, and can be deleted and refetched
- Engines switch automatically when one cannot handle a language

### Fit and finish

- Launch at login
- Pick your input device; virtual microphones are skipped
- Onboarding that explains each permission before macOS asks
- Light and dark, in your Mac’s own accent color
- If formatting fails, the plain transcript is inserted anyway

## What Flit does not do, yet.

Flit is built to do a few things completely rather than many things partly. Here is the edge of that decision, and what is planned past it.

### Meetings and speaker labels

Flit transcribes a recording you already have. Recording a meeting as it happens, and saying who said what, come next, and will run on your Mac like everything else.

[What the Transcribe tab does](https://flit.fyi/features#transcribe)

### Windows, iPhone or iPad

macOS on Apple silicon today. Windows is in the works, and each platform gets an app built for it the way the Mac app was, not a port.

[Join the Windows waitlist](https://flit.fyi/windows)

### Syncing between Macs

Your dictionary and snippets are plain files you can copy across. There is no sync, because sync needs an account and a server.

## Your voice was always faster.

7 days free, then $19 USD once. No account, no subscription, nothing uploaded.

[Download for Mac](https://flit.fyi/download) [Buy now · $19 USD](https://flit.fyi/pricing#personal)

macOS 14 or later · Apple silicon
