Skip to content

getdictus/dictus-ios

Repository files navigation

Dictus

Dictus for iOS

Free, open-source iOS keyboard for voice dictation — 100% on-device.
Speak in any app. No cloud, no account, no subscription.

CI License: MIT Platform: iOS 17+ Swift 5.9+ Stars

Website · TestFlight beta · Android · Desktop · Community


Dictus is a free, open-source iOS keyboard that adds voice dictation to any app. All speech recognition runs on-device via WhisperKit (Apple CoreML) — no server, no account, no subscription. French-first, with English and German support.

Why Dictus?

  • 🔒 100% on-device — your voice never leaves the iPhone. No cloud, no telemetry, no account.
  • 🆓 Free & open source — MIT licensed, no subscription, fully auditable code.
  • ⌨️ Works in every app — system-wide keyboard with AZERTY / QWERTY / QWERTZ layouts.
  • 🇫🇷 French-first — built for FR, with EN & DE; multiple Whisper sizes (tiny / base / small).
  • Native iOS feel — iOS 26 Liquid Glass design.

How Dictus compares

Feature Dictus Apple Dictation Wispr Flow SuperWhisper MacWhisper
Price Free Built-in Free / $15/mo Free / $8.49/mo Free / $6.99/mo
100% offline ⚠️ ⚠️ ⚠️
Privacy-first ⚠️ ⚠️ ⚠️
Open source
Custom keyboard
Cross-platform ✅ (iOS · Android · Desktop) iOS · macOS · watchOS iOS · macOS · Win · Android iOS · macOS · Win iOS · macOS

See the full comparison on getdictus.com.

Install the beta

Join via TestFlight: Install Dictus Beta →

Requirements: iPhone 12 or later, iOS 17.0+

  1. Tap the link above on your iPhone (or scan it with your camera).
  2. Install TestFlight from the App Store if you don't have it.
  3. Open Dictus and follow the onboarding to download a speech model.
  4. Enable the keyboard: Settings → General → Keyboard → Keyboards → Add New Keyboard → Dictus.
  5. Allow Full Access when prompted (required for microphone).

Feedback: shake your device in Dictus to send feedback via TestFlight, or open an issue.

Features

  • Custom iOS keyboard with AZERTY / QWERTY / QWERTZ layouts
  • On-device speech recognition powered by WhisperKit (Whisper via CoreML)
  • Multiple model sizes (tiny / base / small) — speed vs accuracy
  • Optional Parakeet engine for alternative transcription
  • Cold-start audio bridge for seamless dictation from the keyboard
  • Sound feedback for recording start / stop
  • iOS 26 Liquid Glass design

Roadmap

  • On-device Whisper transcription (FR / EN / DE)
  • Custom iOS keyboard (AZERTY / QWERTY / QWERTZ)
  • Parakeet engine
  • Smart Mode Pro — on-device LLM reformulation
  • Custom vocabulary (technical terms, names)
  • Searchable local transcription history
  • Audio-file transcription
  • Sync settings across Dictus iOS / Android / Desktop (offline-first)

Have an idea? Open a feature request — we prioritize the most-upvoted ones.

Building from source

git clone https://github.com/getdictus/dictus-ios.git
cd dictus-ios
open Dictus.xcodeproj
  1. Select the DictusApp target and pick your device.
  2. Build and run (Cmd + R).
  3. Follow onboarding to download a speech model.
  4. Enable the Dictus keyboard in Settings → General → Keyboard → Keyboards.
  5. Allow Full Access (required for microphone).

See DEVELOPMENT.md for the full development guide.

Requirements

  • iOS 17.0+
  • iPhone 12 or later (A14 Bionic+)
  • Xcode 16+
  • ~100–500 MB storage for speech models

Architecture

Dictus is organized into three Xcode targets:

Target Role
DictusApp Main app — onboarding, settings, model manager
DictusKeyboard Keyboard extension — custom keyboard + dictation trigger
DictusCore Shared framework — App Group storage, models, preferences

The app and the keyboard extension communicate through an App Group (group.solutions.pivi.dictus). WhisperKit runs inside DictusApp (the keyboard extension has a ~50 MB memory limit), and an audio bridge handles cold start so dictation works seamlessly from the keyboard.

Contributing

Contributions are welcome — see CONTRIBUTING.md. Good entry points:

  • good first issue and help wanted in Issues
  • Bug reports with TestFlight feedback (shake your device)
  • Translations & locale tuning (FR is the reference; EN / DE in progress)

Privacy

Dictus collects no user data. All speech processing happens on your device. See our Privacy Policy.

Support the project

Dictus is free and will stay free. If it helps you every day, consider supporting development — it directly funds new features and platform support.

Community

License

MIT — see LICENSE.

Acknowledgments

  • WhisperKit by argmaxinc — on-device Whisper inference
  • Parakeet by slingshot-ai — alternative STT engine

Made with ❤️ by PIVI Solutions · @getdictus