octalmage/robotjs

Node.js Desktop Automation.

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 54 minutes ago
Added to GitGenius on September 4th, 2026
Created on August 31st, 2014
Open Issues & Pull Requests: 7 (+0)
GitHub issues: Enabled
Number of forks: 1,004
Total Stargazers: 12,776 (+0)
Total Subscribers: 192 (+0)

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Issue API getrepoissuespagesummary failed: 429 Rate limit exceeded. Please try again later.

Detailed Description

RobotJS is a Node.js library for desktop automation that controls the mouse and keyboard while reading the screen.

The library solves the problem of programmatically interacting with desktop environments from JavaScript. It provides low-level access to input devices and screen capture through native bindings, allowing developers to automate user interactions, build testing tools, or create monitoring applications. The implementation uses C code compiled to native modules that interface with each operating system's input and display systems.

RobotJS suits projects that need cross-platform desktop automation from a Node.js environment, including test automation, accessibility tools, and system monitoring applications. The tool works on macOS, Windows, and Linux. Prebuilt binaries are available for x64 and arm64 architectures on all three platforms, with fallback to source compilation for other targets. The library includes mouse control, keyboard input, screen capture, and image search capabilities that can locate visual elements on screen and interact with them. macOS users must handle permission requests for accessibility and screen capture through the provided permission check and request functions.

The project remains in active development with the API subject to change before a stable release. The codebase accepts community contributions and maintains a wiki documenting projects built with the library. Build requirements vary by platform: Windows needs a Visual Studio C++ toolchain, macOS requires Xcode Command Line Tools, and Linux needs Python, make, a C/C++ compiler, and libxtst-dev. PNG image support is included in published prebuilds but requires additional dependencies for source builds.