Guide

EFClip, start to finish.

Everything the app does and why, in the order you'll run into it. Ten minutes to read, or jump to the part you need.

Install

  1. Download EFClip for Mac. It's a 4 MB disk image, signed with my Developer ID and notarized by Apple.
  2. Open it and drag EFClip into Applications.
  3. Open EFClip from Applications. Not from the disk image: macOS runs apps started from a disk image in a temporary place, and updates wouldn't work.
  4. A clipboard with EF on it appears in the menu bar. There is no Dock icon and no window to close; the app lives up there.
  5. Optional: Settings › General › Open at login, so it's there after a restart.

You need a Mac with Apple silicon (M1 or newer) and macOS 14 Sonoma or later.

The window

Press ⌥V or click the menu bar icon. The history opens at your mouse pointer, or in the middle of the screen if you prefer that in Settings › General. From the icon it opens right below it.

The window doesn't take focus from the app you're in, so the text cursor stays where it was. It closes when you press Esc, pick something or click elsewhere. Drag its edge to make it bigger; it remembers the size. If you'd rather set it exactly, there are sliders for width (320 to 600) and height (360 to 800).

Search

The search field is active as soon as the window opens, so you just type. It looks through the text and through names you gave items. Upper or lower case and accents don't matter: kavicka finds Kávička. Images are found by their name.

Rows

The newest item is on top. Pinned items without a category sit above the rest. The first nine rows show ⌘1 to ⌘9, so you can pick one without moving the selection. A row shows a pin when it's pinned, a small tag with its category, a color swatch next to a hex color like #FF454F, and a thumbnail with its size for an image. A named item shows its name, with the text under it.

Preview

⌃Space opens the full text or a larger image beside the window, with the length and when you copied it. By default it also opens when you rest on a row for 1.5 seconds; Settings › General › Preview changes that to 0.5 s, 3 s, or only with the shortcut.

Right-click a row

Copy, Copy and Paste, Pin, Edit Text, Name, Category, Preview and Delete. Everything in that menu also has a key; the full list is in Shortcuts.

At the bottom

Clear History… removes everything except pinned items and items in categories. With sync on, it clears the history on your other devices too, so it asks first. Next to it: Settings, About, Check for Updates and Quit.

Pasting

Return puts the selected item on the clipboard and closes the window. Then you press ⌘V, the same as after any copy. The item moves back to the top of the history.

If you'd rather skip that second step, turn on Settings › General › Paste right away. EFClip then presses ⌘V for you a moment after the window closes. macOS only lets an app press keys for you with Accessibility access, so the first time it opens the permission dialog. Until you allow it, the item only goes to the clipboard and nothing breaks.

⌥↩ does the opposite of your setting, once: it pastes when Paste right away is off, and only copies when it's on.

Formatting. EFClip keeps plain text. Bold, fonts and links in rich text are dropped when you copy, so everything you paste from the history arrives as clean text. Files copied in Finder aren't saved.

Pins, categories and names

The history moves on by itself: old items make room for new ones. Three things stop an item from ever leaving.

Pin

⌥P, or Pin in the right-click menu. The item goes to the Pinned filter, ignores the size limit and never expires. Same keys to unpin.

Category

⌘K opens a menu with your categories, None, and New Category. An item in a category is always pinned too. Each category gets its own chip above the list, and with sync on, its own chip in the iPhone keyboard. Rename or delete categories in Settings › Categories, or right-click the chip. Deleting a category keeps its items pinned, just without the category.

Name

⌘N gives an item a short title, up to 40 characters, shown above its text: Office address, Rent account, Wi-Fi at home. Search finds the name too. A named item is kept like a pinned one.

Edit

⌘E opens the text for editing. Useful when you copied a typo or want to keep a cleaned-up version.

Filters

The chips under the search field filter the list. ⇥ moves to the next one, ⇧⇥ back. The window opens on the first chip in your order.

ChipShows
AllEverything that isn't pinned: the running history.
PinnedEverything pinned, items in categories included.
A categoryOnly the items in that category.
TextText that isn't a link, numbers included.
LinksText that is a web address.
ImagesCopied images and screenshots.
+Makes a new category.

Drag chips to reorder them, All and Pinned included, or do it in Settings › Categories. With sync on and Same filter order on all devices on, the iPhone keyboard takes the same order, and an order you set in the keyboard comes back to the Mac. Whichever change is newer wins. Each device has its own switch for this, so you can keep a different order on one of them.

The keyboard fills its chips a little differently. On the iPhone, All shows everything with pinned items on top, and Pinned shows pinned items that have no category, because each category already has its chip. Chips without content are hidden there. Only the order is shared.

Images

Copied images and screenshots copied to the clipboard (⌃⇧⌘4) are saved as long as Settings › Storage › Save images is on. PNG, JPEG, HEIC and TIFF work. EFClip keeps the 15 newest, each scaled to at most 1280 px and stored as JPEG, so the whole collection stays under about 24 MB. Pinned images don't count toward the 15.

Picking an image puts the stored image back on the clipboard, ready to paste into a message, a document or Preview.

What it ignores

Three rules decide what never gets saved.

  • Concealed content, always. Password managers and other apps mark sensitive copies as concealed or temporary. EFClip never saves those, and no setting changes that.
  • Apps on your ignore list. Settings › Ignore › Apps. While one of them is in front, copies are skipped. 1Password, Bitwarden, Passwords and Keychain Access are there from the start; add any running app from the menu.
  • Text matching your patterns. Settings › Ignore › Text matching takes regular expressions. ^\d{16}$ skips 16-digit card numbers, ^\d{6}$ skips six-digit codes.

Plus two quick switches on the menu bar icon: ⌥-click pauses saving until you ⌥-click again (the icon fades while paused), and ⌥⇧-click skips only the next copy.

Text longer than 100 KB isn't saved either, and neither is text that is only spaces.

Storage

Settings › Storage sets how much EFClip keeps.

  • Keep up to 50, 100, 200 or 500 items. 200 is the default. Over the limit, the oldest unpinned item goes.
  • Delete after 5, 15, 30 or 60 minutes, a day, a week, or 30 days, the default.
  • Clear history when EFClip quits, off by default. Pinned items stay.

Pinned items, items in categories and named items are never deleted by these limits. Everything is stored in EFClip's own sandboxed folder on your Mac.

iPhone sync

EFClip can share its history with EFKey, my keyboard for iPhone. The keyboard has its own clipboard panel; with sync on, it and EFClip show one history.

What you need

  • The same Apple ID on the Mac and the iPhone, with iCloud on.
  • EFKey on the iPhone, with EFKey Pro (€14.99, once) and Full Access for the keyboard. Full Access is what lets a keyboard reach the network at all.

Turn it on

  1. On the Mac: EFClip › Settings › Sync › Sync with iPhone. The line under it shows when it last synced, or what went wrong.
  2. On the iPhone: EFKey › Tools › Clipboard › Sync with Mac.
  3. Copy something on the Mac, then open the clipboard in the keyboard. It's there.

What comes along

Text and links, images, pins, categories (with their names and order), item names, deletes and the order of the filter chips. Settings don't travel: your shortcut, window size, ignore list and limits stay per device. History limits do meet in the middle, though. When one device keeps 100 items and the other 200, the older ones trimmed on the first are deleted everywhere, so the smaller limit wins.

Images go up at most 1280 px wide and are shrunk further if they'd be too big for iCloud. Only the 15 newest images are shared; pinned images always are.

How fast

The last thing you copied on the iPhone is on the Mac right away. That's Apple's Universal Clipboard, which works with or without EFClip. Everything else is EFClip sync:

  • A change on the Mac goes up within a couple of seconds.
  • The Mac checks for changes when you open the window, every 5 seconds while it's open, and otherwise every 30 seconds. iCloud also nudges it when something changes, but those nudges arrive late or not at all, so the regular check is what you can count on.
  • The iPhone keyboard picks up changes when you open its clipboard. A keyboard can't run in the background, so that's the moment it looks.

When two devices disagree

The newer change wins. Pin, category and name each remember when you last changed them, separately from when the item was copied. So pin an address on the Mac, copy the same address on the iPhone an hour later, and it stays pinned: copying moves it to the top on both sides, but it doesn't touch the pin. A delete wins only if it's newer than a change on another device.

Where it lives and who can read it

The history goes to the private CloudKit database of your Apple ID, in its own area for EFClip and EFKey. Before anything leaves the Mac, the text, images, names, category names and filter order are encrypted end to end, with keys that stay in your iCloud Keychain. Apple stores them but can't read them. What Apple can see: when an item changed and whether it's pinned. Even the record names are scrambled, so two identical copies don't look alike.

I can't see any of it. There's no server of mine in the path, no account and no analytics.

Using EFClip without EFKey? Leave Sync with iPhone off. With it on, the history goes to your iCloud even if no iPhone ever reads it.

Turning sync off

Turning Sync with iPhone off stops syncing on this Mac. Nothing is deleted: the history stays on the Mac, on the iPhone and in iCloud.

To remove the copy in iCloud, use Delete from iCloud… in Settings › Sync. It turns sync off on this Mac and deletes the whole EFClip area from your iCloud. Your devices keep their history. One catch: a device that still has sync on will upload its history again within about 30 seconds. So turn sync off in EFKey first, then delete. In EFKey, switching sync off asks the same question: Keep in iCloud or Delete from iCloud.

Updates

EFClip isn't on the Mac App Store, so it updates itself. Once a day it reads efclip.app/appcast.xml, and when there's a new version it shows what changed and asks before installing. Every update is signed with my key, and the app refuses anything else. Check for Updates… is at the bottom of the window and in About. To stop the daily check, turn off Settings › General › Check for updates automatically.

Shortcuts

KeysDoes
⌥VOpen or close the history. Change it in Settings › General › Open history; it needs ⌘, ⌥ or ⌃.
↑ ↓Move through the list.
↩Pick: copy, or paste with Paste right away on.
⌥↩Pick with the opposite paste behaviour.
⌘1…9Pick row 1 to 9.
⇥ / ⇧⇥Next or previous filter.
⌃SpaceShow or hide the preview.
⌥PPin or unpin.
⌘KPut in a category.
⌘NName the item.
⌘EEdit the text.
⌥⌫Delete the item, without asking.
⌘,Settings.
EscClose the preview, then the window.
⌘QQuit EFClip.
⌥-click iconPause or resume saving.
⌥⇧-click iconSkip only the next copy.

Troubleshooting

⌥V does nothing

Another app may have taken the same shortcut, or EFClip isn't running (look for the EF icon in the menu bar). Pick a different combination in Settings › General › Open history.

Picking an item doesn't paste

That's the default: press ⌘V after picking. If Paste right away is on and still nothing happens, open System Settings › Privacy & Security › Accessibility and make sure EFClip is allowed. After an update you may need to switch it off and on there.

Something I copied isn't in the history

Check whether saving is paused (faded icon), whether the app you copied from is on the ignore list, and whether the text matches one of your patterns. Concealed copies from password managers are skipped on purpose. Files from Finder aren't saved, and text over 100 KB isn't either.

Sync doesn't show up on the iPhone

  • Open the clipboard in the keyboard: that's when it checks.
  • Look at the line under Sync with iPhone on the Mac. It says when the last sync worked, or shows the error.
  • Both devices on the same Apple ID, iCloud on, EFKey Pro active, Full Access on for EFKey.
  • iCloud full or signed out? CloudKit stops until that's fixed.

A deleted item came back

A device that was offline brought it back with a newer change, or a device with sync still on re-uploaded after Delete from iCloud. Delete it again once both devices are online.

Uninstall

Quit EFClip (⌘Q in the window) and move it from Applications to the Bin. The history stays in ~/Library/Containers/eu.eef.efclip; delete that folder to remove it too. If sync was on, use Delete from iCloud before you uninstall, or the copy stays in your iCloud.

Open-source licenses

EFClip uses Sparkle for updates, under the MIT license. The full text is in the app: About › Open-source licenses.

Guide for EFClip 1.0. Something unclear or missing? Tell me on the tracker.

Ready to try it?

Free, for Mac with Apple silicon.

Download for Mac