WinSTT: local-first speech-to-text, text-to-speech app. Portable, minimal, easy to use.
30
stars
292
commits
TypeScript
primary language
Sep 7, 2026
updated
WinSTT is a local-first speech-to-text desktop app for macOS, Linux, and Windows. Press a hotkey, speak, and the transcription lands at your cursor in any app. It also includes real-time preview, file transcription, dictionary corrections, snippets, transcription history, optional LLM cleanup, and text-to-speech.
Docs: winstt.github.io/WinSTT · Latest alpha: GitHub Releases
One click, straight to the file — no scrolling through the releases page.
Windows portable (.zip) · Debian / Ubuntu (.deb) · Fedora / RHEL (.rpm) · All v0.1.3-alpha.9 assets
Windows x64 builds, including the portable zip, require an AVX2-capable processor (Intel Haswell/Broadwell or AMD Zen, or newer) because the bundled ONNX Runtime targets x86-64-v3.
The recording overlay can sit at the bottom of the screen or dock at the top as a dynamic island. Both previews below use the same 16:9 canvas so the README does not jump between short and tall media.
Floating bottom |
Dynamic island |
Model picker |
Speech-to-text |
LLM cleanup |
ort, with CPU fallback and
platform accelerators where available.The project builds on macOS, Linux, and Windows. Local Windows development needs
the Visual Studio build tools, Bun, and the Rust toolchain.
Use the helper scripts in tools/windows/; they set up the VS environment and
run from the repository root.
# Dev server with hot-reload renderer + Rust backend
tools\windows\tauri-dev.ps1
# Release build without bundling an installer
tools\windows\tauri-build.bat
# Rust-only checks from src-tauri/
tools\windows\cargo-env.bat check
cargo build --release is not enough for a standalone app because Tauri still
loads the dev URL. Use bun run tauri build --no-bundle through the helper for a
standalone executable.
The public documentation site is
https://winstt.github.io/WinSTT/. The
TanStack Start + Fumadocs source lives in docs/ and deploys to GitHub
Pages through .github/workflows/pages.yml.
bun run docs:dev
bun run docs:build
bun run docs:build:pages
| Path | Purpose |
|---|---|
src/ | Tauri renderer (React, Feature-Sliced Design) |
src-tauri/ | Rust backend: winstt::* modules, STT engines, audio, settings, IPC |
docs/ | TanStack Start docs site and documentation assets |
public/, windows/, messages/ | Static assets, secondary windows, and i18n messages |
packages/ | Shared renderer packages, including the model picker |
tools/ | Developer tooling: platform build helpers, i18n checks, benchmark helpers, and asset generation |
If WinSTT is useful to you, you can support its development on Ko-fi.
MIT. See LICENSE and
THIRD_PARTY_NOTICES.md.
283 commits
9 commits
TypeScript
50.8%
Rust
45.2%
WinSTT: local-first speech-to-text, text-to-speech app. Portable, minimal, easy to use.
30
stars
292
commits
TypeScript
primary language
Sep 7, 2026
updated
WinSTT is a local-first speech-to-text desktop app for macOS, Linux, and Windows. Press a hotkey, speak, and the transcription lands at your cursor in any app. It also includes real-time preview, file transcription, dictionary corrections, snippets, transcription history, optional LLM cleanup, and text-to-speech.
Docs: winstt.github.io/WinSTT · Latest alpha: GitHub Releases
One click, straight to the file — no scrolling through the releases page.
Windows portable (.zip) · Debian / Ubuntu (.deb) · Fedora / RHEL (.rpm) · All v0.1.3-alpha.9 assets
Windows x64 builds, including the portable zip, require an AVX2-capable processor (Intel Haswell/Broadwell or AMD Zen, or newer) because the bundled ONNX Runtime targets x86-64-v3.
The recording overlay can sit at the bottom of the screen or dock at the top as a dynamic island. Both previews below use the same 16:9 canvas so the README does not jump between short and tall media.
Floating bottom |
Dynamic island |
Model picker |
Speech-to-text |
LLM cleanup |
ort, with CPU fallback and
platform accelerators where available.The project builds on macOS, Linux, and Windows. Local Windows development needs
the Visual Studio build tools, Bun, and the Rust toolchain.
Use the helper scripts in tools/windows/; they set up the VS environment and
run from the repository root.
# Dev server with hot-reload renderer + Rust backend
tools\windows\tauri-dev.ps1
# Release build without bundling an installer
tools\windows\tauri-build.bat
# Rust-only checks from src-tauri/
tools\windows\cargo-env.bat check
cargo build --release is not enough for a standalone app because Tauri still
loads the dev URL. Use bun run tauri build --no-bundle through the helper for a
standalone executable.
The public documentation site is
https://winstt.github.io/WinSTT/. The
TanStack Start + Fumadocs source lives in docs/ and deploys to GitHub
Pages through .github/workflows/pages.yml.
bun run docs:dev
bun run docs:build
bun run docs:build:pages
| Path | Purpose |
|---|---|
src/ | Tauri renderer (React, Feature-Sliced Design) |
src-tauri/ | Rust backend: winstt::* modules, STT engines, audio, settings, IPC |
docs/ | TanStack Start docs site and documentation assets |
public/, windows/, messages/ | Static assets, secondary windows, and i18n messages |
packages/ | Shared renderer packages, including the model picker |
tools/ | Developer tooling: platform build helpers, i18n checks, benchmark helpers, and asset generation |
If WinSTT is useful to you, you can support its development on Ko-fi.
MIT. See LICENSE and
THIRD_PARTY_NOTICES.md.
283 commits
9 commits
TypeScript
50.8%
Rust
45.2%