The complete guide to text expanders in Chrome

5 septembre 2026 Productivity Privacy

A text expander watches for a short trigger while you type and replaces it with a longer piece of text. Type ;addr and your full shipping address appears. Type ;intro and a three paragraph introduction email appears, cursor already sitting where the name goes. That is the whole idea, and it is one of those tools that sounds trivial until you count how many times a day you type the same thing.

This guide covers how expansion actually works inside Chrome, what separates a good expander from a risky one, and the questions worth asking before you install anything that reads your keyboard.

How expansion works inside the browser

A Chrome text expander is an extension with a content script: a small piece of code injected into the pages you visit. It listens to what you type in text fields, and when the last few characters match one of your triggers, it deletes the trigger and inserts your snippet.

That sounds simple, but the modern web makes it messy:

  • Plain inputs (a search box, a classic form) are easy. The script edits the field value and moves the cursor.
  • Rich editors (Gmail’s compose window, Notion, anything contenteditable) need a different insertion path, because the “text” is really a tree of HTML nodes.
  • React and Vue forms ignore direct value changes. The expander has to dispatch synthetic input events, or the site’s own state overwrites the expansion a moment later.
  • Iframes (embedded editors, payment pages) are separate documents. A good expander handles the ones it should and stays out of the ones it should not.

If you have ever tried an expander that “works everywhere except the one site I need”, one of these four cases is usually why. It is worth testing a candidate on the two or three sites where you actually write before committing your snippet library to it.

The permission question

To do its job, an expander needs to read what you type. There is no way around that, and it is exactly why the choice deserves five minutes of thought. The useful distinction is not whether the extension can see your keystrokes, but what leaves your machine.

Three questions tell you most of what you need:

  1. Where do snippets live? In your browser’s local storage, or on the vendor’s servers? Local-first means your snippet library, which over time fills up with addresses, signatures and half your work vocabulary, is yours and stays put.
  2. Does it work without an account? An expander that forces a login before the first snippet is telling you where the data is going. An account should be the price of sync, not the price of entry.
  3. What does it refuse to touch? Password fields, one-time codes and card numbers should be hard-skipped, not just “not recorded”. If the marketing page brags about filling passwords or beating CAPTCHAs, that is a tool optimized for something other than your safety.

Some popular expanders also offer “learning” features that watch your typing across sites to suggest automations. Whatever the privacy policy says, that is a keylogger with good intentions. Decide deliberately whether the convenience is worth it.

Features that matter in practice

After the privacy basics, day-to-day quality comes down to a few design choices:

  • Trigger style. Prefix triggers (;addr, /sig) never fire by accident. Bare word triggers (addr) are faster but need a confirmation key, usually Tab, or they will expand mid-sentence. The best tools let you use both.
  • Variables. A snippet with {date} or a “fill this in” prompt turns one template into fifty emails. Static-only snippets run out of usefulness quickly.
  • A real home for the library. A popup that closes every time you click the page is fine for five snippets and painful for fifty. Chrome’s side panel exists precisely for tools you keep open while you work.
  • Organization. Folders, search and some way to share or back up. Your library becomes valuable; treat it like data, not settings.

Where FillKit fits

We build FillKit, so grain of salt applies, but its answers to the questions above are the reason it exists: snippets live in your browser, the free version has no account at all and never talks to a server, password and code fields are hard-skipped, and the whole tool lives in the Chrome side panel next to your page. If those priorities match yours, it is a good place to start; if not, the questions in this guide work on any expander you are considering.

Plus d’articles