Simulate keystrokes and mouse movements with scripting language!


Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.

Download AutoIt

  -  12.9 MB  -  Freeware
  • Latest Version:

    AutoIt LATEST

  • Requirements:

    Windows XP / Vista / Windows 7 / Windows 8 / Windows 10 / Windows 11

  • User Rating:

    Click to vote
  • Author / Product:

    AutoIt Consulting Ltd / AutoIt

  • Old Versions:

  • Filename:


AutoIt is a freeware BASIC-like scripting language designed for automating the Windows GUI and general scripting. It uses a combination of simulated keystrokes, mouse movement, and window/control manipulation in order to automate tasks in a way not possible or reliable with other languages (e.g. VBScript and SendKeys). AutoIt is also very small, self-contained, and will run on all versions of Windows out-of-the-box with no annoying “runtimes” required!

It was initially designed for PC “roll out” situations to reliably automate and configure thousands of PCs. Over time it has become a powerful language that supports complex expressions, user functions, loops, and everything else that veteran scripters would expect.

It has been designed to be as small as possible and stand-alone with no external .dll files or registry entries required making it safe to use on Servers. Scripts can be compiled into stand-alone executables with Aut2Exe.

Also supplied are a combined COM and DLL version of the app called AutoItX that allows you to add the unique features of AutoIt to your own favorite scripting or programming languages! It has a BASIC-like syntax which means that most people who have ever written a script or used a high-level language should be able to pick it up easily.

AutoIt is a very small and standalone application with no reliance on massive runtimes like .NET or VB. All you need to run AutoIt scripts are the main the app executable (AutoIt3.exe) and the script. Scripts can also be encoded into standalone executables with the built-in script compiler Aut2Exe.

Much time has been spent optimizing the keystroke and mouse simulation functions to be as accurate as possible on all versions of Windows. All the mouse and keyboard routines are highly configurable both in terms of simulation “speed” and functionality.

Features and Highlights

  • Easy to learn BASIC-like syntax
  • Simulate keystrokes and mouse movements
  • Manipulate windows and processes
  • Interact with all standard windows controls
  • Scripts can be compiled into standalone executables
  • Create Graphical User Interfaces (GUIs)
  • COM support
  • Regular expressions
  • Directly call external DLL and Windows API functions
  • Scriptable RunAs functions
  • Detailed helpfile and large community-based support forums
  • Compatible with Windows XP / 2003 / Vista / 2008 / Windows 7 / 2008 R2 / Windows 8 / 2012 R2 / Windows 10
  • Unicode and x64 support
  • Digitally signed for peace of mind
  • Works with Windows Vista’s User Account Control (UAC)

If you are looking for AutoIt alternatives, we recommend you to download TinyTask or AutoHotkey.

What's new in this version:

- REGEXPCLASS broken in
- Image Control resizing behave as forced $GUI_DOCKWIDTH and $GUI_DOCKHEIGHT
- StringRegExp() crash with patterns that cause infinite recursion
- Hex Number Arithmetic is incorrect
- Subtraction operator before power operation is parsed incorrectly
- Dim Map to Array
- GUICtrlSetResizing() performance by Reverting #3831: GUICtrlSetPos() $GUI_DOCKHCENTER
- missing uninstalling file GUICtrlInternals.au3 since
- regression GUICtrlSetResizing() $GUI_DOCKBOTTOM full screen with WS_POPUP style

- Changed: PCRE regular expression engine updated to 8.44

- GUISetStyle() example to avoid blank title bar)
- Lang Variable prefix "o")
- DriveGetDrive() @error doc clarification)
- GuiCtrlCreateInput() Doc $ES_AUTOHSCROLL precision)
Added: doc pages about ControlID/Handle and String/Encoding.
- SetError(), SetExtended() doc precision)
- WinSetTitle() on notepad.exe is reverted when the windows get focus starting Windows 19H1 !!)
- Doc precision for statement with 2 FileInstall())
Added: ConsoleWrite() preserves the @error and @extended.
Added: ConsoleWriteError() preserves the @error and @extended.
- Add "GetCount" to ControlCommand()
- FileGetTime() UTC)
- ProgressOn()/ProgressSet() - size of the progress window)
- FileGetTime() Msec)
- GUI "On event" While loop precision)
- FileGetTime() Msec)
Added: Doc Symbolic constants for MouseGetCursor(), GUISetCursor() $MCID_*.
- @OSVersion for Windows 11 and Server 2022)

- GUICtrlCreateIcon() doc when filename=""
- FileSetAttrib() crashing on root folders
- Applied the SS_NOPREFIX style to the SplashTextOn dialog
- GUICtrlSetOnEvent ( controlID, "" ) wasn't disabling the previous set UDF and returned error=1
- GUISetOnEvent($GUI_EVENT_CLOSE, "") wasn't disabling the previous set UDF and returned error=1
- GUIOnEventMode and TrayOnEventMode options had unnecessary slow downs
- Workarounds added to alleviate slow downs on Windows 10 1809 and later (OS bug/design change)
- Missing Opt("SetExitCode", 1) and AutoIt3 Exit codes in doc
- Doc precision for hwnd parameter in Pixel*() functions
- Doc precision about Null keyword comparison
- DllStructGetData() doc precision
- bad obj calling
- StringIsFloat() doesn't accept a valid FP exponent
- StdioClose memory leak
- Call UBound Array[0] AutoIt Crash
- Com error handler not called
- Number() failure with lower case hex
- MouseMove() on multiple screens
- Issue when parsing scientific notation literals
- InetClose() always false
- GuiCtrlCreatePic() with h=0 and w=0
- Crash with array 2^24
- @OSVersion for Server 2019
- [LAST] and WinWaitClose(), WinExists(), WinGetHandle(), etc
- int64 = -9223372036854775808 not handled properly
- ToolTip() position
- FileRead() on big ANSI file (1Gb)
- UCS2 compare empty string
- GUISetIcon() in taskbar
- WinGetTitle() on windows created with _WinAPI_CreateWindowEx()
- Double to Int64 conversion
- FileExits() trailing quotation mark
- Right bracket does not register as a hotkey
- GUICtrlSetResizing() $GUI_DOCKBOTTOM fullscreen
- RegRead() x64 remote from x86
- empty continuation line
- oversized Number() conversion
- GUICtrlCreateUpdown() Show-Hide
- StringRegExp updated to not use a string copy internally

- Fixed: CheckForUpdates ExtrasAutoUpdateItAutoUpdateIt.au3 script

Join our mailing list

Stay up to date with latest software releases, news, software discounts, deals and more.