await mouse.move( straightTo( centerOf( screen.find( imageResource('button.png') ) ) ));await mouse.click(Button.LEFT);await keyboard.type('Hello World!');}
Automate workflows with nut.js so you have more time to focus on the things that matter.
Direct or relative movement, adjustable speed and acceleration - nut.js makes mouse movement a breeze!
const {mouse, straightTo, Point} = require('@nut-tree/nut-js');
(async () => { await mouse.move( straightTo( new Point(200, 100) ) ); await mouse.doubleClick(Button.LEFT); await mouse.drag( straightTo( new Point(600, 340) ) );})();
Because you shouldn't have to spend time on tedious, repetitive work.
GUI testing shouldn't be hard
With its rich API any tester, regardless of their skill level, can automate and validate GUI applications with ease. End-to-end test smarter, not harder โ with nut.js.
Developers should focus on their own code, not their dependencies.
nut.js is fully pre-built and available for Windows, Linux and macOS. This makes it easy to integrate it with your existing project. No matter whether you have a node or Electron project, no more messing around with compilers, dependencies or build processes so you can fully focus on delivering a great application.
Don't waste time on repetitive tasks
Time is money, and you can save on both by automating repetitive tasks. Let nut.js do the deeds so you have the time to focus on actual business value. A triple win! Whether it's a game or a business application, nut.js can help you automate almost anything!
Every software can have an API โ with nut.js
Are you struggling with manual data extraction from applications without an API? nut.js can help you with that! Let nut.js extract data and serve it via your own API. This way you can easily integrate legacy applications into your modern workflow.
With its rich API any tester, regardless of their skill level, can automate and validate GUI applications with ease. End-to-end test smarter, not harder โ with nut.js.
nut.js is intuitive to get started easily, yet so powerful that you can automate even the most complex tasks.
nut.js provides a wide range of desktop automation, including mouse manipulation, keyboard input, and screen recognition. Its user-friendly API covers various use cases and helps minimize development efforts. Additionally, with open-source problem-solving and high-quality support, we had no concerns when incorporating it into our product.
Man, honestly, it's such a nice project! I actually tried it already in a Mac, a Linux and a Windows machine and for all of them ๐
Are you kidding, this is the real deal. Keep it up!
Hey guys, I must say this is a cool library and the getting-started docs is awesome
Hey Simon, just joined to say nut.js is awesome, thanks for making it! ๐
Thank you for your hard work! I use it a lot.
I can't wait to find a good idea to give this a shot. It looks super clean.
Very nice! Kind of like webdriver but for the desktop ๐
Works perfect, and x100 times faster than robotjs! Great job!
Great plugin btw. Leaves robotjs in the dust.
I've been using nut.js since end of 2021, and it's one of the most amazing tools to automate some of my stuff.
No matter whether you are a hobbyist, an indie hacker or a company, we have a plan that will work well for you.
nut.js provides a rich set of functionality completly free of charge.
Free
I'll go with this plan!For anyone looking to build a product including nut.js.
40$/month
Got a team working with nut.js? This is the right plan for you!
130$/month
If you canโt find what youโre looking for, feel free to reach out via mail
nut.js is an open source project, so development and maintenance happens in my free time.
Sponsoring development will give you access to private packages and ensures continuous maintenance.
Additionally, it allows me to pay for hardware to support additional platforms/architectures or features! The ultimate goal would be to work full-time on nut.js.
Conclusion: If nut.js is beneficial for you or your company, you should consider sponsoring the project!
No! You don't have to sponsor me to use nut.js (although I'd be really greatful if you'd do it anyways).
I'm providing optional, ready-to-use plugins for sponsors, but you could also build your own by implementing one of the available plugin interfaces.
At the moment private packages include:
Yes! If you are stuck with something and want me to help you out, feel free to reach out to me at kontakt@s1h.org
No, sorry! I'm already providing nut.js for free, which takes up quite a lot of my time.
If you want me to help you fix a problem, please contact me about consulting.