A text-snippet manager sits beside a drafted project update email on a Windows desktop.
Beeftext is a free text expander for Windows. If you retype the same address, email signature or Markdown snippet every day, it can save you a lot of typing. MakeUseOf's Yadullah Abidi recently described using it. Other coverage and the project's own documentation back up most of what follows. A few caveats are worth knowing before you build a library of snippets.

A text-snippet manager sits beside a drafted project update email on a Windows desktop. What Beeftext does​

Beeftext is built around "combos". Each combo pairs a short keyword with a longer piece of text, called a snippet. When you type the keyword, Beeftext automatically replaces it with the assigned text. The project says this works in any text area of an application that supports copy and paste, and it claims 99.9% of applications do. Treat that as a guideline. It is not a guarantee for every text field you use.

The point is that you aren't generating anything. You are reusing wording you wrote yourself, and it appears where you need it. Pinning phrases to a clipboard history still leaves you hunting for the right entry. A memorable keyword skips that step.

Typical uses include:

  • Email addresses and postal addresses for web forms
  • Email signatures, including different versions for different audiences
  • Follow-up or reply templates
  • Markdown or code snippets
  • Text emoji and other awkward-to-type characters

The author's examples, such as xemail, xaddr and xfollowup, are his own naming habit. They aren't built-in commands. The idea is to use a consistent prefix so everyday words never trigger an expansion by accident.

Setting up your first combo​

You can get the installer or a portable ZIP version from the official site. The author says the portable version runs once extracted and keeps its data in a local subfolder. I couldn't confirm that storage detail in the project's own documentation, so treat it as his experience.

Beeftext's getting-started guide uses an email signature as the first combo:

  1. Open the main window. If it doesn't appear, double-click the red Beeftext icon in the notification area.
  2. Press Ctrl+N to open the New Combo dialog. You can also use the Combo menu, right-click the combo list, or double-click an empty area of the list.
  3. Enter a short keyword you won't type by accident. The official guide uses btsig.
  4. Paste or type your snippet.
  5. Optionally give the combo a descriptive name.
  6. Choose a group. Every combo belongs to exactly one group, and Beeftext creates a Default Group if none exists.
  7. Set Matching to Strict unless you really know what you're doing. That is the official advice.
  8. Click OK, then type the keyword in an email client or any text field to test it.

The main window shows groups on the left and combos on the right. Groups work like folders. Separate groups for correspondence, personal details and writing templates keep things findable as the library grows.

Strict or Loose matching​

Strict is the safe default. Loose matching lets a keyword fire inside a longer string of characters, which is where accidental expansions come from. Start with Strict and a handful of low-risk snippets. Once you trust your keywords, you can experiment.

Variables​

Snippets can include variables, which Beeftext evaluates each time a combo expands. In the project's wiki, a variable is text wrapped in #{ and }. The ones the author highlights are:

  • #{dateTime:dd-MM-yyyy} inserts the current date in the format you specify. Beeftext uses Qt date and time formatting conventions.
  • #{input:...} asks you for text when the combo expands, so one greeting template can serve many recipients.
  • #{cursor} doesn't output anything. It sets where the text cursor lands after expansion.
  • #{clipboard} inserts the text currently on the clipboard. Rich formatting is lost. If the clipboard is empty or holds an image or other non-text data, the variable is ignored.

The wiki also lists #{date}, #{time} and #{combo:...}. The last one lets a combo pull in other combos. Release notes show later additions such as #{key:}, #{delay:} and #{shortcut:}.

Syntax rules​

The wiki's rules matter, because variables fail silently:

  • Variables are case sensitive. #{dateTime} works, but #{datetime} doesn't.
  • Extra spaces aren't allowed, so #{ dateTime } is invalid.
  • An unrecognized variable is left in your text as-is.

The MakeUseOf example writes the prompt with a space after the colon (#{input: First name}). Based on the no-extra-spaces rule, #{input:First name} is the safer form. Test your prompt in the editor before relying on it. The editor's context menu has an Insert Variable submenu, so you don't have to memorize the syntax.

Finding snippets you've forgotten​

Beeftext's combo picker is for the point when your library outgrows your memory. The default shortcut is Ctrl+Alt+Shift+Enter, and it works from any application. Type words from a keyword or description, use the arrow keys to select a result, and press Enter to insert it. You can change the shortcut, or turn the picker off, in Preferences. The picker, like the combo list, relies on descriptive names, so fill in that optional name field.

Export, backup and restore​

This is where people can lose data, so read it carefully. Per the project's documentation:

ActionWhat it saves or does
Export as JSONBeeftext's own format. It includes combo information but not groups.
Export as CSVCombo name, keyword and snippet only. The format was defined by TextExpander.
Backup (Advanced menu)A copy of the entire library, including groups.
Restore (Advanced menu)Replaces your current combos with the backup. Existing combos are deleted.

Restore is not a merge. Back up your current library before restoring another one.

To export as CSV, name the file with a .csv extension. Any other extension produces JSON. For import, the documentation says CSV files should:

  • Be UTF-8 encoded
  • Use commas as separators
  • Have exactly three columns, in the order keyword, snippet, name
  • Have no header and no empty lines

The import dialog also lets you choose how to handle keyword conflicts. Macros from TextExpander files aren't converted into Beeftext variables automatically.

Limitations​

Plain text only. Beeftext won't preserve fonts, colors or other rich formatting. The MakeUseOf article says rich text support was removed in version 8.0. I couldn't verify that version number in the project's own pages, so treat it as the author's claim.

Maintenance mode. The maintainer's June 2023 announcement says active development has stopped. Fixes are promised when Windows updates break its behavior, and no new features should be expected. Sync and collaboration were the most requested features, and he said they take too much time. Other reviewers read this differently:

  • A 2026 review from iTechGuides says Beeftext remains useful but is a poor fit if you need built-in sync, mobile apps or team administration.
  • TextExpander's comparison page is harsher. It calls the project effectively abandoned and says it has had no updates since v16.0 in December 2022.

TextExpander sells a competing product, so weigh that claim accordingly. The official announcement says fixes will still come if Windows breaks something. The release history shows v16.0 as the latest release. That release fixed a crash on Windows 11 when an image was on the clipboard. It also added an option to disable clipboard restoration after substitution, and it switched to standard Windows CR/LF line endings when pasting snippets. Earlier releases added a list of excluded applications where Beeftext won't substitute.

Keystroke monitoring. This is the trade-off you can't avoid. The project says Beeftext listens to keyboard and mouse interactions while it runs, so it can detect your keywords. It says it stores nothing about your typing and sends no data to servers. Its only network activity is a daily download of a text file to check for updates, which you can turn off in Preferences. Those are the developer's claims, not an independent audit. The source is public on GitHub, so you can inspect it.

Practical advice​

  • Keep sensitive data out of snippets. Don't store passwords, financial details or anything you wouldn't want sitting in a local library file.
  • Test in your real apps. Check the browser forms, chat tools and editors you actually use before investing time.
  • Use distinctive keywords. A consistent prefix prevents accidental expansions.
  • Back up regularly. Use Backup rather than JSON or CSV export if you want your groups preserved.
  • Check the excluded-applications list. Use it for apps where you don't want substitutions.
  • In a managed environment, ask first. Because Beeftext observes keystrokes and its development has stopped, IT policy may restrict it. That is a reasonable position, not paranoia.

Is it still worth using?​

For personal use on a Windows PC, it is a small, free, local tool that does one job. If you need cross-device sync, team-shared snippet libraries or rich text, you'll need a different product. Several paid and free alternatives exist, including AutoHotkey for people comfortable with scripting.

If your needs are a few addresses, a signature and some templates, Beeftext still fits. Its maintenance-mode status matters mainly if you want new features.

 

References

  1. I stopped typing the same things over and over in Windows, and it's glorious MakeUseOf 2026-10-26T14:00:18+00:00
  2. Getting started · xmichelo/Beeftext Wiki · GitHub github.com
  3. The picker window · xmichelo/Beeftext Wiki · GitHub github.com