Comparison

Espanso vs AutoHotkey: which one should you choose?

Two free desktop text expanders, head to head: how you set them up, how much there is to learn, which systems they run on and how easy they are to share.

Espanso and AutoHotkey are the two usual answers when you look for a free text expander for your desktop. Both are open source, work in almost any app and are set up with text files. But they're not the same thing: Espanso is a text expander and nothing more; AutoHotkey is a programming language for automating Windows, and text shortcuts are just one part of it.

We compared them using their official documentation, with day-to-day use in mind: installing them, learning them, limiting shortcuts to certain apps and sharing them with colleagues who aren't technical. We're the NexoPad team, so at the end we explain when a third option fits. If you want more alternatives, see our list of the best text expanders.

Quick summary

  • Both are free and open source: Espanso under the GPL-3.0 license and AutoHotkey under GPLv2. Neither has paid plans.
  • Espanso runs on Windows, macOS and Linux. AutoHotkey runs on Windows only.
  • Espanso only expands text and is set up with YAML files. AutoHotkey is a programming language that also automates keys, the mouse and windows.
  • Forms: Espanso has them built in with a few lines; in AutoHotkey you have to code them.
  • Per-app rules: both can turn shortcuts on or off depending on the app, Espanso with config files and AutoHotkey with #HotIf.

Comparison table

EspansoAutoHotkey
PriceFree, open source (GPL-3.0)Free, open source (GPLv2)
Operating systemsWindows, macOS and LinuxWindows only
What it isA text expanderA language for automating Windows (text shortcuts are one part)
How you create shortcutsEntries in YAML files: a trigger and its textLines in an .ahk script: ::shortcut::text
When the text is replacedAs soon as you type the triggerAfter a space, period or Enter, unless you use the * option
Asking for details before insertingForms with fields, dropdowns and choicesBy coding it, for example with InputBox
Formatted textYes, with Markdown or HTML, plus imagesNeeds extra clipboard code
Dates, clipboard and scriptsReady-made variables and external commandsAnything you code (FormatTime for dates)
Finding a shortcutSearch bar with Alt+SpaceNo built-in shortcut search
Shortcuts only in certain appsConfig files with filters by app or window title#HotIf with the active window or app
Ready-made shortcutsPackages from the Espanso Hub (espanso install)Community scripts to copy and adapt
Anything elseNo: it focuses on textAutomates the keyboard, mouse and windows, and builds your own windows
Important:Data taken from the Espanso documentation, its GitHub repository and the AutoHotkey v2 documentation, checked on October 21, 2026. Latest versions: Espanso 2.4.1 (September 2, 2026) and AutoHotkey 2.0.30 (October 9, 2026).

Setup and learning curve

Espanso installs like any other app and keeps running in the background (on a Mac you have to grant it accessibility permission). Your shortcuts live in the match folder, in files like base.yml: each one has a trigger, such as :sig, and the text that replaces it. When you save the file, Espanso picks up the changes on its own. The tricky part is YAML: indentation matters, and one misplaced space is enough to break a shortcut.

AutoHotkey starts just as easy: you install it, create an .ahk file, type ::brb::Be right back and run it. For your shortcuts to work all the time, the script has to be running, so most people put it in the Windows Startup folder. As soon as you want more than fixed text (asking for a name, adding the date, picking from a list), you're programming. And watch out for examples online: many are written for version 1, which doesn't work the same way as version 2.

In short: with Espanso you write configuration; with AutoHotkey you write programs. If you only want text shortcuts, Espanso has less to learn. If you also want to automate Windows, AutoHotkey gives you much more.

Shortcuts only in certain apps

In Espanso you do it with files in the config folder. Each one has a filter (the app with filter_exec, the window title with filter_title or the window class with filter_class) and what changes in that app: you can switch Espanso off with enable: false or load only certain shortcut files. Only one of these configs applies at a time, and on Linux with Wayland it still has limitations.

In AutoHotkey one line above your shortcuts is enough: #HotIf WinActive("ahk_exe WINWORD.EXE") makes them work only in Word, and an empty #HotIf line closes the rule. Since it's code, the condition can be whatever you want, and the same shortcut can type one text in one app and a different one everywhere else.

One limit they share: to both of them, the browser is a single app. If you want a shortcut only in Gmail and not on other websites, you have to rely on the window title, which changes with every tab. It works, but it's fragile.

Sharing your shortcuts with colleagues

With Espanso, your shortcuts are files: you can pass them on as they are, sync the folder with Dropbox or Google Drive, or build your own package, like the ones on the Espanso Hub, which installs with one command. Even so, each colleague has to install Espanso, put the files in the right place and, if something breaks, open a YAML file.

With AutoHotkey you share the .ahk file, and your colleague needs AutoHotkey installed. You can also turn it into an .exe with Ahk2Exe, the official compiler. It will only work on Windows, and changing a text means editing the script.

In both cases there's no shared place: if you change a reply, you have to send the file to the whole team again and trust that everyone updates it.

When to choose each

Choose Espanso if…

You use a Mac or Linux (or several systems), you only need text shortcuts with forms, dates or the clipboard, and you're comfortable editing YAML files.

Choose AutoHotkey if…

You only work on Windows, you also want to automate keys, clicks or windows, and you don't mind a bit of coding to get exactly what you need.

A third option: NexoPad

If almost everything you type goes into the browser (Gmail, your CRM, your ticketing tool, WhatsApp Web), you may not need any config file at all. NexoPad is an extension for Chrome, Edge, Firefox, Opera and Brave: you create your shortcuts in a visual editor and add fields, dropdowns or a date picker with one click. When you use them, a form shows you a preview of the final text before inserting it.

Per-app rules have a website version here. In each shortcut's Where it works menu you choose On all websites, Only on these websites or Everywhere except these, and you can add the website you're on with one click. You can even keep the same shortcut with a different text for one specific website: that website uses its own version and everywhere else uses the general one. How it works.

For sharing, the Teams plan has a shared vault with departments and approvals: you change a template and the whole team gets it, without sending files.

What it doesn't do, to be honest: NexoPad only works inside the browser. In Word, the Slack desktop app, the terminal or your code editor it doesn't expand anything; there, Espanso or AutoHotkey are still better. It doesn't automate keys or windows either. If you want to see it against each one separately, read NexoPad vs Espanso and AutoHotkey for typing text.

Per-app rules, but for websites: each shortcut chooses where it works.
Already have shortcuts in Espanso or AutoHotkey?:NexoPad imports them. In the web dashboard, go to My account → Backup → Import from another app and upload the .yml files from your Espanso match folder or your .ahk script. You'll see a preview before saving, and Espanso forms turn into fields and dropdowns. AutoHotkey shortcuts that run code, and Espanso ones with regular expressions or images, can't be imported. How to do it.

FAQ

Which one is easier to start with?

For text shortcuts, Espanso: each shortcut is a few lines and forms are built in. AutoHotkey is just as simple for fixed text, but anything beyond that takes coding.

Is there AutoHotkey for Mac or Linux?

No, it only runs on Windows. On Mac and Linux, Espanso is the free option in this comparison. If something simple is enough, you can also use what your system already has: we explain it in text replacement on Mac and Windows.

Can I use Espanso and AutoHotkey at the same time?

Yes, but use different shortcuts in each one. If both recognize the same one, the text will be inserted twice. The same goes if you combine them with NexoPad in the browser.

Does NexoPad work in Word or the Slack app?

No. NexoPad is a browser extension and only expands shortcuts on websites, including the web version of Slack. For desktop apps, stick with Espanso or AutoHotkey; you can use them alongside NexoPad.

How much does NexoPad cost?

It has a free plan with 15 shortcuts, in one browser at a time, and per-website shortcuts have no website limit. Pro costs $7 a month or $49 a year, and Teams costs $12 per user per month. You'll find everything on the pricing page.

Published on October 20, 20267 min read

Found it useful? Share it

Try NexoPad for free

Text shortcuts, notes, links and AI in any tab. Install it in under a minute.

Add to Chrome

Keep reading