InputMetrics app icon

InputMetrics

A lightweight macOS menu bar app that tracks your keyboard and mouse usage with beautiful charts, heatmaps, and detailed statistics. Entirely private, entirely local.

macOS 15+ · Free · Open Source
Download Latest Release

Installation

1

Download the ZIP from the latest release

2

Extract and drag to Applications

3

Launch from menu bar

4

Grant Accessibility & Input Monitoring

Features

Mouse Distance

Tracks cursor travel in pixels, converted to real-world meters, kilometers, feet, or miles. Includes fun comparisons showing your progress toward circling the Earth or reaching the Moon.

Click Tracking

Separate counters for left, right, and middle mouse clicks. View today's counts and all-time totals at a glance.

Scroll Distance

Measures both vertical and horizontal scroll distance in pixels, with automatic shorthand formatting for large numbers.

Keystroke Counter

Counts every keypress with per-key frequency tracking. See your top 5 most-used keys each day and all-time keystroke totals.

Mouse Heatmap

A 50×50 grid heatmap showing where you click most. Multi-monitor aware with per-display and aggregate views. Color scale from blue to red.

Keyboard Heatmap

Full QWERTZ keyboard layout rendered with color-coded intensity, showing which keys you press most. Tracks modifier combinations (Cmd, Shift, Ctrl, Option).

Interactive Charts

Smooth line charts with area fills and data points for weekly, monthly, and yearly views. Hover tooltips show exact values for any day.

Menu Bar & Dashboard

Quick-access popover from the menu bar for daily stats. Full dashboard window with expanded charts and heatmaps for deeper analysis.

How It Works

InputMetrics lives in your menu bar and passively listens to input events using a read-only CGEventTap. It cannot intercept, modify, or block any input — it only counts.

Data Collected

Data NOT Collected

In-memory buffers flush to the local SQLite database every 30 seconds and on app quit. You can configure automatic data pruning (3 months, 6 months, 1 year, or keep forever) in Settings.

Settings & Data Management

Tech Stack

LayerTechnology
LanguageSwift 6
UISwiftUI with AppKit bridging
ChartsSwift Charts (LineMark, AreaMark, PointMark)
Event CaptureCGEventTap (listen-only)
DatabaseSQLite via GRDB.swift
Login ItemSMAppService (ServiceManagement)
ArchitectureMVVM with @Observable ViewModels
Minimum macOS15.0 (Sequoia)

Permissions

InputMetrics requires two macOS permissions to function. Both must be explicitly granted by you in System Settings > Privacy & Security:

The app runs outside the sandbox to enable input event monitoring via CGEventTap. It has no network entitlements and makes zero network requests. If permissions are not granted, InputMetrics will prompt you and open the relevant System Settings pane.

Privacy Policy

Last updated: March 11, 2026

The Short Version

InputMetrics collects zero personal data. Everything stays on your Mac. Nothing is ever transmitted anywhere.

Data Collected

InputMetrics records only aggregate usage counts, stored locally in a SQLite database at ~/Library/Application Support/InputMetrics/metrics.db:

Data NOT Collected

Data Storage & Transmission

Data Control

Third-Party Services

InputMetrics uses no third-party services, SDKs, or libraries that collect data. The only external dependency is GRDB.swift (local database), which does not perform any network activity. Login item management uses the native macOS ServiceManagement framework.

Children

InputMetrics does not collect personal information from anyone, including children under the age of 13.

Changes

If this policy changes, the updated version will be posted on this page with a new date.

Contact

Questions about this policy? Open an issue on GitHub.