Skip to content

macOS · Linux · runs on your own computer · $19 once

Hold a key. Say it. It is already typed.

Coii VoiceInput turns speech into text in the window you were already working in: a sentence back in about half a second, punctuated, in Chinese or English or both. The model runs on your own computer. The recording never leaves it, and is never kept. There is no account.

30 days free, no card · then $19 once · macOS 13+ and Linux x86_64

Coii VoiceInput — History

retro
  • Ship the release on Friday, and tell the team.

    SlackRecommended0.5sVerified

  • 明天下午三点开产品评审会,记得带电脑。

    NotesRecommended0.5sVerified

  • Move the retro to Thursday so the whole team can be there.

    MailRecommended0.6sUnverified

  • Add a note about the flaky search test before I forget it.

    ChromeRecommended0.7sCopied

nothing kept but the text

nothing sent · 0 requests

Listening0:03
  • Nothing is uploaded

    Audio and text stay here

  • No account

    Nothing to sign up for

  • Works with Wi-Fi off

    The model is on your disk

  • $19 once

    30 days free first

How it works

One key, and three things that happen in a fixed order.

No window to switch to, no Send button, no server to wait for. Coii VoiceInput listens for a key you already have.

  1. 01

    Hold ⌥ Space

    The pill appears over whatever you were doing and the level meter moves, so you know it is hearing you. Where the text will go is decided the moment you press the key, not later.

  2. 02

    It writes it down first

    Let go, and a row goes into your history before the engine is asked a single question. Nothing downstream — a slow model, a crashed engine, a paste that never lands — can cost you the sentence. The audio itself is discarded once transcribed.

  3. 03

    It types it where you were

    Straight into the field you left, through the accessibility API where that works and a synthetic paste where it does not, with your clipboard put back afterwards. About half a second for a sentence with the default engine.

Getting the text into your app

Three outcomes, not two.

Typing into somebody else’s application is the least reliable thing this app does. So it is tried in three ways, and each one is honest about what it can prove.

“Sent, but this app cannot tell whether it landed” is the ordinary case in a browser or an Electron editor. It gets its own outcome and its own line in the pill rather than being reported as success — and your clipboard is handed back either way, because a dictation never keeps it.

The ladder

  • 01

    Accessibility API

    Written into the focused field directly. Read back — so this one can say Verified.

  • 02

    Synthetic ⌘V

    Your clipboard borrowed for one keystroke and given back — whatever the paste did.

  • 03

    Your history, and it says so

    Nothing typed, and nothing taken: the clipboard is left exactly as you had it. The sentence is in your history, and the pill and a notification say so.

And a step before all three: a password field, a moved focus or a missing permission is refused up front, with the text put somewhere safe rather than typed somewhere wrong.

Features

Built around the ways dictation actually fails.

A first word clipped off, a paste that lands in the wrong window, a name spelled four different ways — the awkward cases shaped this.

What you said never disappears

The row is in the database before the engine is asked anything, and long before another application is typed into. A crashed engine leaves the dictation in the history rather than nowhere, and so does a refused paste — one click from the clipboard, rather than dropped onto it. The recording itself is never kept: the text is the thing worth keeping.

Several engines, your choice

Swapping engines is a click, and a new one arrives as a file rather than an app update. Local speech recognition moves every few months; the app does not have to be rewritten to change its mind.

Chinese and English in one sentence

The default engine detects the language itself, handles both mixed inside a single utterance, and punctuates the Chinese. Many more languages are one engine away.

Search that works mid-word

A substring finds a sentence in any script, with no word boundaries to get wrong. Type two letters and it still matches rather than going blank.

It never steals your cursor

The pill is a panel that cannot take focus. If it could, the field you were typing in would stop being focused the instant you started talking, and the app would be typing into itself.

Your words, cleaned up only where it is safe

Repeated words are collapsed and your own vocabulary is applied, so a name the model has never seen still comes out spelled right. Both versions are kept: what the model said and what you got. The defaults fix artefacts of transcription and leave style alone. Filler removal is off.

Engines

Pick the trade-off yourself.

Several models ship with the app, all of them local. They differ in size, speed and languages, and switching is a click, not a reinstall.

Recommended

Chinese and English, mixed in one sentence, with punctuation. What the first run installs.

Light

A fraction of the size, for an older Mac or a slow connection. Words on screen inside a minute.

Most languages

Dozens of languages in one model, and the path for a model you bring yourself.

A model your Mac cannot run still appears in the list, greyed, with the reason. Sizes are shown before you download.

What it sends

Four rows. None of them carries a word you said.

“Private” is easy to write on a page, and a dictation app is the worst place to take it on trust. So here is the complete list instead: every connection the app can make, and the one row that says what it never does.

  1. 01

    When you open the licence panel

    A HEAD request to cloudflare.com (or www.apple.com if that fails), read for its Date header only, so a wound-back clock cannot buy free trial days. It carries no identifier. Offline is not an error.

  2. 02

    When you install an engine

    The model weights are fetched once from a public model host, which sees your IP address and which file you asked for. After that the files are used from your disk and the host is never contacted again.

  3. 03

    When you activate

    Your licence key goes to Lemon Squeezy, plus a device label made from your Mac’s name. At most three calls per device: check, activate, deactivate. Not your audio, not your transcripts, not how often you dictate.

  4. 04

    Everything else

    Usage statistics are optional and off by default. If you opt in, PostHog receives feature events, app version and coarse performance data, never your content. You can turn this off in Settings. No automatic crash reporting. Once a day it asks the download server whether a newer version exists — nothing about you goes with the question, nothing installs unless you press it, and a switch in Settings stops it. Engines that run as a separate process talk to the app over the local loopback only.

Dictating with the network off does exactly what dictating with the network on does.

Read the privacy policy

macOS and Linux.

Putting text into somebody else’s window is the part of this app that is different on every platform. On macOS it is the accessibility API followed by a synthetic ⌘V. It confirms what it can, says “unverified” when the application will not answer, and points at your history when it fails — never at a clipboard it took from you.

On Linux it is a Ctrl+V. Under Wayland the desktop asks once whether the app may send it, and remembers the answer; the dictation key needs a desktop with the global-shortcuts portal, which on Ubuntu means 25.04 or later — on 24.04, use the Xorg session. A terminal pastes with Ctrl+Shift+V instead, so there the sentence waits in your history. Windows builds, but is not released.

Pricing

One price. Every engine. Every update.

Thirty days with everything unlocked, no card and no account. Then $19 USD, once.

Personal licence

$19USD, once

One payment. No subscription, nothing renews.

  • Every engine and every feature — there is no higher tier
  • 3 devices, and you free a slot yourself
  • Every new version, at no further charge
  • Commercial use, including work you are paid for
  • 30-day trial first, no card and no account
  • Every transcript stays yours, licence or not
Start the 30-day trial

You can buy from inside the app at any point in the trial.

Checkout by Lemon Squeezy, our merchant of record. Tax handled, invoice included.

Lost your key? Lemon Squeezy’s order lookup mails it to the address that paid. No email to us required.

Questions

The ones worth asking first.

Does anything I say leave the Mac?
No. The model runs in a process on your machine, the transcript and the search index are files on your disk, and the recording is discarded once transcribed. There is no server of ours to send anything to. The complete list of connections the app can make is under what it sends; none of them carries audio or text.
What exactly stops when the 30 days are up?
One thing: starting a new dictation. Everything you already said stays readable, searchable and copyable, with no licence and forever. The history is an ordinary database file on your disk.
Is it a subscription?
No. One payment, and every update after it is included. Nothing renews and there is nothing to cancel. The app validates the key once when you activate and then works with the network off indefinitely.
Is there an account to create?
No. No sign-up, no email and no profile. The 30-day trial starts when you first open the app and asks for nothing. When you buy, what you get is a licence key; there is still no account.
Does it work on a plane?
Yes. Transcription is entirely local, so every dictation works with the Wi-Fi off. The only things that want a connection are downloading an engine and activating a licence key, and each happens once.
Which languages, and how good is it?
It depends on the engine, which is why there are several. The default handles Chinese and English mixed in one sentence and punctuates the Chinese; another covers dozens of languages; a light one suits an older Mac. On our own bench the default returns a sentence in about half a second with no character errors. Your microphone and your room are not a bench, so try it on yours.
What if the text does not land in the app I was typing in?
Then it is one click away. The row goes into the history before the engine is asked anything, so a failed paste cannot lose a sentence. Injection has three outcomes rather than two: landed and verified, sent but unverifiable, or refused — and in every one of them the pill says which, and your clipboard is left exactly as you had it. Open the history and copy the row.
Does it type into password fields?
No, and it refuses early rather than failing halfway. macOS turns on secure input for password fields; the app sees that and stops before typing anything. The dictation goes to your history — not to your clipboard, where the next thing you pasted would have been a sentence you spoke at a password box.
How big is the download?
The app itself is small; the model is not, and you choose which one. They run from a few hundred megabytes to a few gigabytes, fetched once when you pick one. First run installs the recommended model and offers the light one as a link for slow connections.
Why macOS only?
The app builds on Windows and Linux, but only the macOS builds are signed, tested and released. The download page lists only what has shipped.
How many machines does one licence cover?
3. Free a slot from the Mac that holds it, under Settings → Deactivate this machine, ideally before you wipe or sell it. If a Mac is already gone, email us and we will free the slot.
Who am I actually buying from?
Lemon Squeezy is the merchant of record: it takes the payment, issues the invoice and handles VAT, GST and sales tax. The licence itself is granted by Riff Tech, Inc.. Your card statement will say Lemon Squeezy.

You already talk faster than you type.

Thirty days, every engine, nothing to sign up for. Dictate one message tonight and see.