I recently discovered KeyCastr while preparing a technical demonstration for my distributed team, and it solved a problem I didn’t realize had such an elegant solution. Anyone who’s ever tried to explain keyboard shortcuts during a screen share knows the challenge - you’re rapidly pressing Command+Shift+Option combinations while your audience has no idea which keys you’re actually hitting.
KeyCastr is an open-source keystroke visualizer that displays your keyboard and mouse input directly on screen in real-time. As someone who regularly creates screencasts and conducts remote training sessions, I’ve been using this tool on my M2 MacBook Air and it’s become an essential part of my presentation workflow.
The app sits quietly in your menu bar until activated, then displays an elegant overlay in the corner of your screen showing exactly which keys you’re pressing. You can configure it to show command keys only, all modified keys, or complete keystroke logging depending on your needs. The display is repositionable - just click and drag it anywhere on screen - and it defaults to the bottom left corner where it stays out of the way but remains visible.
What I appreciate most is the thoughtful privacy implementation. KeyCastr contains no networking code beyond the standard Sparkle update framework, and it specifically avoids capturing password fields when websites use secure input methods. As a free and open-source project licensed under BSD 3-Clause, the entire codebase is transparent and auditable on GitHub, where it has accumulated over 14,500 stars from the developer community.
The app supports multiple visualization styles through its extensible framework, and you can enable optional mouse click visualization if you want to show physical interactions alongside keyboard input. In my experience working with this app during video calls, it’s particularly valuable when demonstrating complex keyboard-driven workflows or teaching shortcuts to team members who aren’t familiar with Mac conventions.
Installation is straightforward - download the latest release from the GitHub releases page or install via Homebrew with brew install --cask keycastr. On macOS 10.15 Catalina and newer, you’ll need to grant Input Monitoring or Accessibility permissions through System Preferences, which is standard for any app that monitors keyboard input.
The performance impact is negligible - I haven’t noticed any lag or slowdown even during intensive screen recording sessions. The overlay rendering is smooth and doesn’t interfere with other applications. While the visual styling is functional rather than flashy, it’s clear and readable at a glance, which is exactly what you need during live presentations.
KeyCastr works particularly well for technical educators, software trainers, and anyone creating tutorial content. I’ve used it during customer onboarding sessions, internal tool demonstrations, and when recording documentation videos. It eliminates the constant verbal narration of “now I’m pressing Command+K” and lets viewers see exactly what you’re doing in real-time.
The project has been actively maintained since 2009, with the most recent release improving handling of different input sources. With 22 contributors and an engaged community, it continues to evolve based on user feedback. The developers are responsive to issues on GitHub, and the codebase is written in Objective-C with clear documentation for anyone wanting to contribute custom visualizers.
For a completely free tool that solves such a specific problem this well, KeyCastr is a remarkable piece of software. Anyone who regularly shares their screen for technical demonstrations will find this invaluable.