Type less, say more
Define a short trigger — ;email, ;addr, ;sig — and Text Replacements expands it into your full text the moment you press Space or Enter, in any app on Windows.
John Smith
New York, NY 10001
names, built in
“Time is money.” Benjamin Franklin
Time is the only currency you can’t save up — only spend. Every trigger you type is a paragraph you never had to. Minutes a day, hours a month — spent on the work instead of the retyping.
We built them.
The Problem
Every day you type the same things over and over — your email address, phone number, postal address, signatures, technical terms. In every app. Every time.
- Typing the same email address dozens of times a day
- Copy-pasting boilerplate text between apps
- Accidentally mistyping long URLs or technical strings
- No built-in text expansion on Windows — unlike macOS
macOS has had text replacements built in for years. Windows users have been waiting.
The Solution
Text Replacements brings the macOS text expansion experience to Windows. Set up shortcuts once, use them everywhere — without switching windows or touching the clipboard.
- Type a short trigger, get your full text instantly
- Works in browsers, editors, Slack, Outlook, terminals
- Import existing snippets from JSON or CSV
- Runs silently in the system tray with zero friction
Your fingers will thank you.
These are the snippets text expander users use most:
Contact & identity
Signatures & sign-offs
Boilerplate responses
Dates & times
Code & technical
Emoji & symbols
Macros are resolved at the moment you type — not when the snippet was created. So ;date is today, every day.
Date & time macros
Your own format
Any emoji with :name:
Lightweight and focused. No subscription, no account, no cloud.
Instant expansion
Press Space, Tab, or Enter after your trigger and the full replacement appears instantly — the shortcut is deleted and your text is injected in one shot, below 35 ms.
Works in any app
A low-level Windows keyboard hook intercepts typing system-wide. Text Replacements works in every desktop app — browsers, VS Code, Slack, Outlook, PowerShell, Notepad.
Layout-independent
Define Latin shortcuts and trigger them even while typing on a Russian, German, or other non-Latin keyboard layout. The app resolves the US-layout key and matches against it.
Password-safe
Replacements are automatically blocked in password fields (detected via Windows UI Automation) and in password manager apps — 1Password, Bitwarden, KeePass, LastPass, and more.
Import & Export
Bring your existing snippets from JSON or CSV files, or export your library for backup and sharing. Existing shortcuts are never silently overwritten on import.
System tray, zero friction
Text Replacements lives in the system tray. Click to pause or resume, or use Ctrl+Shift+Pause. Starts with Windows automatically. Uses no noticeable CPU in the background.
Add a snippet
Open Text Replacements, click Add, type a short trigger like ;email and the full replacement text.
Type the trigger
Switch to any app — browser, editor, chat — and type your shortcut as you normally would.
Press a delimiter
Hit Space, Tab, or Enter. The shortcut is detected instantly and deleted, and your replacement text is typed in its place.
Done
Your full text appears in the document. No clipboard, no copy-paste, no context switch — just your normal typing speed.
Which Windows version is required?
Does it work in every application?
Is my text data sent anywhere?
%AppData%\TextReplacements\snippets.json on your own machine and never leave it.
Will it type into password fields?
Can I use shortcuts with a non-English keyboard layout?
;email) and trigger them even while typing on a Russian, German, or other non-Latin layout. The app resolves the US-layout equivalent of each keypress and checks it against your shortcut library.
How do I pause text replacements temporarily?
Can a snippet insert today's date?
{date}, {time} and {datetime} anywhere in a replacement — they are resolved the moment the text is inserted, so ;date always types today. Need a specific layout? Write your own format, e.g. {date:yyyy-MM-dd} or {datetime:yyyy-MM-dd HH:mm:ss}.
How do I type emoji — do I need a snippet for each one?
:fire:, :rocket:, :joy: or :+1: and it becomes the emoji. Around 1,900 names are built in, so you never create a snippet per emoji — that is why the trigger is :name: and not ;name. Shortcodes fire the moment you type the closing colon, with no Space or Enter needed, because the colon already ends the token unambiguously. Names are case-insensitive — :Joy: and :JOY: work exactly like :joy: — and may contain digits, _, + and -. If you create your own snippet with the same trigger, your snippet wins.
What trigger modes are available?
. , ! ? — useful for sentence-end shortcuts. You can switch modes in Settings at any time.
Stop retyping the same things every day
One-time purchase, no subscription. Works on Windows 10 and Windows 11.