Import/convert 600 TextExpander macros for KM

Greetings, Keyboard Maestros.

I am about to buy KM, and I want it to replace a window manager (Divvy) and TextExpander in my arsenal.

I have defined 600 text snippets in TE, and I wondered if there is a way to import them into KM without having to paste and setup them individually.

One way would be to extract the snippets from TE’s XML-based configuration file and tweak the syntax so I get something that can be pasted into KM’s Macros file. However, the syntax is quite different, so it looks like a lot of work.

Can someone recommend a more elegant route her? Thanks!

No, there is no automated way to do this. Yes, you could export your snippets to XML, and you could export a macro as a template, and then create some XML that you could import into Keyboard Maestro.

But really, if you have 600 snippets, you should almost certainly continue using Text Expander alongside Keyboard Maestro. The two apps are each good at different things. Keyboard Maestro can take care of basic snippets, but anyone who uses a large number should almost certainly be using Text Expander as well.

Hello Peter,

thank you. You say:

Could you please elaborate? I really want to cut down my arsenal of tools. Is there anything that would change for the worse if I had my 600 (simple, no multi-variables etc.) snippets in KM instead of TE?

600 simple text expansions would work fine in Keyboard Maestro. The internal engine for doing the matching is very efficient. Managing them would be ok, but not great. And they would take space in your macros file, but probably not enough to be a problem (each simple text expansion macro takes about 200 bytes currently).

So yes, if you don’t use any of Text Expander’s features, and just use simple expansions that Keyboard Maestro can cope with, then it should be fine.

But I’d still generally recommend you simply use both programs and let them each do what they do best together - 600 expansions is quite a lot, and its likely that if you use that many you’re going to want to use more, and want to use some of Text Expander’s many text expansion-specific features.

1 Like

Peter, I’m wondering if the TextExpander subscription news causes a change in this position? I was thinking about using TextExpander as long as OS upgrades work, but perhaps putting new snippets into KM and then only having to migrate the ones I have in TE later.

There is no real change in Keyboard Maestro's position.

Keyboard Maestro can handle text expansions, and hundreds is no real problem (thousands would be a push, and many thousands would be a bad idea). The only real limitation with having large numbers of text expansion macros is the cost in terms of the macro file size. Since the macro file is read and written as a single complete file every time you make a change to your macros, if it gets significantly large that can cause a performance problem with the editor. That said, if you have a SSD, that would make those file writes much faster and might well significantly reduce the issue.

Each simple typed string macro occupies about 200 bytes, so 600 expansion macros would be around 120K, and my own macro file is around 1Meg, so I doubt that would cause any problems. Even 6000 probably wouldn't be too bad - but I have a fast Mac with a fusion drive. A very slow Mac or a vert slow harddisk might make for more problems.

I did have one customer who has 300MB macro files (not because of expansions, he stored lots of images in the macros) and he had performance issues in the editor which did not surprise me.


Thanks for clarifying, Peter. You know that I’m already thinking how I can possibly convert all the macros. I’m also not happy with the TextExpander change. Having to run one app less may actually be helpful. Conversion isn’t too difficult. I wrote a converter for TextExpander macros from a CSV file once. I can possibly rewrite it to work with Keyboard Maestro.

I posted a macro recently that can create Text Expansion macros from a list of expansions, so that may be helpful as a starting point.

Don’t forget to post your converter here. I would use it!

Also, Alfred is adding more text expansion in their V3 update. It will not allow for the complex expansion I can do with KM, but it might help the load on the plainer end.

Thank you. That is basically what I was going for. Thanks for putting it out.

Hey Folks,

TextExpander 5 is pretty scriptable.

I wrote an export script a while back that some might find useful as a starting point.


It causes a change in me wanting to even use it, software subscriptions really bother me. TextExpander’s new modle seems way over priced and it has no customer loyaty value (though there was a discount for the initial “upgrade”).
I have 3,779 TextExpander snippets and though TextExpander is still working it has become yet another dead software that I will probably cling to for years until I make the switch to something else like I am still doing with QuicKeys.

I do like keeping the sorting separate having it in TextExpander with its own preferences and not in Keyboard Maestro and the syncing keyboards through dropbox on iOS is very nice.

Thanks Peter for all your posts and comments, good to better understand Keyboard Maestro and that it stores a single file which in the back of my mind already knew.

There are some formating issues that doesn’t work when expanding in a cell in MS Excel so I thought Keyboard Maestro might be a bit more tweaky and allow me to have multiple formats in a cell for a text expantion, I will play with your macro and see what I can figure out.