Skip to content

Repository files navigation

wispr-fox 🦊

Press a key. Talk. Get text. Anywhere on your computer.

A free, open-source dictation app for Windows and macOS.
Bring your own AI key. No subscription. No telemetry. No account.

Interactive website

Latest stable Latest beta MIT licensed

wispr-fox in action — Clippy floater reacting to dictation


⬇️ Download

Platform 🟢 Stable (recommended) 🟡 Beta builds (newer, less tested)
🪟 Windows wispr-fox setup.exe Browse beta builds →
🍎 macOS (Apple Silicon) wispr-fox.dmg Browse beta builds →
🐧 Linux wispr-fox AppImage Browse beta builds →

Run the installer. The app walks you through a 2-minute onboarding on first launch.

ℹ️ Mac first-launch: the build isn't code-signed (Apple charges $99/yr for that). After dragging to Applications, right-click → Open the first time. If you see "app is damaged", run xattr -dr com.apple.quarantine /Applications/wispr-fox.app once and double-click as normal.


✨ What it does

Hold a hotkey, talk, release. The text appears in whatever app you're in — Slack, Gmail, Word, your terminal, anywhere there's a text field.

Press What you get
🎙️ F8 (Win) / ⌃⌥D (Mac) Raw transcript — exactly what you said
✏️ F9 (Win) / ⌃⌥F (Mac) Drafted output — give a brief, get a polished email/doc/message back
🧹 Shift+F8 / ⌃⌥C (Mac) One-shot cleaned version (spell + punctuation + paragraphing)
⏏️ Esc Stop a recording in flight

Add Win (or Shift on Mac) to any combo to make it sticky — tap once to start, tap again to stop.


🚀 Setup in 3 steps

1. Install. Download the installer above and run it.

2. Get a free API key. Onboarding walks you through it with deep links to the right signup and keys pages — pick Deepgram (recommended: Nova-3, $200 free credit, no card) or Groq (free forever). Sign in with Google, create a key, paste it back into wispr-fox. Two minutes.

3. Press your hotkey and talk. That's it.

💡 Why Deepgram is the recommended engine: Nova-3 beats Whisper on both accuracy and speed (noticeably so for Indian-English accents), and heavy daily dictation costs roughly $1/week, so the free credit lasts a year or more. Keep Groq as the LLM "brain" for cleanup and drafting — it stays free.

Onboarding flow — Foxy walks you through three steps


💸 How is this free?

You bring your own AI provider key, and services like Groq and Deepgram offer generous free tiers and credits:

  • Groq — free forever. The free tier gives you 14,400 transcription requests/day (about 20 hours of dictation, daily). Most people never hit the limit. It also powers the LLM cleanup/drafting for free.
  • Deepgram$200 free credit on signup, no credit card. Even heavy daily dictation runs about $1/week on Nova-3, so the credit typically lasts a year or more.

Either way, most users pay $0. There's no wispr-fox subscription — your usage bills (if any) go straight to your own provider account.


🤫 Privacy

  • 🔐 API keys live in your OS keychain — Windows Credential Manager / macOS Keychain. Never logged, never synced.
  • 🎧 Audio recordings stay on your machine. Default: 7-day retention, 500 MB cap, both configurable.
  • ☁️ Only the audio you choose to dictate is sent to your chosen provider (Groq, Deepgram, OpenAI, or ElevenLabs for transcription; Groq, Gemini, or OpenAI for cleanup). Read their privacy policies — they're the parties that see your data.
  • 📡 wispr-fox phones nothing home. No analytics. No crash reporting. No account. There is no "us" with a server. The repo, the binary, your machine — that's the whole stack.

🎨 Make it yours

  • 🦊 Pick a floater from the sidebar: Off, Fox (default), Paperclip, real Clippy, Desk Cat, or the experimental Cat (lab).
  • 🌗 Dark, Light, or Retro themes in Settings → Appearance.
  • ⌨️ Rebind any hotkey — Settings → Dictation. Defaults are sensible on each platform.
  • 🎭 Customise the LLM prompts per mode if you want a specific tone — Settings → Modes → Show system prompt.
  • 🚀 Launch at login — Settings → General.

🛟 Common questions

The Mac hotkey does nothing — F8 just plays/pauses music

That's macOS treating the function row as media keys by default. The Mac defaults are ⌃⌥D (transcribe) and ⌃⌥F (draft) for exactly this reason. If you'd rather use F-keys: System Settings → Keyboard → Keyboard Shortcuts → Function Keys → toggle "Use F1, F2, etc. as standard function keys". Or rebind in wispr-fox Settings → Dictation.

Transcription starts with random "Thank you" or other phrases

Whisper-family models hallucinate on a silent buffer (Deepgram Nova-3 does this far less — another reason it's the recommended provider). On Windows, Realtek audio enhancements can put your mic to sleep between recordings — open mmsys.cpl, find your mic, uncheck "Allow exclusive control" + check "Disable all enhancements".

Wrong language detected

The speech model auto-detects by default. If you only speak one language and it's mis-detecting, set Settings → Models → Language Hint.

Want to use a different AI provider?

Settings → Providers & Keys. For transcription you can pick Groq (Whisper), Deepgram (Nova-3 — the recommended one), OpenAI, or ElevenLabs. For cleanup/drafting you can pick Groq, Gemini (key from https://aistudio.google.com/apikey), or OpenAI. Mix and match — a common combo is Deepgram for listening + Groq for the free LLM brain.

Why is the macOS build unsigned?

Apple charges $99/year for a Developer ID certificate. We're not there as a free single-developer project. macOS treats unsigned apps as quarantined on first launch — the xattr workaround above gets past it once and forever for that install.


📦 What's next

See the Roadmap for what's planned. Highlights: time-saved / words-saved stats, Sarvam Saaras as a Hindi-friendly STT provider, plugin-based avatar system.


🧑‍💻 For developers

Build from source

# Prerequisites: Rust 1.75+, Node 20+, pnpm
git clone https://github.com/kumaradarsh1993/wispr-fox
cd wispr-fox
pnpm install
pnpm tauri dev      # development
pnpm tauri build    # production binary (heavy, needs ≥16 GB RAM)

Full dev notes: GETTING_STARTED.md.

Architecture, 90-second tour

  • Frontend — SvelteKit + Svelte 5 (runes). Routes: / redirects to onboarding or history, /clippy is the always-on-top floater, /settings/* is the config UI.
  • Backend — Rust + Tauri 2. Modules: audio/ (cpal capture → WAV), stt/ (Groq Whisper, Deepgram Nova-3, OpenAI, ElevenLabs), llm/ (Groq Llama, Gemini, OpenAI), inject/ (SendInput on Windows, CGEvent on macOS), flow.rs (state machine), hotkey.rs (global shortcuts), secrets.rs (keychain).
  • Storage — SQLite for history, tauri-plugin-store for settings, OS keychain for API keys.
  • CI — Every tag push builds Win NSIS + macOS DMG + Linux installers on GitHub Actions.

License

MIT for the code we wrote. The vendored Microsoft Clippy sprite is © Microsoft — included under fair-use precedent (nostalgia / non-commercial reference). If Microsoft objects, the hand-drawn Paperclip / Fox / Cat SVG skins are original work and the swap is one line.

Credits

  • 🎙️ Nova-3 by Deepgram and Whisper Large v3 Turbo by OpenAI, hosted by Groq
  • 🦙 Llama 3.3 by Meta AI
  • Gemini by Google DeepMind
  • 📎 Clippy sprite via clippyts (vendored + patched)
  • 🦀 Tauri 2 + Svelte 5 — the lean desktop stack

About

Free, open-source Windows and macOS dictation app. Press a hotkey, talk, and get text anywhere.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages