byScreenify Studio

How to Show Keyboard Shortcuts in Recordings

Display keystrokes on screen during recordings with KeyCastr, Screenify Studio, Keystroke Pro, or OBS. Step-by-step setup for each method.

Every time you press Cmd+Shift+4 or toggle between files with Cmd+Tab, viewers watching your recording have no idea what just happened. The screen changes, but the why stays invisible. Displaying keystrokes as an overlay during screen recordings bridges that gap — your audience sees the exact key combination that triggered each action, turning passive watching into active learning.

This matters most in coding tutorials, design walkthroughs, and productivity demos where keyboard shortcuts are the skill being taught. Without visible keystrokes, you end up narrating every shortcut verbally, which slows your pace and clutters your voiceover.

Here are four ways to show keyboard shortcuts in your recordings, ranging from free open-source tools to built-in recorder features.

Quick Comparison

ToolPriceOverlay StyleWorks With Any RecorderCustomization
KeyCastrFreeFloating textYesModerate
Screenify StudioFree plan availableIntegrated overlayBuilt-in onlyHigh
Keystroke Pro$10 one-timeThemed badgesYesExtensive
OBS + Input OverlayFreeStream-styleOBS onlyPlugin-dependent

Method 1: KeyCastr (Free, Open-Source)

KeyCastr is a standalone macOS app that renders keystrokes as a floating overlay on your screen. Because it runs independently of your recording software, it works with QuickTime, OBS, Loom, or any other recorder that captures your display.

Step-by-Step Setup

  1. Download KeyCastr from the GitHub releases page or install via Homebrew:

    brew install --cask keycastr
  2. Grant Accessibility permissions. On first launch, macOS asks for Input Monitoring access. Go to System Settings → Privacy & Security → Input Monitoring and enable KeyCastr. You may need to restart the app.

  3. Position the overlay. KeyCastr places a small floating window on your screen. Drag it to a corner that does not overlap your main content — bottom-left works well for most tutorials.

  4. Choose a visualizer. KeyCastr ships with three visualizer styles:

    • Default — a simple text overlay that fades after each keystroke
    • Svelte — a more compact, minimal display
    • Mouseposé-style — shows keystrokes near the cursor position
  5. Adjust display duration. In KeyCastr preferences, set the fade delay. For fast-paced coding tutorials, 1.5 seconds keeps the overlay visible long enough without stacking up. For slower walkthroughs, 2.5 seconds gives viewers more reading time.

  6. Start recording with your preferred tool. KeyCastr renders on-screen, so any recorder that captures your display will include the keystrokes.

Pros and Limitations

KeyCastr is reliable and lightweight, consuming minimal CPU. The main limitation is styling — you get basic font and color options but no themed badges or background shapes. The overlay also renders on your actual screen, meaning you see it while working, which some people find distracting.

Method 2: Screenify Studio

Screenify Studio includes a built-in keystroke overlay that activates during recording. Unlike standalone tools, the overlay is composited into the recording output directly, so it does not appear on your live screen while you work.

Step-by-Step Setup

  1. Open Screenify Studio and select your capture area — full screen, window, or custom region.

  2. Enable Keystroke Display. In the recording toolbar, click the keyboard icon or go to Settings → Overlays → Show Keystrokes. Toggle it on.

  3. Configure appearance. Choose the overlay position (any corner or bottom-center), font size, background style (pill-shaped badge, minimal text, or rounded card), and accent color. The preview updates in real time.

  4. Set modifier filtering. You can choose to display all keystrokes or only combinations that include modifier keys (Cmd, Ctrl, Option, Shift). Filtering out single-character typing prevents the overlay from flooding during normal text input.

  5. Start recording. Keystrokes appear in the output video but not on your physical screen, so they never interfere with your workflow.

  6. Review in the editor. After recording, keystroke overlays are baked into the video. If you need to adjust timing or remove a specific keystroke display, use the timeline editor to trim that segment.

Try Screenify Studio — free, unlimited recordings

Auto-zoom, AI captions, dynamic backgrounds, and Metal-accelerated export.

Download Free

Why This Approach Works

The integrated pipeline means zero setup with external tools, no Accessibility permission juggling, and no risk of the overlay being positioned off-screen if you rearrange monitors. The tradeoff is that the overlay only works within Screenify Studio recordings — you cannot use it with other recorders.

Method 3: Keystroke Pro ($10)

Keystroke Pro is a paid macOS app focused exclusively on keystroke visualization. It offers significantly more customization than KeyCastr, including pre-built themes, icon-based modifier display, and per-app profiles.

Step-by-Step Setup

  1. Purchase and install Keystroke Pro from the developer's website or Setapp.

  2. Grant Input Monitoring permissions in System Settings, the same process as KeyCastr.

  3. Pick a theme. Keystroke Pro includes themes like "Dark Pill," "Light Card," "Minimal," and "Retro Terminal." Each theme controls background shape, font, shadow, and animation style.

  4. Configure per-app rules. You can set Keystroke Pro to only display shortcuts in specific apps. For example, show keystrokes in VS Code and Figma but hide them in Messages. This prevents accidental display of sensitive input.

  5. Set position and size. Drag the overlay to your preferred location. Use the size slider to match your recording resolution — a 4K recording needs larger keystroke badges than 1080p.

  6. Enable "recording mode." Keystroke Pro has a mode that increases contrast and border thickness for better visibility in compressed video. Enable this before recording.

  7. Start your recording with any screen recorder.

When to Choose Keystroke Pro Over KeyCastr

Keystroke Pro justifies its price if you record frequently and need consistent, professional-looking keystroke displays. The themed badges read better at small video sizes (social media, embedded players) compared to KeyCastr's plain text. The per-app filtering also prevents embarrassing leaks if you switch to a chat app mid-recording.

Method 4: OBS + Input Overlay Plugin

If you already use OBS Studio for recording or streaming, the Input Overlay plugin adds keystroke visualization directly in your OBS scene.

Step-by-Step Setup

  1. Install OBS Studio if you do not have it:

    brew install --cask obs
  2. Download the Input Overlay plugin from the OBS forums. Extract the plugin files into your OBS plugins directory (~/Library/Application Support/obs-studio/plugins/).

  3. Restart OBS and create a new source. Select Input Overlay from the source type list.

  4. Choose a preset layout. The plugin ships with keyboard layouts (full keyboard, compact, or keys-only). Select the layout that matches what you want to show.

  5. Customize visible keys. Edit the layout configuration to hide keys you do not want displayed. For tutorials, showing only modifier rows and common shortcut keys reduces visual noise.

  6. Position and scale the overlay in your OBS scene. Place it in a lower-third or sidebar position.

  7. Set chroma key (optional). If you want the key display without a background, configure the overlay with a green background and add a Chroma Key filter in OBS.

Trade-offs

The OBS approach works best for streamers or creators already committed to OBS workflows. The initial setup takes longer than any other method on this list, and the visual style leans more toward gaming/streaming than professional tutorials. However, the customization ceiling is the highest — you can design any key layout and style it with custom image assets.

Choosing the Right Tool for Your Workflow

The best keystroke display tool depends on your existing recording setup and how much visual customization you need.

If you record with Screenify Studio, the built-in keystroke overlay is the obvious choice. Zero external tools, no permission juggling, and the overlay stays out of your physical screen so it never distracts you while working. The integration also means keystroke display works seamlessly with other Screenify features like auto-zoom and cursor effects.

If you use QuickTime, Loom, or other simple recorders, pair them with KeyCastr for a free solution or Keystroke Pro for a polished one. Both run independently and work with any recorder that captures your display.

If you live in OBS, the Input Overlay plugin keeps everything inside one application. You avoid running additional background processes and can manage the keystroke source alongside your other OBS sources (webcam, audio, scenes).

If you switch recorders frequently, a standalone tool (KeyCastr or Keystroke Pro) provides consistency. Your keystroke display looks identical regardless of which recorder you use, which matters if you produce content across multiple platforms or clients with different tool requirements.

Tips for Effective Keystroke Display

Position away from main content. If you are recording a code editor, place keystrokes in the bottom-left where the terminal usually sits, not overlapping the code area viewers need to read.

Use readable font size. Test your recording at the resolution viewers will actually watch — usually 1080p or 720p embedded in a browser. Keystroke overlays that look fine at 4K can become unreadable at smaller sizes. Aim for a minimum 18px equivalent font height in the final output.

Filter out single-character presses. Unless you are specifically teaching typing technique, displaying every letter typed floods the overlay and distracts from meaningful shortcuts. Show only modifier combinations (Cmd+S, Ctrl+C, etc.) and special keys (Escape, Enter, Tab).

Keep display duration short. Between 1 and 2 seconds works for most content. Longer durations cause keystrokes to stack up during rapid shortcut sequences, creating a wall of badges that obscures your content.

Match your color scheme. If your editor uses a dark theme, use a dark keystroke overlay with light text. A bright white badge over a dark IDE creates a visual jarring effect that pulls attention away from the content itself.

Consider combining with cursor effects. Keystroke display pairs well with cursor highlighting — viewers see both what you pressed and where you clicked, creating a complete picture of your interaction. You can also highlight mouse clicks to make the visual feedback even clearer. For maximum instructional impact, enable keystroke display alongside cursor spotlight so viewers see the shortcut badge pop up while the cursor area stays visually focused.

Disable during sensitive input segments. If your recording includes moments where you type passwords, API keys, or personal information, pause or disable the keystroke overlay for those segments. KeyCastr can be toggled on and off with a global shortcut key. Keystroke Pro supports per-app rules that automatically disable display in specific applications like browsers or password managers. Plan your recording around these transitions so the keystroke display disappears cleanly rather than cutting mid-sequence.

Troubleshooting Common Issues

Keystroke overlay not appearing in recording. If you are using KeyCastr or Keystroke Pro and the overlay does not show up in your recorded video, the most likely cause is that your recorder is capturing a specific window rather than the full screen. Window capture modes in OBS, QuickTime, and other tools only capture the contents of the selected window — floating overlays from other apps are excluded. Switch to full-screen or display capture mode to include the overlay.

macOS blocks Input Monitoring permissions. After updating macOS, previously granted Input Monitoring permissions sometimes reset. If KeyCastr or Keystroke Pro stops capturing keystrokes, go to System Settings → Privacy & Security → Input Monitoring, remove the app from the list, then re-add it. Restart the app after re-granting permissions.

Keystrokes display too small in the final video. This happens when you record at high resolution (4K or Retina) but viewers watch at 1080p or 720p. The overlay that looks fine on your display shrinks proportionally in the downscaled output. Increase the font size in your keystroke tool to at least 24px for 4K recordings, or 18px for 1080p recordings. Test by exporting a short clip and watching it at the intended viewing size.

Modifier keys display but regular keys do not. Some keystroke tools default to showing only modifier combinations (Cmd+S, Ctrl+C) and filtering out single-character input. This is usually intentional to prevent password leakage and reduce visual noise. If you need to display all keystrokes (for typing tutorials), check the tool's filter settings and disable modifier-only mode.

Overlay conflicts with screen recording permissions. On macOS Sequoia and later, Screen Recording permissions are more restrictive. If your keystroke tool's overlay disappears when you start recording, both apps may be competing for the same screen access. Grant Screen Recording permission to both your recorder and your keystroke tool in System Settings → Privacy & Security → Screen Recording.

OBS Input Overlay plugin shows wrong keyboard layout. The Input Overlay plugin uses layout configuration files that map physical key positions to visual positions. If your keyboard layout does not match the plugin's default (typically US ANSI), keys will appear in wrong positions. Download or create a layout file matching your physical keyboard from the plugin's community repository, then load it in the Input Overlay source settings.

Keystroke display stays on screen too long, creating visual clutter. Reduce the fade duration in your keystroke tool's preferences. KeyCastr defaults to approximately 2 seconds, which stacks up during rapid shortcut sequences. Set it to 1-1.5 seconds for coding tutorials where you trigger multiple shortcuts in quick succession. In Keystroke Pro, you can also limit the maximum number of visible keystrokes simultaneously to prevent stacking.

FAQ

Q: Do keystroke overlays slow down my Mac during recording?

KeyCastr and Keystroke Pro use minimal CPU (under 1% on Apple Silicon). They capture input events from the system and render a small overlay — there is no screen analysis or OCR involved. OBS Input Overlay is slightly heavier because OBS itself uses more resources, but the plugin adds negligible overhead.

Q: Can I show keystrokes without showing passwords?

Yes. Most tools support modifier-only filtering, which only displays keystrokes that include Cmd, Ctrl, Option, or Shift. Single-character typing (including passwords) stays hidden. Keystroke Pro also supports per-app rules, so you can disable display entirely for your browser or password manager.

Q: Will the keystroke overlay appear in screenshots too?

With standalone tools like KeyCastr and Keystroke Pro, yes — the overlay renders on your screen, so any screenshot captures it. With Screenify Studio, no — the overlay is composited into the video output only and does not appear on your physical display.

Q: What is the best overlay position for coding tutorials?

Bottom-left or bottom-center works best. Code editors typically have the most important content in the upper-center area (the file you are editing), with less critical UI at the bottom (terminal, status bar). Placing keystrokes there avoids covering the code.

Q: Can I show mouse clicks alongside keyboard shortcuts?

Yes. KeyCastr displays mouse clicks as coordinates by default (you can disable this). Screenify Studio has separate click highlighting and keystroke display toggles. In OBS, you can add both Input Overlay and a mouse highlighter source to your scene.

Q: How do I show keystrokes in recordings I have already finished?

You cannot retroactively add keystroke overlays to existing recordings with the tools listed above — they all capture in real time. Your options are re-recording with a keystroke tool enabled, or manually adding text overlays in a video editor (tedious but possible for short clips).

Q: Do these tools work with external keyboards?

Yes. KeyCastr, Keystroke Pro, and Screenify Studio capture keystrokes at the OS level via the Input Monitoring API, so they work identically with built-in MacBook keyboards, external mechanical keyboards, and Bluetooth keyboards.

Q: Can I add keystroke overlays to auto-zoomed recordings?

Yes. In Screenify Studio, keystroke display and auto-zoom work simultaneously — the overlay follows the zoom viewport. With standalone tools, the overlay position is fixed on screen, so it may move out of frame if your recorder crops or zooms a specific area. Test the combination before a long recording session.

Screenify Studio

Try Screenify Studio

Record your screen with auto-zoom, AI captions, dynamic backgrounds, and Metal-accelerated export. Free plan, unlimited recordings.

Download Free
Join our early adopters