LOCAL-FIRST · COUNTS ONLY

You hit 0 keys yesterday.See the pattern, not the content.

A macOS menu-bar app that totals keyboard and mouse activity. Optional account sync gives you a private dashboard across your Macs. Nothing you type is captured. Just numeric totals.

30 daysof private minute detail · raw events stay on your Mac

Free & open source · Apple Silicon & Intel · macOS 13+

Input Stats — last 120 days live
0
keystrokes today
0
clicks
0
scroll events
0
pointer px
Keystrokes0 · 30d
Pointer px0 · 30d
clicks scroll0 · 0 · 30d
Drag the window · ← → to step days · scroll sideways on a chart

A fork of Typing Stats by Guillermo Rauch (@rauchg), extended with mouse & trackpad tracking, a high-resolution timeseries drilldown, and cloud sync by mewc.

What it tracks

Your whole day at the keyboard, at a glance

Live totals in the menu bar, deep history in a click. Keys, clicks, scroll and pointer distance — broken down by day and by app.

⌨️

Keyboard & mouse

Keystrokes, clicks, scroll events and pointer-movement distance — all tracked locally, live in your menu bar.

📊

Per-app breakdown

See which apps you actually spend your keystrokes in, as stacked daily charts with a color per app.

⏱️

Timeseries drilldown

Zoom from 30 days down to 5-second blocks. Daily bars or high-resolution line charts, your pick.

☁️

Multi-device sync

iCloud keeps your Macs in step out of the box. Sign in and your aggregate counts sync to the cloud too.

🔗

Private account, public profile

Log in with Google to link your Macs and see your history anywhere. Flip on a shareable profile page with a live stats card if you want to show off.

🔒

Counts only, ever

Only per-app, per-interval counts are stored. The keys you press are never recorded, on-device or in the cloud.

See it

Built like a native Mac app

Dark, quiet, and fast. Everything below is real data from a real week.

Keystroke history with a per-app stacked bar chart and daily totals
Keystroke history — stacked per app (Conductor, Chrome, cmux…), 7 / 30 / 60 days.
Mouse activity charts: clicks, scroll and pointer movement over 30 days
Mouse activity — clicks, scroll and pointer distance, day by day.
Input Stats menu bar dropdown showing keyboard, click and movement totals
Menu bar — live totals for keys, clicks & movement, a glance away.
Cloud sync

Sign in once. Your counts follow you.

The cloud companion syncs numeric counts and turns them into a private account dashboard plus de-identified population trends.

1

Sign in with Google

Open the app, choose “Sign in to Sync,” and authenticate in your browser. That’s the whole setup.

2

Counts sync securely

Your daily totals push to the cloud over HTTPS, signed with a per-device key. Every Mac stays in sync.

3

See your private dashboard

Your records and per-app mix stay private to your account. Population charts use coarse, thresholded totals.

Show your work

A profile page and share card, if you want one.

Off by default. Flip it on and you get a public page at /u/you with your weekly keys, streak, record day, daily rhythm and milestones — plus a live Open Graph card for links, an SVG badge for your README, and an optional spot on the weekly leaderboard.

Example Input Stats share card
Share card — generated on the fly with your latest numbers. Names and totals only.

Keystrokes are never recorded

Input Stats only ever counts. It stores per-app, per-interval totals — never the actual keys you press, on your Mac or in the cloud. Local data lives in SQLite; synced data is just aggregate counts, signed with a per-device key so it can’t be tampered with in transit.

No keyloggingCounts onlyHMAC-signed syncOpen source

Start counting.

Download the app, or sign in to sync what you’ve already tracked.

brew install --cask mewc/tap/input-stats