Offline dictation Every app · On-device · No account

Talk anywhere you can type.

Hold Right ⌥, say what you mean, let go. Utter turns your voice into tidy text and types it where your cursor is — using Apple’s on-device speech model, so nothing ever leaves your Mac.

Free · macOS 14+ · Apple silicon & Intel · ~2 MB · How to open it the first time

Features

Faster than typing. Quieter than the cloud.

Utter lives in your menu bar and works in any text field — email, chat, docs, terminals and code editors.

⌥

Hold, talk, let go

Hold Right ⌥ (or ⌘, ⌃, fn) while you speak. Prefer hands-free? Switch to a start/stop shortcut such as ⌃⌥Space. Esc cancels.

🔒

On this Mac only

Recognition runs with Apple’s on-device speech model. No audio or text is uploaded, and there’s no account. The only network call is the update check.

〰︎

A pill, not a popup

A slim pill near the bottom of the screen shows your voice level and the words as they arrive, then gets out of the way.

✨

Tidied for you

Ums and uhs disappear, sentences get capitals, and you can say “new line”, “new paragraph”, “comma” or “period”.

📖

Your dictionary

Teach it that “next js” means Next.js, add names and jargon as vocabulary hints, and Utter spells them your way.

📋

Clipboard-safe

Text is pasted for you and your previous clipboard is put back a moment later. Without Accessibility, it’s copied and you press ⌘V.

🕘

History

Every dictation, searchable, with the app it went to. Copy it, send it to that app again, or delete it. Stored as a local file.

📈

See the time you save

Words dictated, speaking pace and the time saved compared with typing — on the Home screen.

🌐

Your language

Pick from every language your Mac can recognise on-device. Utter only lists the ones that stay offline.

Three modes

Prose, word for word, or code.

Switch modes from the menu bar. Your dictionary applies in all of them.

Clean

For messages and documents.

“um so the build is ready comma uh can you test it new line thanks”
↓
So the build is ready, can you test it Thanks

Code

Keeps your casing and builds identifiers.

“let camel case retry count end equals snake case max retries”
↓
let retryCount = max_retries

Raw

Exactly what the recogniser heard.

“um so the build is ready”
↓
Um so the build is ready
Getting started

Ready in a minute.

1

Allow the microphone

It’s only used while you hold the key.

2

Allow speech recognition

That switches on Apple’s on-device model for Utter.

3

Allow Accessibility

Optional, but it lets Utter hear the hold key in other apps and paste for you.

FAQ

Questions, answered.

Does anything I say leave my Mac?

No. Utter asks Apple’s speech framework for on-device recognition only and refuses to run a language that would need a server. History and your dictionary are JSON files in your Library folder. The app’s only network request is checking this site for updates.

Which languages work?

Whatever your Mac can recognise offline. Settings lists only those languages; macOS may need to download a language’s speech model first, which you can do in System Settings › Keyboard › Dictation.

Why does it ask for Accessibility?

Two reasons: to notice the hold key while another app is in front, and to press ⌘V for you. Without it, use the start/stop shortcut and Utter will copy the text so you can paste it yourself.

Will it overwrite what’s on my clipboard?

Only for a moment. Utter puts your previous clipboard back right after pasting. You can turn that off in Settings.

Is it as accurate as cloud dictation?

Apple’s on-device model is very good for everyday speech. For names and technical terms, add them to the Dictionary — vocabulary hints and replacements make a big difference.

macOS says it can’t verify the developer.

Utter is distributed directly from this website. Here’s how to open it the first time.

Say it once. It’s typed.

Free, private, and ready the moment you hold the key.