node package manager
We need your input. Help make JavaScript better: Take the 2017 JavaScript Ecosystem survey »



capshare is a really fast way to share a screencapture. It's a background daemon for OS X so once you set it up it's always running.

How it works

The capshare daemon watches a specified folder on your machine. When a file is added to that folder it immediately uploads the file to an s3 bucket and copies the https link to your clipboard.

Because it's just a folder it will also work if you drag or copy an image to that folder.


  • Node.js
  • An s3 bucket
  • OS X or Linux


Use npm to install the capshare binary

npm install -g capshare



You'll want to change the folder where your screen captures are saved.

defaults write location ~/Pictures/capshare && killall SystemUIServer

Here I am using ~/Pictures/capshare.

Then you will want to setup the launchd config:

curl > ~/Library/LaunchAgents/com.bhelx.capshare.plist

Edit these fields in that file:


Now to launch the daemon

launchctl load ~/Library/LaunchAgents/com.bhelx.capshare.plist

If you need to stop it at any point you can do so with unload

launchctl unload ~/Library/LaunchAgents/com.bhelx.capshare.plist


Linux support only exists right now for systemd users. You'll also need to ensure your system is setup to have a user instance of systemd running.

First, download and edit the capshare.service file:

curl > ~/.config/systemd/user/capshare.service

Edit this line in that file:

ExecStart=/usr/local/bin/capshare {{absolute_path_to_capshare_directory}} {{bucket}} {{s3_access_key}} {{s3_secret}}

Use systemctl to start capshare:

systemctl --user start capshare

You can stop is as needed:

systemctl --user stop capshare

Final Steps

You might want to ensure the capshare binary is where I think it is with:

which capshare

You also may want to consider creating a user in s3 for specifically accessing your bucket so it will be easy to revoke.


Now if you take a screencap you will almost immediately have an https link in your copy buffer so you can paste to whoever you need to share with.


  • support other linux init systems
  • more content types
  • better installation process
  • error handling
  • integrate with os x notifications or growl