ClipStack for macOS

Everything you copied is still there. ⇧⌘V

macOS remembers exactly one thing you copied. ClipStack keeps the rest — text, images and files — in a searchable panel that opens over whatever you are doing, previews the full contents, and puts the one you want back on the clipboard with a single keystroke.

macOS 14 or later · Apple silicon · MIT licensed · about 1000 lines of Swift, no dependencies

Real history, invented on purpose: every entry in this recording is demo data.

A clipboard that keeps up with you.

Copy three things in a row and all three are waiting — not just the last one.

Search it, do not scroll it

Start typing and the list narrows as you go, Chinese input included. Arrow keys move the selection, ⌘1–9 grabs one of the first nine outright, and Return copies the selected entry and closes the panel.

The ClipStack panel with a search term typed, narrowed to a single matching entry

Text, images and files

Rich text keeps its formatting, images stay images, and files copied in Finder come back as files. The preview pane on the right shows the whole thing before you commit to it — not a truncated line.

An image entry selected in ClipStack, with the picture shown full size in the preview pane

Keep it on screen while you work

⌘T pins the panel above every window and stops it closing when it loses focus or after a copy. It becomes a reference card you read from while typing somewhere else — the state survives a restart.

The ClipStack panel in keep-on-top mode, with the mode highlighted in the footer

The ones you keep reusing, pinned

⌘P pins an entry to the top of the list and out of the way of the 300-entry limit, so the snippet you paste ten times a day never falls off the end.

The ClipStack panel with pinned entries at the top of the list

Every key, and where it goes.

It stays on your Mac

History lives in a plain folder in your Library and goes nowhere else. There is no account, no sync, no analytics and no network call except the update check.

Anything a password manager marks as concealed or transient is never recorded, following the nspasteboard.org convention — so the password you just copied does not end up in a list.

Also from the same menu bar