A shelf for your files,
right when you need it.

Ledge is a free drag-and-drop shelf for macOS. Start dragging a file and a shelf appears at the edge of your screen. Park things there, then drag them out wherever they need to go. No more window juggling.

View on GitHub

Free forever. Open source. macOS 13 or later, Apple Silicon and Intel. About 0.5 MB. Your download link arrives by email from Matt Marcotte at ScreenPrint GPT. Unsubscribe anytime.

How it works

Three moves. That's the whole app.

1

Start dragging

Pick up any file, image, or text selection. Ledge notices and fades in at the edge of your screen, ready to catch it.

2

Drop it on the shelf

Your item parks safely on the shelf. Stack as many as you want. They stay put, even across restarts.

3

Drag it back out

Find the folder, email, or app where it belongs, then drag the item off the shelf. It lands there and clears itself from the shelf.

Features

Small app. Big quality of life.

Appears when you need it

The shelf only shows up while you are dragging or holding items. The rest of the time it stays out of your way.

📋

Clipboard collector

Flip one toggle and every copy you make stacks up on the shelf. Copy five things in a row, paste them anywhere, in any order.

📱

Import from iPhone

Snap a photo or scan a document with your iPhone and it lands straight on the shelf, via Apple Continuity Camera.

F5 from anywhere

One key shows or hides the shelf in any app. No clicking around to find it.

Bring things back

Removed something too soon? One click restores your last removed files. Ledge remembers your last ten removals.

📑

Your shelf, your spot

Park it on the left or right edge, top, middle, or bottom, or have it appear at your pointer. Three sizes.

Move, not just copy

Turn on move mode and dragging an item out removes the original from where it lived, so you file things away instead of duplicating them. Always recoverable from the Trash.

🔒

Private by design

No account, no network calls, no analytics. Everything stays in a local folder on your Mac. Concealed clipboard data from password managers is never captured.

💖

Free and open source

MIT licensed. Read every line of code, build it yourself, or grab the download. No trial, no upsell.

Install

Up and running in a minute.

Ledge is free and open source, not notarized through Apple's paid developer program. That means macOS shows a scary-looking warning on first launch. It's a 20 second detour, and there are two ways through it.

Option 1: Terminal install, no warnings at all

Once Ledge.zip from your email lands in Downloads, paste this one line into Terminal (find it in Applications > Utilities). It puts Ledge in Applications, clears the safety flag, and launches it.

ditto -xk ~/Downloads/Ledge.zip /Applications && xattr -dr com.apple.quarantine /Applications/Ledge.app && open /Applications/Ledge.app

Option 2: Download normally, then approve it once

  1. Download and unzip. Enter your email up top and we'll send you Ledge.zip. Double-click it. You get Ledge.app.
  2. Drag Ledge.app into Applications.
  3. Open it. You'll see the warning shown here. Click Done. Not "Move to Trash". This is macOS being cautious about any app that isn't in its paid developer registry, not a malware detection.
  4. Approve it in System Settings. Open System Settings, go to Privacy & Security, scroll to the bottom Security section. You'll see "Ledge was blocked to protect your Mac", exactly as pictured here. Click Open Anyway, then confirm.
  5. Done. Look for the tray icon in your menu bar. Turn on Start at Login from its menu, then drag any file to see the shelf appear. The warning never comes back.
Is that warning normal? Yes, completely. macOS shows it for every app distributed outside the Mac App Store unless the developer pays Apple $99 every year to make it disappear. Ledge is free and always will be, and paying a yearly fee to remove a dialog box from a free tool doesn't make sense. The message means "Apple doesn't have this developer in its paid registry." It does not mean anything harmful was found. You approve once and the warning never comes back. And because the entire source code is public on GitHub, you don't have to take anyone's word for what the app does: read it, or build it yourself with ./build.sh.

Cheat sheet

Everything Ledge responds to.

ActionWhat happens
Drag a file anywhereShelf fades in at the screen edge, ready for a drop
Drop on the shelfItem is parked. Any part of the shelf accepts the drop
Drag an item off the shelfCopies to the destination and clears from the shelf (or moves it, with move mode on)
Double-click an itemOpens the file
Hover an item, click the xRemoves it (recoverable with Bring Back)
F5 (or Fn F5)Show or hide the shelf from any app
Gear icon or right-click the shelfOpens the full menu
Drag the shelf headerMoves the shelf anywhere on screen
Copy anything (with clipboard collecting on)Lands on the shelf silently as a new item

FAQ

Questions people ask.

Is it really free?

Yes. Free forever, MIT licensed, no trial, no locked features, no account. It was built to replace a paid app and is shared in that same spirit.

macOS says it "could not verify" Ledge. Is that bad?

It's normal and expected for free apps. Apple shows that message for any app whose developer doesn't pay for the $99/year Apple Developer Program, and since Ledge is free, that fee isn't happening. Nothing harmful was detected; Apple simply doesn't have the developer in its paid registry. Click Done in the warning, then System Settings, Privacy & Security, scroll to the bottom, Open Anyway. You do this exactly once. The Terminal install option skips the warning entirely, and the full source is on GitHub if you want to verify what the app does yourself.

Where does my stuff live?

Items you drop stay wherever they already are on disk; the shelf just holds a reference. Text snippets, clipboard images, and iPhone imports are stored in a local folder at ~/Library/Application Support/Ledge. Nothing ever leaves your Mac.

Can dragging out move a file instead of copying it?

Yes. By default Ledge copies, leaving your original untouched. Turn on "Remove Original After Drag-Out" in the menu and it becomes a true move: the item leaves its old location so you don't get duplicates. Dropping onto Finder on the same drive is an instant, atomic move; other destinations receive a copy and Ledge then sends the original to the Trash a moment later. Because it goes to the Trash rather than being deleted, a mistaken drop is always recoverable.

Does it need any special permissions?

No. Ledge doesn't ask for Accessibility, Screen Recording, or anything else. Drag detection uses the standard system pasteboard, which needs no permission at all.

What about sensitive things I copy?

Clipboard collecting is off by default. When it's on, anything a password manager marks as concealed or transient is skipped automatically. You can toggle collecting off any time from the menu.

The shelf pops up when I drag text and I don't want that.

Open the Ledge menu and uncheck "Show Shelf for Text Drags." File drags will still summon the shelf.

How do I uninstall?

Quit Ledge from its menu, delete Ledge.app from Applications, and remove the ~/Library/Application Support/Ledge folder. That's everything.

Can I build it from source?

Yes. Clone the repo, run ./build.sh, and open dist/Ledge.app. You need the Xcode Command Line Tools, nothing else. The whole app is a small Swift package.

Shorthand icon

Like free Mac tools? Meet Shorthand.

A text expander for your Mac. Type /sig anywhere and get your whole signature: rich text, images, and dynamic dates included. Same shop, same deal: free and open source.

Check out Shorthand

Give your drags a place to land.

Download Ledge, free

macOS 13 or later. Universal for Apple Silicon and Intel.