CLI tool
voquill/voquill avatar
voquill/voquill

Voquill: an open source dictation app that types into any desktop window

Open source voice dictation technology

1,011 stars128 forksTypeScriptNOASSERTION

At a glance

What is it?
Voquill is a Tauri-based voice typing app for macOS, Windows and Linux that can run Whisper locally or point at a cloud provider you choose. The repository is large, the licence is AGPLv3, and the README is thin on setup.
Who is it for?
Adopt Voquill if you want dictation that works in any desktop application and you are willing to accept AGPLv3 obligations or you are evaluating the enterprise services. Do not adopt it if you need a documented, stable release channel: the newest tagged release is desktop v0.0.651, the version number is still 0.0.x, and the README does not describe rollback.
Can I use it commercially?
Check first. The repository uses a licence we do not classify automatically, so read its LICENSE file before any commercial use.
Is it still maintained?
Yes. The repository last received commits 5 days ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 1, 2026, and from our analysis. They are not legal advice.

Editorial analysis

What Voquill actually fixes, and for whom

The README opens with a claim rather than a feature list: "Your keyboard is holding you back." The product underneath that line is a desktop app that inserts dictated text into whatever window has focus, then optionally rewrites that text with a model before it lands. The audience is people who write in applications that have no dictation of their own, or whose built-in dictation is tied to one operating system. The README lists macOS, Windows and Linux as supported, and describes an overlay plus hotkeys plus "system integrations" as the input path.

Two features separate it from a plain speech-to-text wrapper. The first is the personal dictionary: glossary terms and replacement rules, so a recurring surname or product name comes out spelled the way you want. The second is writing style, which the README names as Polished, Verbatim and Chat, applied as post-processing to the raw transcript. Neither is unusual in commercial dictation, but both are the parts users complain about most when they are missing.

The repository is not just the desktop app. Top-level entries include apps/, cli/, enterprise/, mobile/, packages/, docs/ and release/. Anyone expecting a single small binary should look at that layout first.

The engine choice: local Whisper or your own provider key

Voquill does not ship one transcription backend. The README states you can "run Whisper locally (with optional GPU acceleration) or point to a cloud provider of your choice", and the Providers screen is described as the place to "bring your own API key". So the data flow is: audio captured by the desktop app, transcribed either on the machine or by a remote service you configured, then passed through an optional AI cleanup step that removes filler words and false starts, then inserted into the focused application.

The privacy claim follows from that architecture rather than from a hosted service. The README says you have "full control over your data" and that Voquill can run "against any backend you wish, even offline". That is a real difference from dictation products that only work through a vendor account. It also means the quality of your transcript depends on the model you point at, not on Voquill. The README does not publish accuracy figures for any configuration, and it does not name specific cloud providers beyond the generic phrase.

The desktop shell is Tauri, which the topics list confirms and which the README references when it mentions "Tauri auto-updates". That matters for anyone auditing the install: a Tauri app is a native binary with a web front end, not an Electron bundle, and the auto-update mechanism is part of the shipped product rather than an add-on.

Installing Voquill and getting a first dictation

The README does not contain install commands. It points to the website at voquill.com for the product and to docs/getting-started.md inside the repository for "setup instructions and architecture details". That is the honest starting point: read that file before running anything, because it is the only setup document the repository advertises.

For anyone building from source rather than using a release, the root package.json sets the toolchain. Node 18 or newer is required, and the package manager is pinned to pnpm 10.11.0, so an npm or yarn install will not match what the workspace expects.

bash
node --version
corepack enable
pnpm install

The root scripts are Turbo tasks, so the same commands fan out across the workspace packages. The two you are most likely to want first are the dev server and the type check, since this is a TypeScript monorepo and a broken type in a shared package will surface everywhere.

bash
pnpm dev
pnpm check-types

There is one native step that is easy to miss. The root package.json exposes a bindings generator scoped to the desktop native APIs package, which suggests the Rust side of the Tauri app and the TypeScript side are connected by generated code rather than by hand-written declarations.

bash
pnpm gen:bindings

If you install a packaged build instead, the desktop releases are tagged in the desktop-v0.0.651 series, with separate desktop-dev and desktop-enterprise-dev channels. What you should see after a successful start is the overlay and the home screen described in the README screenshots, which tracks streaks, words per minute and recent transcriptions. The README does not document what a failed first run looks like, so treat a missing overlay as a setup problem rather than a known bug.

Where Voquill is the wrong tool

The version number is the first thing to weigh. The most recent release at the time of writing is desktop v0.0.651, and the enterprise channel is at v0.0.37. A 0.0.x line means the project has not made a compatibility promise, and the README does not describe a rollback path if an auto-update lands badly. Tauri auto-updates are convenient until they are not; there is no documented way in the README to pin a version or revert one.

The second constraint is the licence. The README states that "unless otherwise noted, Voquill is released under the AGPLv3", and the repository's LICENCE file is where the third-party attributions live. AGPLv3 is a strong copyleft licence with a network clause. If you plan to embed Voquill in a product you distribute or host, that is a question for your own legal review, not something the README answers. The repository metadata reports the licence as NOASSERTION, which is a signal that automated licence detection did not reach a clean conclusion; read LICENCE directly.

The third is scope. The repository contains enterprise services, a CLI, a mobile app and an assistant chat feature. If you want a small, auditable dictation utility, you are adopting a monorepo with a large dependency surface. The root package.json carries a long list of pnpm overrides pinning transitive packages such as hono, axios, protobufjs and fast-xml-parser to minimum versions. That is a maintenance burden the maintainers have taken on, and it is visible to anyone reading the file.

Finally, if your target is a mobile keyboard rather than a desktop overlay, the README's highlights are all framed around desktop: overlay, hotkeys, system integrations, macOS, Windows, Linux. The mobile directory exists, but the README does not describe mobile dictation behaviour.

How Voquill differs from Handy and OpenWhispr

The related searches around this project include Handy and OpenWhispr, which are the other names people compare it against. The difference is visible in the repository layout rather than in a feature table. Voquill ships a desktop app, a mobile app, a CLI, an enterprise services tree and shared packages under one workspace, with a Turbo pipeline and a pinned pnpm version tying them together. A single-purpose dictation utility usually ships one app and one build.

That breadth cuts both ways. The enterprise/ directory and the desktop-enterprise-dev release channel suggest Voquill is aimed partly at organisations that want to run their own backend, which is consistent with the README's claim that you can run it "against any backend you wish". A smaller tool that only wraps a local Whisper model gives you less to audit but also less to configure. Voquill asks you to make a provider decision, a writing-style decision and a dictionary decision before it is doing much for you.

The assistant feature is the other divergence. The README shows a Chats page for "voice-powered conversations with an AI assistant directly inside Voquill", and the repository topics include agent and agentic-ai. Dictation tools generally stop at inserting text. Voquill treats the transcript as input to something else. Whether that is useful depends on whether you wanted a keyboard replacement or a voice interface.

Maintenance, releases and what an upgrade costs you

The repository is not archived, and the last push was on 2026-08-01. The three most recent releases all landed on that same day: desktop v0.0.651, desktop-dev v0.0.651 and desktop-enterprise-dev v0.0.37. The version numbering shows a fast-moving desktop line and a much slower enterprise line, which is worth noting if you are evaluating the enterprise services specifically.

For a self-hoster, the upgrade cost is mostly in the workspace. A pnpm override list that pins transitive dependencies to minimum versions has to be maintained as those packages release, and the root package.json shows that work is happening. If you build from source, you inherit that. If you install a packaged desktop release, the Tauri auto-update path is what the README advertises, and there is no documented way to hold a version back.

The licence question does not go away with time. AGPLv3 obligations attach to distribution and to network use, and the README's "unless otherwise noted" phrasing means the LICENCE file is the authority, not the README. The repository also contains a gitleaks.toml and a .github directory, which is ordinary hygiene rather than a statement about support.

Editorial conclusion

Adopt Voquill if you want dictation that works in any desktop application and you are willing to accept AGPLv3 obligations or you are evaluating the enterprise services. Do not adopt it if you need a documented, stable release channel: the newest tagged release is desktop v0.0.651, the version number is still 0.0.x, and the README does not describe rollback. Before installing, read docs/getting-started.md and LICENCE in the repository, and check whether the transcription provider you intend to use is one the Providers screen actually lists.

Frequently asked questions

Is Voquill free to use?

The README states that unless otherwise noted, Voquill is released under the AGPLv3, so the source is available under that licence. If you point it at a cloud transcription provider, that provider's own pricing applies, and the README does not list which providers are supported.

What is the best software for speech-to-text typing?

That depends on whether you want a desktop overlay that types into any application or a single-purpose transcription tool. Voquill's stated approach is a cross-platform desktop app that runs Whisper locally or uses a cloud provider of your choice, with a personal dictionary and writing styles applied to the transcript.

How much does dictation software cost?

Voquill itself is released under the AGPLv3 according to the README. The README does not publish pricing for the enterprise services in the enterprise/ directory, so that is not something the repository answers.

Official sources

  1. Issues
  2. Project website
  3. README
  4. Releases
  5. voquill/voquill on GitHub
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/voquill-voquill.svg)](https://hysenlabs.com/projects/voquill-voquill)