Dictation that types anywhere on your Mac.

    Hold Fn (or your shortcut), speak, release. Text appears in the focused field. 100% offline.

    Offline on-device transcription
    Works in Slack, Gmail, VS Code, Terminal
    Live preview while you speak
    Whisperer
    Ready
    Large V3 Turbo Q5
    Model
    Large V3 Turbo Q5
    547 MB
    Microphone
    MacBook Pro Microphone
    Shortcut
    Fn
    Hold to record
    How to use
    1
    Press Fn
    2
    Speak
    3
    Release

    Why Whisperer

    Built for developers and power users who need fast, reliable dictation.

    Hold-to-talk. Release-to-insert.

    No copy/paste steps. No switching apps. Just speak into the active cursor.

    Doesn't trigger by accident.

    Smart Fn combo filtering prevents accidental recordings when using brightness/volume keys.

    Your voice stays on your Mac.

    No accounts. No servers. No audio uploads.

    Pro Pack Feature

    Built for heavy typing and fast switching

    Power features for developers and professionals who dictate all day.

    Code Mode

    Pro

    Speak symbols, casing, and structure correctly in IDEs and terminals.

    • Speak punctuation and symbols: parentheses, brackets, braces, quotes, commas, semicolons
    • Casing commands: camelCase, snake_case, CONSTANT_CASE
    • Literal mode for identifiers (stop 'helpful' autocorrections)
    • Cleaner spacing around operators and punctuation
    validator.py
    1import re
    2from typing import Dict
    3
    4def validate_input(data: Dict) -> bool:
    5 """Validate user input data."""
    6 if not data.get("email"):
    7 return False
    8
    9 pattern = r"^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+$"
    10 return bool(re.match(pattern, data["email"]))
    11
    12def process_user(user_id: int) -> None:
    13 """Process user data."""
    14 user = get_user(user_id)
    Code ModePython
    UTF-8Ln 4, Col 42
    Dictating...
    Code Mode active
    You said:
    "def validate input open paren data colon dict close paren arrow bool colon"
    Output:
    def validate_input(data: Dict) -> bool:

    Per-App Profiles.

    Context-aware dictation.

    Slack gets chat style. Gmail gets email format.
    IDEs get code mode. Automatically.

    SlackChat style
    GmailEmail style
    VS CodeCode style
    SlackSlackChat Style

    hey can you review the PR when you get a chance

    GmailGmailEmail Style

    Hi team,
    Please review the attached document.

    VS CodeVS CodeCode Style

    def validate_input(data: dict) -> bool:

    Switches automatically based on active app

    How Whisperer works

    Three simple steps to effortless dictation.

    01

    Hold your key

    Hold Fn or your chosen shortcut to start recording.

    02

    Speak naturally

    See a live preview and waveform while you talk.

    03

    Release to insert

    On release, Whisperer refines the final text and inserts it into the focused field.

    Streaming during recording + a final pass on release for maximum accuracy.

    Works in the apps you already use

    Insertion uses Accessibility APIs with a paste fallback for compatibility.

    Slack iconSlack
    Gmail iconGmail
    Google Docs iconGoogle Docs
    Notion iconNotion
    VS Code iconVS Code
    Cursor iconCursor
    Antigravity iconAntigravity
    JetBrains iconJetBrains
    Warp iconWarp
    Notes iconNotes
    Chrome iconChrome
    Safari iconSafari
    Slack iconSlack
    Gmail iconGmail
    Google Docs iconGoogle Docs
    Notion iconNotion
    VS Code iconVS Code
    Cursor iconCursor
    Antigravity iconAntigravity
    JetBrains iconJetBrains
    Warp iconWarp
    Notes iconNotes
    Chrome iconChrome
    Safari iconSafari

    All the features you need

    Comprehensive dictation tools built for professionals.

    Pro Pack (Lifetime)

    Power features for people who dictate all day: Code Mode, profiles, dictionary, and pro insertion.

    Base App
    $2.99 one-time

    Core dictation features for everyday use.

    • Hold-to-record dictation
    • Live preview
    • 100+ languages
    • Multiple Whisper models
    • Offline processing
    MOST POPULAR
    Pro Pack
    $14.99 lifetime

    Everything in Base, plus power features.

    • Everything in Base
    • Code Mode
    • Per-app Profiles
    • Personal Dictionary
    • Pro Insertion Engine

    Code Mode

    • Symbol grammar
    • Casing commands
    • Literal identifiers

    Per-app Profiles

    • Automatic switching
    • Different format rules per app
    • Per-app language (optional)

    Personal Dictionary

    • Add names/acronyms/terms
    • Quick add from overlay
    • Import word lists (optional)

    Pro Insertion Engine

    • Clipboard-safe paste
    • Typing fallback when paste fails
    • Per-app insertion method

    No subscriptions. Pay once. Works offline.

    One-time setup (required by macOS)

    Whisperer needs macOS permissions to listen for your shortcut and insert text into other apps. This is standard for system-wide productivity tools.

    Microphone

    Used to record your voice.

    Accessibility

    Used to insert text into the active field.

    Input Monitoring

    Used to detect your shortcut globally.

    Step 1
    Install from App Store
    Step 2
    Grant permissions
    Step 3
    Ready to go!

    Whisperer does not transmit audio. Permissions only enable local dictation and insertion.

    Privacy by design

    Offline transcription on your Mac
    No accounts, no telemetry required for core features
    Models stored locally in your Application Support folder
    Optional diagnostics logs stored locally

    If you contact support, you can choose to attach logs. Nothing is sent automatically.

    Fast enough for daily dictation

    Model preloading reduces 'first dictation lag'
    Apple Silicon optimized via Metal acceleration
    Streaming architecture with chunk overlap + dedupe
    Memory-bounded recordings (5 min cap) for stability

    Frequently asked questions