Skip to content
SPECIFICTION
Get listed

AutoKey

github.com

Free plan Linux
Visit github.com
Spec score 8.6 #4 of 20 in Text Expanders Software

What it is

AutoKey is a Linux desktop automation utility for X11/Xorg. Hotkeys and typed abbreviations can start scripts, insert phrases, or show a pop-up menu. Phrases expand into text at the cursor and can include key combinations, special keys, and characters. Scripts are small Python programs that can start applications, send commands to a running window, resize windows, or reposition the cursor. AutoKey provides GTK and Qt interfaces and supports use of phrases, scripts, and abbreviations across applications. Its Python API can send keys simultaneously or in sequence; the documentation recommends using the clipboard to enter generated text when possible. It can be installed through Debian packages, Arch or Gentoo packages, pip, or a cloned repository. AutoKey is free under GNU GPL version 3. It requires X11 rather than Wayland, and abbreviations are limited to the most recent 150 typed keys. Applications built with pure X11 toolkits generally ignore its synthetic events, and the documentation notes known keyboard-layout problems with Russian, Mandarin, and Japanese.

Spec sheet

Purpose
AutoKey is a desktop automation utility for Linux and X11.Read 2 Oct 2026 · github.com
Free plan
YesRead 24 Sep 2026 · github.com
Support
The project directs support requests to its community channels and asks users not to request support on the issue tracker.Read 2 Oct 2026 · github.com
License
AutoKey uses the GNU GPL v3 license.Read 2 Oct 2026 · github.com
App coverage
The documentation says phrases, scripts, and abbreviations can be used across applications.Read 2 Oct 2026 · autokey.github.io
App-specific snippets
YesRead 24 Sep 2026 · github.com
Application limitation
Applications written with the pure X11 toolkit generally ignore AutoKey's synthetic events.Read 2 Oct 2026 · raw.githubusercontent.com
Clipboard method
The documentation recommends placing emitted text in the clipboard and pasting it with keyboard.send_keys() when possible.Read 2 Oct 2026 · raw.githubusercontent.com
Compatibility caution
The installation guide warns that upgrades may change script or phrase configuration in ways that are not backwards-compatible.Read 2 Oct 2026 · github.com
Desktop interfaces
AutoKey offers a GTK version for GTK-based desktop environments and a Qt version for Qt-based desktop environments.Read 2 Oct 2026 · github.com
Distribution
The maker documents installation through package managers or pip, with packages described for Debian derivatives, Arch, and Gentoo.Read 2 Oct 2026 · github.com
Dynamic fields
YesRead 24 Sep 2026 · github.com
GUI frontends
AutoKey provides GTK and Qt frontends for different desktop environments.Read 2 Oct 2026 · raw.githubusercontent.com
Input limit
AutoKey stores up to the last 150 typed keys, limiting abbreviations to 150 characters.Read 2 Oct 2026 · raw.githubusercontent.com
Installation methods
AutoKey can be installed from Debian packages, Arch User Repository packages, Gentoo GURU, pip, or a cloned repository.Read 2 Oct 2026 · raw.githubusercontent.com
Keyboard API
The keyboard.send_keys() API accepts multiple keys and can press combinations simultaneously or sequentially.Read 2 Oct 2026 · raw.githubusercontent.com
Keyboard layouts
The documentation says the core communicates with X through keyboard events and notes known problems with Russian, Mandarin, and Japanese languages.Read 2 Oct 2026 · autokey.github.io
Phrase key combinations
Phrases can contain key combinations and AutoKey macros for special keys and characters.Read 2 Oct 2026 · raw.githubusercontent.com
Python scripting
AutoKey scripts accept most Python code and include custom API functions.Read 2 Oct 2026 · raw.githubusercontent.com
Runtime
The current AutoKey implementation runs on Python 3.Read 2 Oct 2026 · raw.githubusercontent.com
Scripting
AutoKey scripts are small Python programs that can start programs, send commands to a running window, resize windows, and reposition the cursor.Read 2 Oct 2026 · autokey.github.io
Supported platforms
Linux (X11/Xorg desktop)Read 24 Sep 2026 · github.com
System requirements
The installation documentation lists Python 3.7, dbus-python, pyinotify, python-xlib, and wmctrl among the dependencies.Read 2 Oct 2026 · raw.githubusercontent.com
Team snippet sharing
NoRead 24 Sep 2026 · github.com
Text expansion
Abbreviations can expand into commonly used text blocks, and phrases can insert text at the cursor position.Read 2 Oct 2026 · autokey.github.io
Triggers
Hotkeys and typed abbreviations can trigger scripts, insert phrases, or display a pop-up menu.Read 2 Oct 2026 · autokey.github.io
User fit
The documentation names business documents, novels, documentation, articles, web blogs, programs, and form filling as useful cases.Read 2 Oct 2026 · autokey.github.io
Wayland limitation
AutoKey will not function correctly when Wayland is used instead of Xorg.Read 2 Oct 2026 · raw.githubusercontent.com
X11 requirement
The maker warns that AutoKey is an X11 application and will not function correctly when Wayland is used instead of Xorg.Read 2 Oct 2026 · github.com

Plans and prices

AutoKey Free GPL v3 · Linux and X11 desktop utility Read 2 Oct 2026 · github.com

Every AutoKey plan and price →

Strong points and limits

Strong points

  • Free under GNU GPL version 3
  • GTK and Qt frontends
  • Python scripts can control windows
  • Hotkeys and abbreviations trigger actions

Limits

  • Does not function correctly under Wayland
  • Abbreviations limited to 150 typed keys
  • Pure X11 toolkit apps generally ignore synthetic events
  • Known issues with some keyboard layouts

Who it suits

AutoKey suits Linux users who want text expansion or Python-based desktop automation, including for documents, articles, programs, and form filling. It is for X11/Xorg desktops, not systems using Wayland instead of Xorg.

Verdict

AutoKey combines text expansion with Python scripting for Linux X11 desktops. Check its Wayland and application-event limitations, as well as the 150-key abbreviation cap, before relying on it.

Where Specifiction places it

Alternatives to AutoKeyAll alternatives →