March 15, 20267 min read

    How to Dictate Code on Mac — camelCase, snake_case & Symbols by Voice

    Typing code all day takes a toll on your hands. But what if you could speak your code instead — complete with camelCase, snake_case, parentheses, brackets, and semicolons?

    With Whisperer's Code Mode, you can dictate code naturally on your Mac. Here's how.

    Ready to try voice dictation on your Mac?

    Free download. No account required. 100% offline.

    Download on the Mac App Store

    Why Dictate Code?#

    Developers type an average of 5,000–10,000 keystrokes per day. Over years, that adds up to serious repetitive strain. Voice coding offers a way to stay productive while giving your hands a break.

    Warning

    Standard dictation tools are terrible for code. They capitalize words randomly, insert spaces where you don't want them, and have no concept of programming syntax. That's why you need a dictation tool built for developers.

    Setting Up Code Mode in Whisperer#

    1

    Download Whisperer

    Get it free from the Mac App Store. The Pro Pack ($14.99 one-time) unlocks Code Mode.

    2

    Open from the menu bar

    Whisperer lives in your menu bar for instant access.

    3

    Configure your profile

    Go to Settings → Profiles and enable Code Mode for your IDE (VS Code, Cursor, Terminal, etc.).

    4

    Start speaking

    Hold Fn (or your custom shortcut) and start dictating code.

    Tip

    Code Mode automatically activates when your IDE is in focus if you've set up a per-app profile — no manual switching needed.

    Dictating Casing Conventions#

    The hardest part of voice coding is casing. Whisperer handles this with explicit commands:

    You say

    "camel case get user name"

    OutputJavaScript
    getUserName
    You say

    "snake case get user name"

    OutputPython
    get_user_name
    You say

    "constant case max retries"

    OutputAny
    MAX_RETRIES
    You say

    "pascal case user service"

    OutputTypeScript
    UserService

    These commands work naturally in flowing speech. You don't need to pause or use a special trigger word.

    Speaking Symbols and Punctuation#

    Code is full of symbols that are awkward to say. Code Mode maps natural voice commands to symbols:

    Voice CommandOutput
    "open paren" / "close paren"( / )
    "open bracket" / "close bracket"[ / ]
    "open brace" / "close brace"{ / }
    "semicolon";
    "colon":
    "arrow"->
    "fat arrow"=>
    "equals"=
    "double equals"==
    "triple equals"===

    Real Example: Dictating a Python Function#

    You say

    "def snake case validate input open paren data colon dict close paren arrow bool colon"

    OutputPython
    def validate_input(data: dict) -> bool:

    That's a complete function signature, dictated in one breath.

    Tips for Better Code Dictation#

    Use Per-App Profiles

    Set Code Mode only for your IDE. Keep natural language mode for Slack and email.

    Speak Naturally

    Whisperer's streaming preview shows text as you speak, so you can verify in real-time.

    Use Literal Mode

    For identifiers that shouldn't be autocorrected, enable literal mode.

    Train Your Dictionary

    Add project-specific terms and variable names to your personal dictionary.

    Supported IDEs and Editors#

    VS Code

    Full support — text inserts directly into the active editor.

    Cursor

    Speak AI prompts and code naturally with Code Mode.

    JetBrains IDEs

    IntelliJ, WebStorm, PyCharm — all fully supported.

    Terminal / iTerm2

    Dictate commands, scripts, and git operations.

    Dictating Complete Code Blocks#

    Once you're comfortable with casing and symbols, you can dictate complete code structures:

    You say

    "const camel case fetch user data equals async open paren close paren fat arrow open brace"

    OutputTypeScript
    const fetchUserData = async () => {
    You say

    "if camel case is valid open paren camel case user input close paren open brace return true semicolon close brace"

    OutputJavaScript
    if isValid(userInput) { return true; }
    You say

    "git checkout dash b feature slash snake case add user auth"

    OutputTerminal
    git checkout -b feature/add_user_auth

    IDE-Specific Tips#

    VS Code

    Code Mode works directly in the editor. Use per-app profiles to auto-activate Code Mode when VS Code is focused. Dictate into the editor, terminal panel, or search bar.

    Cursor

    Use natural language mode for AI chat prompts and Code Mode for inline code editing. Per-app profiles can handle this automatically if you set up separate profiles for Cursor's chat vs editor views.

    Terminal / iTerm2

    Code Mode handles dashes, dots, slashes, and paths correctly — essential for CLI commands. Say "dash dash verbose" to get --verbose.

    JetBrains IDEs

    IntelliJ, WebStorm, PyCharm, and other JetBrains IDEs are fully supported. Whisperer inserts via Accessibility into the active editor panel.

    Troubleshooting Common Issues#

    Words Not Casing Correctly#

    Make sure you say the casing command (e.g., "camel case") before the words you want cased. The casing command applies to all words that follow until you stop or use a different command.

    Symbols Not Inserting#

    Verify Code Mode is active for your current app. Check Settings → Profiles to ensure Code Mode is enabled for your IDE. If it's still not working, try the personal dictionary to add custom symbol mappings.

    Autocorrection Interfering#

    Enable Literal Mode in Code Mode settings. This prevents the transcription engine from "correcting" identifiers and technical terms. Say exactly what you mean and get exactly that output.

    Dictionary Terms Not Recognized#

    Add project-specific terms to your personal dictionary. For the Parakeet engine, dictionary terms also enable CTC vocabulary boosting — biasing the decoder at the acoustic level for better recognition.

    Voice Coding vs. Apple Dictation for Code#

    Info

    Apple's built-in dictation is designed for prose. Try dictating getUserName and you'll get "Get user name" — three words, capitalized, with spaces. Whisperer's Code Mode is purpose-built for this problem. See full comparison.

    FeatureWhisperer Code ModeApple Dictation
    camelCase by voiceYesNo
    snake_case by voiceYesNo
    Symbol commands (20+)YesLimited
    Per-app mode switchingYesNo
    Personal dictionaryYesNo
    Literal modeYesNo
    Autocorrection controlFullNone
    Price$14.99 lifetimeFree

    Voice coding has a short learning curve — most developers are comfortable within a day or two. Here's the recommended progression:

    1

    Start with comments and documentation

    Dictate inline comments, docstrings, and README content. This is natural language — no Code Mode needed. Immediate 2–3x speed gain.

    2

    Add Slack and email

    Dictate messages and emails. Use per-app profiles to auto-switch between apps.

    3

    Learn casing commands

    Practice "camel case," "snake case," "pascal case," and "constant case" with your most common variable names.

    4

    Add symbol commands

    Learn the most common: "open paren," "close paren," "semicolon," "colon," "fat arrow," "arrow."

    5

    Dictate full code statements

    Combine casing + symbols to dictate complete function signatures, variable declarations, and code blocks.

    Related guides: Voice Coding — Complete Guide, How to Dictate camelCase and snake_case, Voice Dictation for Vibe Coding, RSI Prevention. See Code Mode, pricing, and all features.

    Ready to try voice dictation on your Mac?

    Free download. No account required. 100% offline.

    Download on the Mac App Store

    The key is to start. Your hands will thank you.

    Related articles

    Ready to ditch typing?

    Join developers and power users who dictate faster than they type. One-time purchase. No subscription. No cloud.

    Free trial included. Pro Pack $14.99 lifetime.