RaiMan's SikuliX is Julien Mer’s Oculix
Automate what you see on a computer monitor
RaiMan finally stopped the development of SikuliX due to private priorities in 2024.
He is happy that Julien Mer (julienmerconsulting) has taken over in March 2026 naming it Oculix.
Find all the information and resources at oculix-org on Github: Sikulix is now Oculix
now is Oculix
now is OculixSikuli is God's Eye
… in Huichol Indian culture: the power to see and understand things unknown. (Thanks for the picture showing a Sikuli)
Sikuli was started somewhen in 2009 as an open-source research project at the User Interface Design Group at MIT by Tsung-Hsiang Chang and Tom Yeh. Both left the project at Sikuli-X-1.0rc3 during 2012, when RaiMan decided to take over development and support and name it SikuliX.
What is SikuliX/Oculix?
SikuliX automates anything you see on the screen of your desktop computer running Windows, Mac or some Linux/Unix. It uses image recognition powered by OpenCV to identify GUI components. This is handy in cases when there is no easy access to a GUI's internals or the source code of the application or web page you want to act on.
SikuliX supports as scripting languages
Python language level 2.7 (supported by Jython)
running RobotFramework text-scripts is supported (see docs)
Ruby language level 1.9 and 2.0 (supported by JRuby)
… and you can use it in Java programming and programming/scripting with any Java aware programming/scripting language (Jython, JRuby, Scala, Clojure, …).
Though SikuliX is currently not available on any mobile device, it can be used with the respective emulators on a desktop computer or based on VNC solutions. A solution for Android devices based on ADB (Android Debugging Bridge) is in an early experimental stage,
Besides locating images on a screen SikuliX can run the mouse and the keyboard to interact with the identified GUI elements. This is available for multi monitor environments and even for remote systems with some restrictions.
SikuliX comes with basic text recognition (OCR) and can be used to search text in images. This feature is powered by Tesseract.
SikuliX is a Java application, that works on Windows, macOS and most Linux/Unix systems.
When is SikuliX/Oculix useful?
You want to automate some repetitive tasks in
daily usage of applications or web pages
playing games
administration of IT systems and networks
support testing during application development
You want to test applications or web pages, that are under development.
You want to create usage documentation or training material, that run live on the addressed application or web page.
You already have tools and workflows for that, but you want to add the specific features of SikuliX to enhance your approach and improve efficiency and outcome. Using SikuliX means doing WYSIWYS: What You See Is What You Script ;-)
How can I get SikuliX or better switch to Oculix?
The best way is to switch to Oculix: https://github.com/oculix-org/Oculix
SikuliX can still be downloaded from SikuliX's Launchpad page
Or you can try to use one of the artefacts at https://github.com/oculix-org/SikuliX1
BUT BE AWARE: SikuliX version 2.0.5 might not work in your environment.
How do I use SikuliX/Oculix?
With SikuliX there are two rather distinct usage scenarios:
Scripting
One sets up and runs more or less complex SikuliX workflows based on searching images and acting on GUI elements with mouse and keyboard. For this one uses the so called SikuliX IDE, that brings some basic support for editing and running scripts. In the Scripting usage scenario, you handle SikuliX scripts named you-name-it.sikuli, which are folders containing the script file and the images you need for the workflow. You either run the scripts from within the SikuliX IDE or from the command line.
To get on the road you should at least once scan the docs.
Programming
In a mature IDE (IntelliJ IDEA, Eclipse, NetBeans, ...) and/or some testing environment one integrates SikuliX as a feature library using the available API's while programming in Java or Java aware/based languages (Jython, JRuby, Scala, Clojure, ...). If you work in this usage scenario, then you should at least once scan the docs and look out for special information on how to use with Java.
Where can I get help?
Oculix: resources and information are completely in the Github ecosystem: oculix-org
SikuliX: You might visit SikuliX's Launchpad page. You might ask a question in the Answers section or scan it for anything helpful. You might check the FAQ section. Even the Bugs section might shed light on your current problem.
But be aware: The site is no longer maintained, but you still might get reactions from the community.
How can I contribute?
The sources and hence the development base is at oculix-org
Any contribution is welcome and highly appreciated.
Last updated