Expand short keywords into full snippets.
Your wrists will thank you.

Type ;sig in any app and it becomes your signature. Snippets fill in the date, the clipboard, or values you’re asked for. Type ;prod and a menu of your SSH, VNC and RDP connections opens, with logins from 1Password and a terminal built in. Native on your Mac, and free.

v0.2.1 · 16.5 MB · Universal · Apple Silicon + Intel · macOS 14+
The dog food fund

Free app. Very spoiled dog.

I think this is pretty cool, but I don’t like charging for software. If you love this app and you have the means to help support my spoiled dog’s expensive diet with a donation, we would appreciate it greatly!

One-time, paid securely through Stripe right here. xpnd stays free either way.

Text Expansion

Quick snippets with variables.

A snippet can hold the date with #{date}, what you copied with #{clipboard}, a value it asks for with #{input:Name}, or the output of a script with #{shell:…}, and #{cursor} says where the caret ends up. A keyword can also open an app or run a Shortcut.

Groups turn on or off together, and ⌃⌥⌘Space searches them all. In Screen Sharing, VNC and RDP clients, and VMs, snippets are typed as keystrokes on the remote machine instead of pasted.

Connection Manager

Type a folder name, pick any server, and go.

Keep SSH, VNC and RDP connections in folders. Give one a string like ;aws and typing it connects. A folder’s string, like ;prod, opens a numbered menu: press 1 to 9 to connect, or Esc to close it and keep what you typed. Hold ⌘ while you pick to connect with sudo just that once.

Press ⌃⌥⌘C for the launcher and search them instead. Jump through a bastion, add SSH options, and color a folder so prod never looks like staging.

Built-in terminal

Every session, one window.

Double-click a connection and it opens as a tab in xpnd’s own terminal, with a green dot in the sidebar for what’s connected. Duplicate or close a tab from its menu, and set the font, colors, cursor and scrollback in Settings. Snippets expand inside tabs too.

Prefer your own? Configure your strings to go to Terminal, iTerm2, Ghostty, Warp, or a command of your choosing.

Windows desktops

RDP, right beside your terminals.

An RDP connection opens the Windows desktop as a tab, through the FreeRDP library bundled in xpnd. It resizes with the tab, works through an RD Gateway, and reconnects after a drop. Point at the top edge, or press ⌘⇧N, for the toolbar: Ctrl+Alt+Del, Win+R, full screen, display size, audio, clipboard sync and more.

Drop Finder files on the desktop or in a folder and xpnd copies and pastes them into the window under the pointer. Drop them on the toolbar and they land in the xpnd drive.

1Password

Passwords stay in 1Password.

A connection uses its own 1Password item, its folder’s, or a global one, through the op CLI, and SSH keys go through the 1Password SSH agent. A password is copied to the clipboard, marked concealed, and cleared after 30 seconds unless you’ve copied something else since. xpnd never types it.

The one exception is RDP: that password goes straight into the session, and is never copied or typed. The remote never sees concealed clipboard items.

Plain YAML

Your config is plaintext YAML

Snippets and connections are YAML in ~/Library/Application Support/xpnd. Edit them by hand and xpnd reloads them, though saving from the app drops your comments. If a file can’t be read, xpnd leaves it alone and waits until it’s fixed.

Share them with your team: exports hold 1Password references only, and importing shows every connection, jump host and SSH option before anything is added.

Trust

It sees what you type. It keeps none of it.

  • Open source, MIT

    Every line is on GitHub under the MIT license, so you can read exactly what it does with what you type.

  • Native Swift

    SwiftUI and AppKit on macOS 14 or later. FreeRDP and OpenSSL ship inside the app, with their licences.

  • Keystrokes stay in memory

    To match keywords, xpnd keeps up to the last 128 characters you typed, in memory only. They’re never stored, logged, or sent anywhere.

  • Snippets stay in your file

    Snippet text is never logged. It lives in your own YAML file on your Mac, and xpnd puts your clipboard back after each expansion.

  • No passwords on disk

    xpnd stores no passwords or keys, only references to 1Password items and the public key of an SSH key item. A terminal program can’t read your clipboard either: its OSC 52 requests are denied.

  • Quiet on the network

    Besides the connections you open, its only network use is the update check, which you can turn off in Settings. There’s no analytics or telemetry.

Read the full privacy policy →
Changelog

Latest Release

v0.2.1
November 2026
View release →
Fixed
  • xpnd no longer crashes while connected to a Windows desktop when that desktop shows its own mouse pointer.
Changed
  • The copyright holder is Jesse Stilwell, and the app no longer says "All rights reserved", which didn't fit the MIT license.
Full release history on GitHub →

Free, open source, one maintainer.

xpnd is MIT-licensed, and every line of it is on GitHub, so you can see exactly what it does with what you type. No accounts, no subscriptions, no ads.