Search "AutoHotkey text replacement" and you'll land on forum threads going back a decade, full of hotstring snippets like ::btw::by the way. It works. It's also the reason a lot of people quietly go looking for something else a year or two later, usually right after an update breaks a script that used to run fine.

Why hotstrings feel great at first

AutoHotkey's text-replacement feature, hotstrings, is genuinely clever: a short line of code defines a trigger and a replacement, and the script runs system-wide the moment you launch it. For anyone comfortable with a text editor, the barrier to the first ten shortcuts is almost nothing. That's exactly why so many people start there.

Where it starts to cost time instead of saving it

The trouble shows up later, not on day one. A script that expands fine in Notepad may behave differently in an Electron app or a browser field that intercepts keystrokes before AHK sees them. Windows updates occasionally change how window titles or UI elements are reported, and a script built around those details can silently stop matching. There's no changelog, no error dialog — the shortcut just stops firing one day, and you don't find out until you've typed the trigger and gotten nothing back.

Maintenance is the other cost. Every new shortcut means opening the .ahk file, writing another line in the right syntax, saving, and reloading the script. It's not hard, but it's a small tax on every single addition, and it adds friction exactly where a text expander should be removing it. Sharing a script with a coworker means sharing raw code and hoping their setup matches yours closely enough that it still works.

AutoHotkey is also Windows-only and depends on you keeping the script running in the background yourself, with no built-in password-field protection — a hotstring will happily expand inside a login form unless you've specifically coded around it.

What a dedicated expander replaces

A purpose-built text expander turns the same idea — short trigger, full text, typed anywhere — into a form you fill out instead of a script you write. Add a shortcut through a normal window: type the trigger, type the replacement, save. No syntax to get right, no reload step, no file to back up by hand.

Text Replacements takes this approach on Windows 11. It runs as a low-level keyboard hook rather than app-specific code, so it behaves the same way in a browser, a chat app, or a terminal. Existing AutoHotkey users can bring their shortcuts over by importing a JSON or CSV list instead of retyping every hotstring by hand, and password fields are excluded automatically — no extra lines needed to keep it out of a login box.

When AutoHotkey is still the right call

None of this makes AutoHotkey a bad tool. If you need conditional logic, window-specific behavior, or full automation beyond typing text, AHK's scripting model is still hard to beat, and plenty of people keep it around for exactly that. The distinction is narrower than "old tool vs. new tool": AutoHotkey is a scripting language that happens to do text replacement; a text expander is built to do only that, and it shows in how little effort the tenth shortcut takes compared to the first.

Moving over without starting from zero

  • Export or copy your existing hotstrings into a spreadsheet: trigger in one column, replacement in the next.
  • Save it as CSV and import it directly — no retyping required.
  • Keep AutoHotkey installed if you still use it for anything beyond text, and let the dedicated tool take over the typing shortcuts specifically.

The measure of success isn't which tool looks more technical. It's whether your tenth shortcut this month took ten seconds to add or ten minutes of debugging.