If you can see it, you can automate it.
OpenCV · Image Recognition · GUI Automation · Cross-Platform · Java / Python / Ruby
SikuliX is now actively maintained under oculix-org, with the full agreement of its original creator RaiMan.
A huge thank you to RaiMan for building and maintaining SikuliX for years, and for laying the foundations of visual automation as we know it today.
The goal is simple: stabilize, modernize and extend SikuliX while preserving what made it powerful from the start.
SikuliX uses computer vision (powered by OpenCV) to identify and interact with anything visible on your screen — across Windows, macOS and Linux.
It locates GUI elements through image recognition, then drives them with simulated mouse and keyboard actions. No access to source code, DOM or internal APIs required.
|
|
| Status | |
|---|---|
| Maintenance | Actively maintained |
| Issues & PRs | Reviewed and triaged |
| CI/CD | Automated builds for Windows, macOS, Linux |
| macOS Apple Silicon | Supported (M1 / M2 / M4) |
Latest stable: 2.0.5
| Platform | Support |
|---|---|
| Windows (x86_64) | Supported |
| macOS Intel | Supported |
| macOS Apple Silicon (M1+) | Supported |
| Linux (x86_64) | Supported |
| Java | 8+ (17 recommended) |
Resources:
The next evolution of SikuliX. 511 files changed, 123,728 insertions over SikuliX 2.0.5.
| Windows | Available | Download |
| Linux | Available | Download |
| macOS | Validation in progress | Download (beta) |
What's new in 3.0.1:
| Category | Details |
|---|---|
| macOS fix | Fixed ASM class conflict (cglib/rococoa) that crashed Jython on macOS — the IDE now starts on Apple Silicon (M1/M2/M4) |
| IDE fix | -v (verbose) flag no longer blocks GUI display |
| VNC stack | Full VNC integration — VNCScreen, VNCRobot, VNCClient, VNCFrameBuffer, VNCClipboard, XKeySym (2200+ key mappings) |
| SSH | Native SSH tunnels via embedded jcraft/jsch — no external tools required |
| Android ADB | ADBClient, ADBDevice, ADBRobot, ADBScreen — control Android 12+ devices via WiFi or USB, no Appium needed |
| PaddleOCR | Neural OCR engine integration — PaddleOCREngine, PaddleOCRClient — text detection with confidence scoring on any screen |
| OpenCV | Upgraded to OpenCV 4.10.0 via Apertix |
| Script runners | Jython, JRuby, PowerShell, AppleScript, Robot Framework |
| Java | Java 17 recommended (Java 8+ still supported) |
| CI/CD | Automated builds for Windows, macOS, Linux via GitHub Actions |
# Requires Java 8+ (Java 17 recommended)
java -version
# SikuliX 2.0.5 (legacy stable)
java -jar sikulixide.jar
# OculiX 3.0.1 (latest development build)
java -jar oculixide-3.0.1-windows.jar # Windows
java -jar oculixide-3.0.1-macos.jar # macOS
java -jar oculixide-3.0.1-linux.jar # LinuxMaven dependency (SikuliX 2.0.5):
<dependency>
<groupId>com.sikulix</groupId>
<artifactId>sikulixapi</artifactId>
<version>2.0.5</version>
</dependency>SikuliX scripts can be written in:
| Language | Extension | Engine |
|---|---|---|
| Python | .py |
Jython 2.7 |
| Ruby | .rb |
JRuby 9.2 |
| Java | .java |
Native |
| PowerShell | .ps1 |
OculiX 3.0.1+ |
| AppleScript | .scpt |
OculiX 3.0.1+ (macOS) |
Screen Capture ──► OpenCV Match ──► Region Located ──► Mouse / Keyboard Action
│ │
▼ ▼
Confidence Score Visual Verification
SikuliX captures the screen, runs template matching via OpenCV to find target regions, and performs pixel-accurate interactions. The entire pipeline runs locally — no cloud, no external API, no data leaves your machine.
SikuliX — Computer Vision meets Desktop Automation
Maintained by oculix-org · Founded by RaiMan · MIT License
