English | 中文 | 日本語 | 한국어 | Español | Français | Deutsch | Português | Русский | العربية | हिन्दी | Italiano | Türkçe | Tiếng Việt | ภาษาไทย | Bahasa Indonesia | Polski | Nederlands
Open-source AI voice typing for macOS, Windows, and Linux.
Press a hotkey, speak naturally, and get clean, ready-to-send text in the app you are already using.
OpenTypeless combines speech-to-text, LLM rewriting, translation, custom dictionary, and local-first BYOK controls.
Website · Download · Run locally · Discussions
OpenTypeless turns rough speech into polished written output without forcing you to switch tools.
| Step | What happens |
|---|---|
| 1. Capture | Use a global hotkey to record from anywhere on your desktop |
| 2. Transcribe | Send audio to your chosen STT provider or a local Whisper-compatible server |
| 3. Polish | Rewrite the raw transcript with your preferred LLM, dictionary, and scene prompt |
| 4. Output | Type the final text back into the active app or paste it through the clipboard |
Use it for emails, chat replies, meeting notes, issue comments, prompts, documentation drafts, multilingual translation, and any workflow where speaking is faster than typing.
Most desktop dictation tools stop at transcription. OpenTypeless adds the AI rewrite layer, provider choice, and open-source control that power users need.
| OpenTypeless | macOS Dictation | Windows Voice Typing | Whisper Desktop | |
|---|---|---|---|---|
| AI text polishing | ✅ Multiple LLMs | ❌ | ❌ | ❌ |
| STT provider choice | ✅ Deepgram, AssemblyAI, Whisper-compatible, and more | ❌ Apple only | ❌ Microsoft only | ❌ Whisper only |
| Works in any app | ✅ | ✅ | ✅ | ❌ Copy-paste |
| Translation mode | ✅ | ❌ | ❌ | ❌ |
| Open source | ✅ MIT | ❌ | ❌ | ✅ |
| Cross-platform | ✅ Win/Mac/Linux | ❌ Mac only | ❌ Windows only | ✅ |
| Custom dictionary | ✅ | ❌ | ❌ | ❌ |
| Self-hostable | ✅ BYOK | ❌ | ❌ | ✅ |
| Area | Highlights |
|---|---|
| Voice capture | Global hotkey, hold-to-record or toggle mode, floating always-on-top capsule |
| AI rewriting | Streaming LLM polish, selected-text context, scene prompts, per-app formatting |
| Providers | Deepgram, AssemblyAI, GLM-ASR, OpenAI Whisper, Groq Whisper, SiliconFlow, custom Whisper-compatible endpoints |
| LLMs | OpenAI-compatible APIs including OpenAI, DeepSeek, Claude via OpenRouter, Gemini, Groq, Qwen, Moonshot, Ollama, and more |
| Output | Keyboard simulation or clipboard paste into the active application |
| Language | Auto-detect speech, translate into 20+ target languages, customize domain vocabulary |
| Local control | Local settings, local history search, BYOK mode, optional self-hosted cloud endpoints |
| Desktop polish | Dark/light/system theme, auto-start on login, cross-platform Tauri app |
Tip
Recommended Configuration for Best Experience
| Provider | Model | |
|---|---|---|
| 🗣️ STT | Groq | whisper-large-v3-turbo |
| 🤖 AI Polish | gemini-2.5-flash |
This combo delivers fast, accurate transcription with high-quality text polishing — and both offer generous free tiers.
- Download the latest build for your platform from Releases.
- Choose BYOK for full provider control or Cloud (Pro) if you want managed quota without API keys.
- Pick an STT provider and an LLM provider in Settings.
- Set a global hotkey.
- Open any desktop app, press the hotkey, speak, and let OpenTypeless type the polished result.
Download the latest version for your platform:
| Platform | File |
|---|---|
| Windows | .msi installer |
| macOS (Apple Silicon) | .dmg |
| macOS (Intel) | .dmg |
| Linux | .AppImage / .deb |
OpenTypeless is an unsigned open-source application. You may see security warnings during installation — these are expected and safe to bypass.
Windows SmartScreen may show "Windows protected your PC":
- Click More info
- Click Run anyway
If you downloaded a .msi that shows a publisher validation error:
- Right-click the
.msifile → Properties - Check Unblock at the bottom → Apply
- Run the installer again
macOS Gatekeeper may report the app is "damaged" because it lacks a Developer certificate:
xattr -cr /Applications/OpenTypeless.appThen open the app normally.
Ubuntu/Debian — install the .deb package:
sudo apt install ./OpenTypeless_x.x.x_amd64.debAppImage — make it executable and run:
chmod +x OpenTypeless_x.x.x_amd64.AppImage
./OpenTypeless_x.x.x_amd64.AppImageNVIDIA + Wayland users: The app auto-detects this configuration and applies a workaround. If it still crashes on startup, run:
WEBKIT_DISABLE_DMABUF_RENDERER=1 ./OpenTypeless- Node.js 20+
- Rust (stable toolchain)
- Platform-specific dependencies for Tauri: see Tauri Prerequisites
# Install dependencies
npm install
# Run in development mode
npm run tauri dev
# Build for production
npm run tauri buildThe built application will be in src-tauri/target/release/bundle/.
All settings are accessible from the in-app Settings panel:
- Speech Recognition — choose STT provider and enter your API key
- AI Polish — choose LLM provider, model, and API key
- General — hotkey, output mode, theme, auto-start
- Dictionary — add custom terms for better transcription accuracy
- Scenes — prompt templates for different use cases
API keys are stored locally via tauri-plugin-store. No keys are sent to OpenTypeless servers — all STT/LLM requests go directly to the provider you configure.
OpenTypeless also offers an optional Pro subscription that provides managed STT and LLM quota so you don't need your own API keys. This is entirely optional — the app is fully functional with your own keys.
| BYOK Mode | Cloud (Pro) Mode | |
|---|---|---|
| STT | Your own API key (Deepgram, AssemblyAI, etc.) | Managed quota (10h/month) |
| LLM | Your own API key (OpenAI, DeepSeek, etc.) | Managed quota (~5M tokens/month) |
| Cloud dependency | None — all requests go directly to your provider | Requires connection to www.opentypeless.com |
| Cost | Pay your provider directly | $4.99/month subscription |
All core features — recording, transcription, AI polish, keyboard/clipboard output, dictionary, history — work entirely offline from OpenTypeless servers in BYOK mode.
To run OpenTypeless without any cloud dependency:
- Choose any non-Cloud STT and LLM provider in Settings
- Enter your own API keys
- That's it — no account or internet connection to www.opentypeless.com is needed
If you want to point the optional cloud features at your own backend, set these environment variables before building:
| Variable | Default | Description |
|---|---|---|
VITE_API_BASE_URL |
https://www.opentypeless.com |
Frontend cloud API base URL |
API_BASE_URL |
https://www.opentypeless.com |
Rust backend cloud API base URL |
# Example: build with a custom backend
VITE_API_BASE_URL=https://my-server.example.com API_BASE_URL=https://my-server.example.com npm run tauri buildData Flow Pipeline:
Microphone → Audio Capture → STT Provider → Raw Transcript → LLM Polish → Keyboard/Clipboard Output
src/ # React frontend (TypeScript)
├── components/ # UI components (Settings, History, Capsule, etc.)
├── hooks/ # React hooks (recording, theme, Tauri events)
├── lib/ # Utilities (API client, router, constants)
└── stores/ # Zustand state management
src-tauri/src/ # Rust backend
├── audio/ # Audio capture via cpal
├── stt/ # STT providers (Deepgram, AssemblyAI, Whisper-compat, Cloud)
├── llm/ # LLM providers (OpenAI-compat, Cloud)
├── output/ # Text output (keyboard simulation, clipboard paste)
├── storage/ # Config (tauri-plugin-store) + history/dictionary (SQLite)
├── app_detector/ # Detect active application for context
├── pipeline.rs # Recording → STT → LLM → Output orchestration
└── lib.rs # Tauri app setup, commands, hotkey handling
- Plugin system for custom STT/LLM integrations
- Improved multi-language STT accuracy and dialect support
- Voice commands (e.g. "delete last sentence")
- Customizable hotkey combinations
- Improved onboarding experience
- Mobile companion app
Is my audio sent to the cloud? In BYOK mode, audio goes directly to your chosen STT provider (e.g., Groq, Deepgram). Nothing passes through OpenTypeless servers. In Cloud (Pro) mode, audio is sent to our managed proxy for transcription.
Can I use it offline? With a local STT provider (Whisper via Ollama) and a local LLM (Ollama), the app works entirely offline. No internet connection needed.
Which languages are supported? STT supports 99+ languages depending on the provider. AI polish and translation support 20+ target languages.
Is the app free? Yes. The app is fully functional with your own API keys (BYOK). The Cloud Pro subscription ($4.99/month) is optional.
- 💬 Discord — Chat, get help, share feedback
- 🗣️ GitHub Discussions — Feature proposals, Q&A
- 🐛 Issue Tracker — Bug reports and feature requests
- 📖 Contributing Guide — Development setup and guidelines
- 🔒 Security Policy — Report vulnerabilities responsibly
- 🧭 Vision — Project principles and roadmap direction
Contributions are welcome! See CONTRIBUTING.md for development setup and guidelines.
Looking for a place to start? Check out issues labeled good first issue.
This entire project was built in a single day using Claude Code — from architecture design to full implementation, including the Tauri backend, React frontend, CI/CD pipeline, and this README.



