Dictant is a tiny (~1.6 MB) macOS menu bar push-to-talk app that turns microphone or system audio into polished text with OpenAI transcription models and optional ChatGPT processing.
Free and open-source — there are no paywalls, you only cover your own OpenAI API usage.
Download the latest version from the Releases page
| General settings | Processing settings |
|---|---|
![]() |
![]() |
- Built for speed: hold the right Command key or tap the menu bar icon to start/stop recording in a second.
- Clipboard automation: copy and optionally paste the result straight into the active app.
- Reliable status cues: menu bar icon blinks red while recording and green while processing.
- Smart post-processing: optional ChatGPT pass with your own system prompt for better output.
- System audio capture: optionally record audio playing on your Mac together with the microphone.
- Persistent history: recordings and transcripts live locally so you can retry failed jobs.
- macOS-first: SwiftUI, native notifications, Keychain storage
- Push-to-talk: Hold the right ⌘ (Command key) briefly to start recording; release to stop.
- Microphone + system audio: Optionally capture device audio together with your microphone and transcribe the mixed recording.
- Modern transcription models: Choose
gpt-transcribe, GPT-4o transcription models, or Whisper. - Clipboard & paste: Copy transcripts to the clipboard; auto-paste into the active text field (requires Accessibility).
- ChatGPT post-processing: Run transcripts through GPT with your custom system prompt.
- History & retries: Browse recordings, re-run failed/pending transcriptions, copy or open files in Finder, and clear history.
- Smart Silence Removal: Automatically trims long pauses and silence from your audio before processing to improve transcription accuracy and reduce API usage.
- Privacy-aware: API key stays in Keychain, audio files stay local (Application Support), only the transcription request hits OpenAI.
- Launch the app; it lives in the menu bar.
- Open
Settings → Processing, paste your OpenAI API key, and save it (stored in Keychain). - Press and hold the right Command key briefly to start talking, then release to stop. Or click the menu bar icon to toggle.
- Optional tweaks in
Settings → General:- Run at system startup
- Enable push-to-talk
- Record system audio together with the microphone
- Copy to clipboard
- Paste into the active input
- Check
Settings → Historyfor transcripts; copy, re-run, or open recordings from there.
- macOS 14.0+ (built with Xcode 15+)
- An OpenAI API key with access to a supported transcription model (create one at https://platform.openai.com/account/api-keys)
- Internet access for transcription and optional ChatGPT post-processing
- Clone the repository:
git clone https://github.com/sbrin/Dictant.git cd Dictant - Open the project:
Open
Dictant.xcodeprojin Xcode. - Configure Building:
- Select the Dictant scheme from the target selector at the top.
- If prompted about signing, select your personal Development Team in the "Signing & Capabilities" tab of the project settings.
- Build and Run:
Press
⌘Ror click the Play button to build and run the app.
If you want to build and package the app for distribution, use the scripts in the packaging/ directory.
No special tools are required for .pkg creation as it uses native pkgbuild.
Creating the polished .dmg additionally requires create-dmg (brew install create-dmg).
- Build PKG:
./packaging/build_and_pkg.sh - Build DMG:
./packaging/build_and_dmg.sh
The artifacts will be placed in the build/ directory.
Use the bundled helper scripts to create a standard macOS installer package. ** PKG Installer requires extra privacy and security permission via System Settings **
Build and package in one shot: ./packaging/build_and_pkg.sh
packaging/build_and_pkg.sh uses the target's MARKETING_VERSION and automatically increments CURRENT_PROJECT_VERSION when tracked or untracked project inputs change. The generated state is stored in packaging/version-state.env; unchanged inputs reuse the same build number. Set VERSION to override the release version or CURRENT_PROJECT_VERSION to override the build number.
- Menu bar and pointer states: solid icon (idle), blinking red (recording), blinking green (processing).
- Status menu (right-click): start/stop, cancel processing, open settings, open history, quit.
- Auto-paste: Requires Accessibility permission; if missing, the app will prompt and temporarily disable paste until trusted.
- ChatGPT prompt: Set your own system prompt to shape the post-processed text (defaults to a polishing prompt).
- Microphone: Required to record audio.
- Screen & System Audio Recording: Required only when recording system audio with the microphone.
- Accessibility: Needed for auto-paste and the global push-to-talk hotkey.
- Notifications: Used for success/failure and permission guidance.
- Invalid or missing API key: Add a valid key in
Settings → Processing; the app surfaces notifications when the key is rejected. - Cannot start recording: Ensure microphone permission is granted in System Settings → Privacy & Security → Microphone.
- System audio is missing: Enable Dictant in System Settings → Privacy & Security → Screen & System Audio Recording.
- Auto-paste disabled: Enable Accessibility access for Dictant in System Settings → Privacy & Security → Accessibility.
- Short recordings discarded: Clips under a few seconds (or entirely silent/too quiet) are dropped automatically.
- Retries: Use
Settings → Historyto re-run failed or pending transcriptions.
- Open issues for bugs and feature ideas; PRs are welcome.
- Please describe repro steps and expected behavior when filing bugs.
Dictant is released under the MIT License (c) 2026 mikhail l ilin. See LICENSE for details. You are responsible for any OpenAI API charges and must follow OpenAI’s terms of service.

