Show HN: A keyboard-centric clipboard history app for macOS (clipbook.app)

141 points by Ikryanov ↗ HN
Hey HN,

As a Software Engineer, I frequently copy and paste content. The fact that macOS clipboard buffer can keep only one item is very frustrating. It’s very annoying to copy → switch app → paste → switch app → copy → switch app → paste, and so on. Losing items I copied hours ago and having to find and copy them again is a waste of time.

I tried many third-party clipboard managers like Alfred, Raycast, Paste, Maccy, etc. While great, they didn't fully meet my needs.

As a developer, my requirements are:

1. Keyboard-centric operation to avoid using the mouse. I don’t want to waste my time moving my hands from the keyboard.

2. Display many clipboard history items at once. I don’t like the idea with big tiles, so I can see only 5-7 history items on my 32” monitor.

3. Full content preview for each clipboard item.

4. Quick search functionality.

So, I created ClipBook for my own use. After months of development, daily use, and positive feedback from my colleagues, I decided to share it publicly. It’s free. All data is securely stored on your computer. I’m planning to make it open source as well.

If you try it out, please let me know if you found it useful, if you have anything you’d like me to add, or if you have any other feedback.

Happy to answer any questions. Much appreciated.

129 comments

[ 3.1 ms ] story [ 177 ms ] thread
Looks awesome! Congrats on the launch. Unfortunately, I can't download the Universal or Intel version, I'm getting a UserProjectAccountProblem error.
There was an issue with Google bucket. I fixed it. Should work well now. Thanks for the report.
<Error> <Code>UserProjectAccountProblem</Code> <Message>The project to be billed is associated with a closed billing account.</Message> <Details>The billing account for the owning project is disabled in state closed</Details> </Error> from gcloud

looks cool can you mirror installer on github?

Fixed. I will mirror installer on GitHub as well. Thanks for the idea!
Interesting, I've been using raycast clipboard that even stores images. Instead of cmd+shift+v i use cmd+shift+p which is much quicker to pull up.
Can you explain the cmd+shift+p a bit more? I use raycast as well, but need to opt+space+”c…l…I…”
Both of those combinations pretty commonly used in other applications

cmd+shift+v -> unformatted paste

cmd+shift+p -> command palette

I use Karabiner and use right_command+v for the clipboard launcher without interfering with the other apps.

The only thing missing from raycast clipboard is ability to paste previous 'copy's with a keyboard shortcut.
Didn’t try your app but as a longtime Maccy user: What is Maccy missing from these 4 points?
(comment deleted)
I like Maccy, but it doesn't let me preview the full content. It crops the large text and adds "..." at the end. Also, I cannot select text in the Maccy's preview balloon/tooltip/popup. It just disapears if I try to work with the text in the preview balloon/tooltip/popup.
What I've discovered is that I don't even want a menu. I want to hold the command key, tap the v key several times, and just have it cycle through until I get the one I want. It'd only release the past when I let up off of command (each tap of V would replace the previously pasted item with the next in this queue/ring). Command-C would just copy into the ring to the first position. Use another hotkey to remove an item, I guess. I don't need a visual history.
IIRC Flycut did that. Loved it but it only copied text and was abandoned a long time ago.
Umm should I not be using Flycut? It's still on the app store.
I'm still a daily-driver of Flycut and love it.
I really struggle with clipboard history apps because they are not very far from a keylogger and I don't want to have to trust a developer or third-party code with the contents of my clipboard. Am I being irrational?
That’s entirely rational but unless you build from source (and honestly even if you do) there’s an attack vector present. The only real alternative is to review and allow list outgoing network traffic
I use Little Snitch religiously and for third-party apps I use occasionally I'm very pedantic with allowing them 10 minutes of network access at a time. It sounds painful to manage but in practice only a few apps are super chatty. Apps that are my daily drivers get more generous network access rules.
Do you only use first party applications otherwise? Any macOS application can poll NSPasteboard and extract your clipboard history and so I don’t see the particular concern with this class of applications.
(comment deleted)
Passwords are excluded from clipboard history if everything is done correctly.
I just use Alfred. Has clipboard history and so much more.

https://alfredapp.com/

Yea, OP says it doesn't meet their requirements, but Alfred does every requirement they list. It is paid, but I paid 12 years ago and my license key is still working. Great dev(s?).
+1 the Alfred devs are lovely people.
Alfred is a good software, but I miss the possibility to resize the clipboard history window to see more content in the preview panel. Same issue (for me) in Raycast. If someone knows how to enable such possibility, please share with us.
It shows 15 items by default, which seems more than enough for me, and also offers search/filtering. But if for some reason that's not enough, then I guess it does miss out on that one item. I can't possibly imagine why you would need to see more results on the screen at one time, but everyone has different needs I suppose!
Maybe I wasn't clear. I was talking about the preview panel. Sometimes I copy content of a source code (*.cpp) file, and I need to quickly look at what I have copied in the preview panel. I have to scroll a lot to look at the source code. In ClipBook I just resize the clipboard history window to see more in the preview panel without scrolling.
Alfred just doesn't meet my requirements. The filters don't work for my needs.
Raycast is also a Spotlight replacement that's very good and has a built-in clipboard history manager.

https://www.raycast.com

Everything that the OP listed it does out of the box (keyboard control, previews, searchable, etc). I'm very confused at what they found it was lacking.

Raycast is great, although I'm a little annoyed that unlimited clipboard history is behind a $10/month paywall – annoying given that it's just a config setting, I'm running the compute and storage.
I just saw the parent comment about alfred, enabled the clipboard history extension in raycast, gave it a cmd+shift+v hotkey, and then read your comment about it being behind a paywall?

Are you talking about a different none-extension clipboard history? I'm not paying for it and it works nicely.

Raycast only keeps history for up to 3 months unless you pay for it, then you can choose 6/12/unlimited. That has always felt like a silly limitation, and quite disconnected from a $10/month price.
As does LaunchBar, the Great Grand-Parent of all cmd-space launchers.

While I can’t claim to have used it in the NeXT era, I am pretty sure I have since Mac OS X Beta

https://www.obdev.at/products/launchbar/index.html

oh wow I always thought Quicksilver was the first one (after Spotlight of course)
Another happy Alfred user here. Mostly for the clipboard history, snippets, workflows.
Same here, it’s simple and reliable.
(comment deleted)
Looks amazing, love the simplicity

Does it support images? Can text clipboard items be edited on the clipboard before pasting?

Are you planning on adding snippets?

Alfred works really well for me in terms of snippets and clipboard history

Except for one use case: quick edits

For that, I end up having to paste the content somewhere, change it, (sometimes having to additionally re-copy, then paste in the final destination)

I didn't enable support for images. It's on the product roadmap. I would like to add support for files too.

As for quick edits — I do the same trick too. I will add the quick edit functionality. I miss it too.

I'm not planning to add snippets. Alfred and Raycast are really good at this.

Raycast has this built in. Don't see the need to install a separate application for this purpose. Aren't such launchers mainstream already?
(comment deleted)
I like and use Raycast, but I don't like the fact that I cannot resize Raycast window. It's pretty annoying, because I cannot see enough content in the clipboard history preview.
If anyone is looking for a similar cross-platform and open source solution, CopyQ[1] is handy and scriptable.

[1] https://hluk.github.io/CopyQ/

(comment deleted)
+1 for CopyQ. Have been using it on Linux and Mac without problems.
+1 to Copyq, IMO best clioboard manager. It has a lot of functions, yet simple to use as is.
How does this tool make sure not to historize any passwords copied onto the clipboard?
(comment deleted)
any functionality to exclude passwords from making it into the history? This is the most annoying thing with Maccy for me (I literally have complex wrapper scripts that turn it on and off when I'm using my password manager which are flaky and annoying to maintain).
Have you tried CopyQ? I've not used it on MacOS, but on Windows and Linux it can exclude based off window title: https://copyq.readthedocs.io/en/latest/faq.html#how-to-omit-...
+1 to copyq. It has a lot of funcionality, you can exclude apps to save clip on log (passwords managers), yo can do personal snippets, images, even create your own scripts.... It has a bit deeper than anything else I tried and yet simply enough to run as is....
That’s one of the most requested feature for now. I will definitely add it, so you can add any app to the list of software that must be ignored. Thanks for your feedback!
Are there special "password" copy methods that mark a clipboard element as such so your app could exclude that instead of relying on an apps list (of course if that other app would use this method)?
One way to implement this would be to have a checkbox to ignore passwords/single words

When checked ignore anything that has a space

Slick UI. Well done.

FYI, there's an alternate clipboard in macOS called the kill ring (influenced by Emacs) that lets you cycle through previously killed text. The default property is called NSTextKillRingSize. There's a bit of config to do but it still works (Sonoma 14.5 as of this writing) for native macOS apps. https://developer.apple.com/library/archive/documentation/Co...
(comment deleted)
I've been meaning to look for this since switching from Linux at work - will try it out when open source for sure.

Are the keybindings customisable? I'm accustomed to Super-c showing my list and Super-v pasting, so now of course I keep messing up because selections aren't copied automatically, Super(Cmd)-c is doing it and not showing a list, and erasing my previous clip...

I don't mind too much relearning muscle memory, but I do want to be able to customise a binding so I can settle on something common cross-platform.

The feature to customize keyboard shortcuts in the app is #2 on the list of requested features.

I will let you know when I implement it and open source the project.

[flagged]
(comment deleted)
[dead]
Xclippy looks nice. Upvoted your PH.
This is awesome, and I feel that this is indeed Alfred's Clipboard Manager on steroids. You did mention trying out Alfred. Without installing ClipBook but reading up on the features, what is missing from Alfred?

Alfred's Clipboard Manager is pretty navigable with the Keyboard; the history is as much as there (I don't know about being infinite), and I can also see the preview, etc.

I used to have Clipboard managers, but with Alfred + Powerpack, I did away with another program running on the menubar/background.

Edit/Update: I just checked Alfred and I can keep plain text, images, files list, for 3 months.

(comment deleted)
I don't mind to pay for a software. Most of the software costs like two cups of coffee. The only feature I miss in Alfred/Raycast is that I cannot resize the clipboard history window to see more content in the preview panel. I copy large text and source code files. It's hard to quickly look at the source code in a small preview panel.

Maybe it's just me and I didn't find a way to resize the window. If someone knows how to do this, please share with us.

Love that the app displays shortcuts on the lower left. Why I use Maccy: -Handles images -Removes formatting -Has shortcuts -Offers search -Is installed with Homebrew

I often copy huge (+70000) rows of excel sheets. Makes Maccy sluggish. Superlarge clipboard entries I’d like to purge somehow. After X mins if larger than Y?

I thought copy in excel only copied the range and it was during paste that data was copied. This is why you can’t make changes to your sheet between copy and paste.
Very nice and clean! Only feature request I have is to allow window repositioning and resizing :)
This should do one thing.

Use sizeup or window managers instead

You can resize the window using mouse. Like any other regular window. I didn't implement the resizing feature using keyboard shortcuts yet.

As for repositioning window, you can drag the window by dragging the panel with the keyboard shortcuts on the left-bottom side of the window.

Ah yes, that's what I meant. I didn't try dragging with the shortcuts panel, that works, thanks!
Ok, I'll be that guy. But what stops a very clever hacker from creating something useful and seemingly naive as this, but adding some hard to find backdoor in it. I was about to just install it but then stopped and thought, what could be the easiest RCE out there. Make a useful app, a catchy domain name, professional landing page, get social proof by getting it to HN front page and have zero people comment what I'm currently commenting... There is no link to source, no link to LinkedIn profile of the creator. I'm sure this is a legit app, but makes me wonder, am I the only paranoid person here?
Yeah, I absolutely need open source for this and me building it fully myself. I wouldn't be able to trust it otherwise, unless it came with the OS itself.
I actually had the same thought after I had installed it and noticed that the binary was over 600MB. Sure, it's probably just Electron, but still, it was just enough to get me to hold off on actually trying it for now.
It's actually not Electron, it appears to be Chromium Embedded Framework (CEF), which is what Spotify desktop app uses. I'm speaking completely separately from OP's product:

CEF was supposed to be more efficient than Electron, but I think that framework heavily missed the mark. I'd be interested to know why the dev chose CEF instead.

Last year I answered on SO about the difference between Electron and CEF and which one to chose: https://stackoverflow.com/questions/70620182/whats-the-diffr...

I actually use an Electron-like framework to make ClipBook, but it's not Electron and not CEF. It's Electron for C++ developers. It's called Molybden SDK. I'm one of the creators of this SDK. I decided to use it, because I know it really well and it allows me to write using C++ and closely work with the operating system. It's very important when you build a software like ClipBook.

There are three downloads: for Mac Apple Silicon, Intel, and Universal.

You see the 600MB binary, because it's probably Universal (Apple Silicon + Intel) DMG. To have a smaller size it's better to download DMG for your Mac CPU architecture. You can find all three versions at https://clipbook.app/download/

I should say that even Apple Silicon or Intel app will still be ~330MB. It's because of the SDK I use to build this app.

(comment deleted)
Only gripe... the default keyboard shortcuts are "paste un-formatted" in a lot of applications.

Seems like some other combination of keys would be better to use.

I will add functionality to customize ANY keyboard shortcut in the app. Thank you for your feedback.
> I tried many third-party clipboard managers like Alfred [...] While great, they didn't fully meet my needs.

> As a developer, my requirements are:

> 1. Keyboard-centric operation to avoid using the mouse. I don’t want to waste my time moving my hands from the keyboard.

> 2. Display many clipboard history items at once. I don’t like the idea with big tiles, so I can see only 5-7 history items on my 32” monitor.

> 3. Full content preview for each clipboard item.

> 4. Quick search functionality.

But... Alfred literally does all of these? It's part of the paid features though and thankfully yours is free. But still, the functionality is mostly there and I'm actually curious about comparing what you've built versus theirs. https://www.alfredapp.com/help/features/clipboard/

I was wondering the same. I'm very happy with Alfred and I use the clipboard history a lot. There is just no way back to having only 1 item kept in memory!
Alfred is cool, but I didn't find a way to resize the clipboard history window, so I can see more content in the preview panel. Same issue (for me) in Raycast. No way to make the clipboard history window bigger.

Maybe it's just me and there's a way to enable window resizing in Alfred/Raycast?

Okay, that's fair, and I agree, that is something that's lacking in Alfred.

The closest I can think of is expanding one item's preview by pressing Shift after Cmd+Opt+C but not the history window itself.

Those already using Keyboard Maestro will find that its built-in Clipboard Switcher is awesome and has all of these features. And you can set up a custom system-wide shortcut … with Keyboard Maestro.

My preferred shortcut is Meta + Q.

(I use Karabiner Elements to set Caps Lock to Meta while pressed, and to Escape when tapped. And I also use it to set Right Command + H/J/K/L to work like arrow keys. Makes flipping through the clipboard history a breeze.)

Hi,

thank you very much for clipbook, it's what I was looking for to manage my clipboard simply. I have to read carefully for privacy but I think we are on the right track.

Thank you for your feedback. If you have any questions, please let me know.