TypeNo
May 25, 2026 · View on GitHub
A free, open source, privacy-first voice input tool for macOS.

A minimal macOS voice input app. TypeNo captures your voice, transcribes it locally, and pastes the result into whatever app you were using — all in under a second.
Official website: https://typeno.com
Special thanks to marswave ai's coli project for powering local speech recognition.
How It Works
- Short-press Control to start recording
- Short-press Control again to stop
- Text is automatically transcribed and pasted into your active app (also copied to clipboard)
- While recording, the overlay shows segmented preview text about once per second; after you stop, TypeNo still runs a final full-file transcription before pasting
That's it. No windows, no settings, no accounts.
Install
Option 1 — Download the App
- Download TypeNo for macOS
- Download the latest
TypeNo.app.zip - Unzip it
- Move
TypeNo.appto/Applications - Open TypeNo
TypeNo is signed and notarized by Apple — it should open without any warnings.
Install the speech engine
TypeNo uses coli for local speech recognition.
Prerequisites:
- Node.js (LTS recommended — install directly from nodejs.org for best compatibility)
- ffmpeg — required for audio conversion:
brew install ffmpeg
npm install -g @marswave/coli
This installs the coli CLI itself, but it does not pre-download the speech model.
If Coli is missing, TypeNo will show an in-app setup prompt with the install command.
Node 24+: If you get a
sherpa-onnx-nodeerror, build from source:npm install -g @marswave/coli --build-from-source
First Launch
TypeNo needs two one-time permissions:
- Microphone — to capture your voice
- Accessibility — to paste text into apps
The app will guide you through granting these on first launch.
On the first actual transcription, coli will also download its speech model into ~/.coli/models/. That is a separate step from npm install -g @marswave/coli.
Troubleshooting: Coli Model Download Fails
The speech model is downloaded from GitHub. If GitHub is inaccessible in your network, the first transcription can fail while coli is downloading the model.
Fix: Enable TUN mode (also called Enhanced Mode) in your proxy tool to ensure all system-level traffic is routed correctly. Then trigger another transcription so coli can retry the model download.
If ~/.coli/models/ contains a partial .tar.bz2 archive from a failed download, delete the leftover files in that directory before retrying.
rm -rf ~/.coli/models
Troubleshooting: Accessibility Permission Not Working
Some users find that enabling TypeNo in System Settings → Privacy & Security → Accessibility has no effect — a known macOS bug. The fix:
- Select TypeNo in the list
- Click − to remove it
- Click + and re-add TypeNo from
/Applications

Option 2 — Build from Source
git clone https://github.com/marswaveai/TypeNo.git
cd TypeNo
scripts/generate_icon.sh
scripts/build_app.sh
The app will be at dist/TypeNo.app. Move it to /Applications/ for persistent permissions.
Usage
| Action | Trigger |
|---|---|
| Start/stop recording | Short-press Control (< 300ms, no other keys) |
| Start/stop recording | Menu bar → Record |
| Watch incremental transcription | Overlay updates about once per second while processing |
| Choose microphone | Menu bar → Microphone → Automatic / specific device |
| Transcribe a file | Drag .m4a/.mp3/.wav/.aac to the menu bar icon |
| Check for updates | Menu bar → Check for Updates... |
| Quit | Menu bar → Quit (⌘Q) |
Uninstall
- Quit TypeNo from the menu bar
- Drag
TypeNo.appto Trash from/Applications - Remove the Coli speech engine and cached models:
rm -rf ~/.coli/
npm uninstall -g @marswave/coli
Design Philosophy
TypeNo does one thing: voice → text → paste. No extra UI, no preferences, no configuration. The fastest way to type is to not type at all.
Star History
License
GNU General Public License v3.0