

AutoHotkey
AutoHotkey is an open-source Windows scripting language for task automation. It crafts scripts for operations like form filling and auto-clicking, initially starting with hotkeys yet evolving into a complete script language. Converts scripts to executables, works offline, and supports debugging.
Features
Properties
- Lightweight
Features
- Task Automation
- Key rebinding
- Global hotkey
- Support for scripting
- Macro Recording
- Text Expansion
- Key Mapping
- Custom Scripts
- Portable
- Exe Compiler
- Support for Hotkeys
- Works Offline
- Ad-free
- Automatic Looping
- No Coding Required
Tags
- Automation
- Macros
- GUI automation
- create-hotkeys
- automated-tasks
AutoHotkey News & Activities
Recent News
Recent activities
- floriau reviewed AutoHotkey
- awful: you can never be sure that even simple things work as expected
- but: no viable software alternative on Windows
- for simple things try PowerToys' Keyboard Manager first, if that's not enough use a hardware-based approach like QMK and maybe, maybe mix it with a tiny bit of AutoHotKey to make your hot keys application aware
- floriau liked AutoHotkey
POX added AutoHotkey as alternative to TypeAssist- VictoriousHeart liked AutoHotkey
erraticpulse added AutoHotkey as alternative to Sudare
zynix added AutoHotkey as alternative to CrossMacro- gabrieldja liked AutoHotkey
rethink-hub added AutoHotkey as alternative to Arc: AI Screen Assistant
Featured in Lists
This is the apps for Windows 11 that I would recommend to anyone who just got a PC ! The same list for
These are all the software I use on my windows machine. I am privacy freak. So, I mostly use open source software. …
After a fresh Windows installation, new users might get frustrated by the weakness of the default Microsoft apps. So, …
What is AutoHotkey?
AutoHotkey (AHK) is a free, open-source macro-creation and automation software for Windows that allows users to automate repetitive tasks. It is driven by a scripting language that was initially aimed at providing keyboard shortcuts, otherwise known as hotkeys, that over time evolved into a full-fledged scripting language.
You can use AutoHotkey to:
- Automate almost anything by sending keystrokes or mouse clicks, or via COM.
- You can write a mouse or keyboard macro by hand or a recorder.
- Create hotkeys for keyboard, joystick, and mouse.
- Remap keys and buttons on your keyboard, joystick, and mouse.
- Expand abbreviations as you type them.
- Retrieve and change the Clipboard's contents.
You can also:
- Convert any AHK script into an executable file that can be run on computers where AutoHotkey is not installed.
- Create custom data-entry forms, user interfaces and menu bars.
- Automate data entry jobs by reading data from text files, XML, CSV, Excel and various database formats.
- Read signals from hand-held remote controls via the WinLIRC client script.
- Use the Component Object Model (COM).
- Use arrays, structures, matrices, and objects.
- Use variadic functions.
- Use DLL calls and Windows Messages.
- Use Perl Compatible Regular Expressions (PCRE).
- Use interactive debugging features.












Comments and Reviews
Someone actually managed to write an AutoHotkey IDE using only AutoHotkey: https://sourceforge.net/projects/autogui/
I heard you like scripts…
It's a very complicated application. You need to write the places you want to click in the script file. If you can't set the time between clicks correctly, it can click in other places.
I'm not a big fan of HotKeys and newer programming has probably replaced much of the use, but if you do like HotKeys,
Pulover’s Macro Creator seems to be a great tool to make it easier. Pulover makes scripting easier and will export directly to HotKey.
This shows as the top Windows alternative to Typinator for Mac, but this is very misleading. Typinator has a very easy-to-use interface that anyone can understand. AutoHotkey requires knowledge of coding, and is not straightforward at all.
Great program, well detailed documentation and robust general functionality.
I only wish author would try more to mold the syntax towards a common language. Not to replace it, but model it like ie javascript and move towards syntactically imitating it more.