explaingit

keycastr/keycastr

Analysis updated 2026-06-24

14,815Objective-CAudience · generalComplexity · 1/5LicenseSetup · easy

TLDR

Small open-source macOS app that displays the keystrokes you press in an on-screen overlay, useful for screencasts, demos, and pair programming.

Mindmap

mindmap
  root((KeyCastr))
    Inputs
      Keystrokes
      Modifier keys
      Mouse clicks
      Display settings
    Outputs
      Overlay window
      Menu bar icon
      Keystroke text
      Sparkle updates
    Use Cases
      Record screencasts
      Run live demos
      Pair on video
      Teach shortcuts
    Tech Stack
      Objective-C
      AppKit
      Sparkle
      macOS
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Show keystrokes on screen while recording a coding screencast on macOS

USE CASE 2

Demo keyboard shortcuts in a live workshop so the audience can follow along

USE CASE 3

Pair-program over Zoom and let the other person see what you actually typed

USE CASE 4

Teach a new editor or shell to students by showing every key as you work

What is it built with?

Objective-CAppKitSparklemacOS

How does it compare?

keycastr/keycastrflextool/flexmarcuswestin/webviewjavascriptbridge
Stars14,81514,59814,320
LanguageObjective-CObjective-CObjective-C
Last pushed2026-04-20
MaintenanceMaintained
Setup difficultyeasyeasymoderate
Complexity1/53/53/5
Audiencegeneraldeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

macOS will block it until you grant Input Monitoring or Accessibility access in System Settings.

Released under BSD 3-Clause, which lets you use, modify, and ship it freely as long as you keep the notice and do not use contributor names to endorse derivatives.

In plain English

KeyCastr is a small open-source Mac app that shows the keys you press on screen in real time. It is useful when you are recording a screencast, giving a live demo, or pairing with someone over a video call, because the viewer can see which keys you actually hit rather than just the result of those keys. You can choose to show only the command-key shortcuts, all keys with modifiers, or every keystroke, and there is an option to include mouse clicks as well. Installation is straightforward. You can grab a built copy from the GitHub releases page, or install it from Homebrew with brew install cask keycastr. Once it is running it shows the keystrokes in an overlay window on the screen, by default in the bottom-left corner. You can move the overlay by clicking and dragging the displayed text. Because the app needs to see every keypress, macOS will ask for permission before it works. On macOS 10.15 and newer it appears under the Input Monitoring section of the Security and Privacy panel in System Preferences, where you tick its box to enable it. On older versions, or if it does not show up automatically, the README explains how to add it manually under Accessibility instead. There is also a troubleshooting checklist for when the app appears to do nothing, which usually comes down to denied permissions or the overlay window being placed offscreen. The README addresses the obvious security worry. Any program with these permissions can see everything you type, so it tells you to look carefully at which apps you grant Accessibility or Input Monitoring access to. KeyCastr itself is open source, sends no data over the network apart from the Sparkle framework that checks for updates, and will not display the contents of password fields as long as the website or app marks them as such. KeyCastr has been available for the Mac since 2009 and is released under the BSD 3-Clause licence. The README credits the original author and several later contributors who took over maintenance, added a menu bar icon, and refreshed the application icon for newer macOS styles.

Copy-paste prompts

Prompt 1
Install KeyCastr with Homebrew and grant it Input Monitoring access on macOS
Prompt 2
Configure KeyCastr to show only command-key shortcuts during a screencast
Prompt 3
Build KeyCastr from source with Xcode and run a debug build
Prompt 4
Move the KeyCastr overlay to the top-right of the screen for a vertical recording
Prompt 5
Troubleshoot KeyCastr not showing any keys after upgrading macOS

Frequently asked questions

What is keycastr?

Small open-source macOS app that displays the keystrokes you press in an on-screen overlay, useful for screencasts, demos, and pair programming.

What language is keycastr written in?

Mainly Objective-C. The stack also includes Objective-C, AppKit, Sparkle.

What license does keycastr use?

Released under BSD 3-Clause, which lets you use, modify, and ship it freely as long as you keep the notice and do not use contributor names to endorse derivatives.

How hard is keycastr to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is keycastr for?

Mainly general.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.