I am unhappy with my current text replacement tool, so for 2024 I decided to level things up. My aim for this article, was to find out which text replacer would give me the best text replacement capabilities. Read on to learn what I found out π₯π₯π₯
For context, I am mainly a Windows developer who writes JavaScript and .NET. On a weekly basis I need to use 3 different PCs and a MAC, which means I want a solution where I can share my different settings.
In the perfect world, this new tool would sync my replacement rules automatically, however, I am open to manually setting up a process to sync any additional settings file as I use Dropbox on all these machines. Finally, as I'm a hobby developer, ideally I want a free tool, as I don't want to/can't afford to pay for every bit of software I make use of.
Based on these factors, I decided to use this criteria when reviewing the tools
- Free tier-option
- Works on all my machines including PC and Mac
- Can share replacement rules easily between different machines
As part of this review, I researched a lot of tools, however, I shortened the list to the top 5. In this review I will look at the two best desktop text replacement tools and the three best Chrome only tools. These 5 tools do not cover everything I reviewed for this article, just the best ones for my situation. Below lists the tools that did not make the list and the reasons why:
Gmail Snippets by cloudHQ - Only works with Gmail
Text Expander - No free tier
- Typedesk - No free tier
- OSlash - Now been sun-setted
- Fast Keys - No free tier
- Alfred - Mac only
- Phrase Express - Windows only and no free tier
Based on all this, we are now ready to find the best tool π₯π₯π₯
AutohotKey
The first tool I checked out is AutohotKey. AutohotKey is a free open source tool, it has its own scripting language and works as a standalone Windows app. As its Windows only is does get marked down, however, lots of people rave about having a scripting language to perform automation tasks.
I didn't find AutoHotKey the easiest to install and set-up. One reason for this was limited documentation. AutohotKey has a v1 and v2. The syntax of the scripting language is different between the two versions. When I search how to do some basic tasks, the code samples I found covered both versions and a lot of the scripts I tried to copy didn't work straightaway.
One good thing is you can set the default location of your scripts folder, so you can move the default location to Dropbox and then share your rules between different machines with minimal config changes on each machine.
Annoyingly there was no option to run the scripts you create on PC start-up. This means you either need to remember to manually load a script, or you need to open the default script folder, create a shortcut for each script you create and then move the shortcut manually to your machines Startup
folder. When you times this by 3 machines on Windows and MAC its a bit of a faff.
Another minor annoyance here is that each script you run, will open as a new item within the taskbar. Lets say you need to run 10 scripts, expect to see your taskbar flooded with AutoHotKey icons. As the icons all look the same, it also means that each time you make a change and you want to refresh or kill the script for testing purposes, finding your script in that list takes a few extra seconds, which gets annoying quick.
Pros:
- Its free and open source
- Its a desktop tool, so it can replace text in any app you open
- It contains its own scripting language, so if you have complex automation needs thats no problem!
Cons:
- No built in sync, so you need to backup the rules on each machine and have a Dropbox
- No automated way to run scripts on start-up
- Clutters your taskbar
- Windows only
Scripting language is not that intuitive to pick-up. You will be able to master it, however, is the time investment worth the effort?
There is no extension library for you to reuse popular scripts. This means that you need to re-invent the wheel yourself for each automation you want to run
β¬οΈ Get AutohotKey from here
Espanso
I had never heard of Espanso before starting this review, however, it had good download numbers so I thought I'd try it our and I am definitely glad I did! Espanso is open-source, its free to use and its a desktop app that works on PC, MAC, and Linux. Installation is simple, run through an installer. Additionally, during the process you will be asked if you want to run your scripts on start-up. If you opt-in, that part will be handled automatically for you.
To add and edit your custom replacements, you can open up the yml
file, which you can locate here:
C
β Users
β User
βAppData
β Roaming
β espanso
β match
In terms of the process some minor annoyance's that I noticed when setting things up up, included:
- There is no way to load/access the main config file from the taskbar app.
- You add replacements within a YML file, so, spacing and indentation mistake can happen.
- Whenever you add a new replacement, you need to remember to reload the script from the taskbar
In terms of what I loved, the best thing IMHO is that package library which you can browse this library from the main Espanso website. Here you can find packages to add shortcuts for Emojis, Shruggies, Lorum Ipsum and much more. Installing these extension is simple and done via a one-liner on the terminal. Installation involves downloading a package/script within the default settings folder:
C:\Users\User\AppData\Roaming\espanso\match\packages
In general I really liked Espanso, however, one thing letting it down is back-up and sharing the rules between different machines. You can not change the default location of your config files within the tool itself. The documentation recommended moving the default settings folder to Dropbox and then manually creating a symbolic link and changing some bits manually. Having a folder picked from the app itself would be much easier here.
Another consideration are multi-line scripts. I frequently need to install software by copying and pasting large JSON/config/JavaScript scripts. As you add your scripts within a YAML file, most of your replacements need to live on a single line, or, you need to add new line-characters etc.... If you have to deal with scripts that are thousands of lines long, adding a new line on all lines is not feasible.
The way I got around this was limitation was to copy scripts inside a text file that I added in Dropbox. I then created a Espanso rule to run a Powershell command. Using Powershell I could then copy the contents of any text file and add it to the clipboard. The key bit here around rule sharing is to make sure you install Dropbox in the same location on each machine, otherwise, you will need to be a little more clever within Powershell rather than add a file path.
Pros:
- Its free, open source, and works on PC, MAC, and Linux
- It can be extended easily via the extension/package library
- I found it easier to set-up compared to Autohot key
- During installation, you can opt to run your scripts automatically on start-up
Its a desktop program, so replaces text in any app you open
Scripts that contain thousands of lines can be used via Powershell/shell commands
Cons:
- No built in sync, so you need to configure the rule sharing between different machines yourself. This process is not as easy as Autohot key but doable
- The UI is not as slick within the Windows version
- YML is not as powerful as a scripting language
β¬οΈ Get Espanso from here
Magical
Magical is the first Chrome only extension I looked at. This extension used to be called AutoTextExpander, which I was happily using for 5+ years, however, a few months back they changed the name and the pricing model. This change was the thing that prompted me to look at different tools.
The big issue I had with this change is the limits of the free tier. You only get a total of 3500 lifetime replacements. This means that after you are happy with the tool, at some point you will hit that limit and then you will either need to find a new tool and get used to using that, of you need to pay. The good news is the basic tier, $6 is not a lot of money, however, this is a monthly cost that rules it out for me.
The next downside is that unlike other tools we reviewed, Magical is only a Chrome extension, so it only replaces text within your browser which is limiting if you also want replacements within your IDE.
In terms of scripting options you are limited to simple text replacements. This means you will not have any type of shell access, or scripting language you can make use of here. When I tried to copy my 2500+ line scripts I also hit a max character limit which prevented me from using some of the larger simple text injection requirements I had.
In terms of plus points, it will sync your rules between Chrome for you automatically so there is no manual set-up of anything.
Pros:
- Magical will deal with the automatic sync between different computers and operating systems for you. Meaning no manual set-up or messing around is required
Cons:
- Only works in Chrome
- Lifetime usage scope in free plan
β¬οΈ Get Magical from here
Blaze
Blaze is an all-in-one solution that has Windows, Chrome and Mac versions so you can take your pick. Blaze works online, which means you can create a Blaze account on any machine and your rules are then shared between different computers without you needing to do anything.
In the Chrome version, to add a script you click on a link within the extension and then you get jumped to the Blaze website in a tab. I didn't find this process a deal breaker, however, its worth noting you can using Magical.
The benefit of using a portal is that you get more capabilities and script editing options. You get a better text editor compared to Magical with features that allow you to use macros like a date picker, access to your clipboard, as well as the ability to position your cursor. The workflow in Blaze is a lot more powerful compare to Magical and you get lots of automatization, email building, form filling in.
Blaze also has a script library, so you can view popular and third-party scripts. These scripts include things like
One limit I hit in the free tier was the max character restrictions. In free you are limited to a max of 2500 characters per script. I had a bunch of script over 2500+ lines which meant my options were to pay out, or use a different tool.
Pro:
- Options Chrome, Windows and IOS app
- Best text editor from the online options
Cons:
- Free tier is limited. You can only have 20 active snippets, each with only a 2,500 characters in a snippet
- No access to the shell
β¬οΈ Get Blaze from here
Free Auto Text Expander for Google Chromeβ’
The last option I reviewed is a clone of Magical. This has the original features of original free text replacement and I wanted to see how this compared. This extension is definitely the most basic. It does not have a automated sync, however, it is 100% free. If you want simple text replacement in Chrome, this will do the trick. There is also a limit of around 3000 characters on script size.
Pro:
- Its Free
- No limits on basic text replacement
Cons:
- Basic editor
- No rule sync
- Chrome only
- Max size script limit
- No access to the shell
β¬οΈ Get Free Autotext Expander from here
Best Text Expander For .NET For Developers in 2024?
Based on my research, the tool that I decided to use was Espanso . Going into this review process my assumption was AutoHotKey would be the winner as it had been around for years and it allows you to do a lot, however, after thinking about what I needed a tool to do and comparing it, it was obvious Espanso offers more. Espanso is easier to use, has extensions and works on MAC so it was hard for me to justify picking AutoHotKey over this.
I ruled out Chrome only tools as I want text replacement within an IDE as well as a browser. The only big trade off I made by picking Espanso was the automated rule syncing.
In the end I decided the extra 5 minutes of set-up via Dropbox on each machine is acceptable for me. Any tool that synced rules, also came with a cost. Essentially, it will financially benefit you for that one off set-up time.
If I wanted to pay for something, I would have picked Blaze. It works on all environments, has a great online rule builder, and provides automated rule syncing. If you are a developer and need text expansion everywhere, you won't be wasting your time by installing Espanso and giving it a chance.
Happy Coding π€