finds.dev← search

// the find

octalmage/robotjs

★ 12,775 · C · MIT · updated Oct 2026

Node.js Desktop Automation.

RobotJS is a native Node.js addon for desktop automation — moving the mouse, sending keystrokes, reading pixels, and doing basic image matching on screen captures. It's for people building cross-platform automation tools, test harnesses, or bots that need to drive the OS directly rather than through a browser.

Ships prebuilt Node-API binaries for Linux/macOS/Windows on x64 and arm64, so most users skip the node-gyp toolchain entirely. The image/color search API (findImage, findColor, countColor, etc.) is a genuinely useful feature that's hard to get right in pure JS and rarely found in competing libraries. macOS permission handling (getAccessibilityPermission, requestScreenCapturePermission) is handled explicitly instead of just failing silently when the OS blocks you.

Still pre-1.0 after years of existence, and the README says the API can change at any time — a real risk if you depend on it in production. No global hotkey support, and the maintainer is upfront that it may never come, so you'll need a second library if that's a requirement. It's a native C addon wrapping low-level OS APIs (X11, Win32, Carbon/Quartz), so Electron version bumps and Node ABI changes are a recurring source of rebuild pain. PNG support on macOS/Linux source builds is opt-in and requires libpng + pkg-config, an easy thing to miss until an image load silently fails.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →