Edge-Drop is a free, open source system cleanup & optimization project written in TypeScript and released under Apache-2.0. It has 578 GitHub stars, 38 forks and 22 open issues, and was last pushed 5 days ago. On this registry it ranks #17 of 17 tracked projects in System Cleanup & Optimization, with 5 head-to-head comparisons available.

What is Edge-Drop?

Edge-Drop is a free, Apache-2.0-licensed Windows desktop clipboard shelf that hides invisibly on the edge of the screen and springs open when the cursor approaches it, letting developers and designers drag text, links, images, and files directly into any application they are already using.

What it is

Edge-Drop is a desktop application built with Electron, React, TypeScript, and Framer Motion. It anchors a frameless, transparent, always-on-top BrowserWindow to the left screen edge at x=0 or to the right screen edge, and it stays fully click-through while collapsed so the desktop underneath remains usable. When the pointer enters the edge hot zone, the shelf springs open and presents clipboard items, file stacks, and links as cards. On Windows it relies on Win32 OLE drag pipelines and transparent-window cursor polling to move content out of the shelf and into other programs.

The concrete problem it solves is the multi-step clipboard loop. Every conventional clipboard manager interrupts the flow: copy something, switch applications, paste, then hunt through Win+V history with arrow keys or dig into a tray menu. That is modal and slow. Edge-Drop replaces that sequence with a hover and a drag, so items leave the shelf directly into the target desktop application. There are no shortcuts to memorize, no window switching, and no modal dialog standing between the copy and the paste.

Key capabilities

  • Zero-click edge hover activation through a frameless, transparent, always-on-top BrowserWindow anchored at x=0 or the right screen edge, with 100% click-through when collapsed.
  • Configurable geometry: hot-zone height of 25%, 40%, or 60% of the screen, and blade height between 50% and 80%.
  • Edge Trigger Proximity Slider with a 1px–7px range for precise pixel calibration of the edge sensor region.
  • Independent Edge Trigger Placement, which sets the exact trigger strip alignment rather than tying it to the shelf.
  • Real-time collection and drag-out of text, high-resolution images, files, and links into any desktop application.
  • Multi-file selection, so several files can be picked at once and dropped together where they are needed.
  • Stack operations: ungroup and split file packages into individual standalone clipboard cards, or combine and merge multiple clipboard items into a single stack, with a Quick Preview Flyout for zooming high-res images, formatted text, and code.

Who uses it and how

  • Developers who constantly juggle screenshots, code snippets, and file paths between many windows can drag a snippet or a path straight into the editor or terminal that is already open.
  • Design and creative workflows moving high-resolution images and design assets between applications benefit from the Quick Preview Flyout, which inspects an item before it is dropped.
  • File-heavy work gets a batch path: select several files in the shelf and drop them as one group instead of repeating a file picker for each one.
  • Reference gathering works the same way, since links and rich text can be parked in the shelf and dragged into a browser, chat window, or document later.
  • Windows 10 and 11 users who want clipboard history without opening Win+V or navigating a tray menu get the same content through hover alone.

Getting started

Install from the Microsoft Store as an MSIX .appx package, or use the standalone Windows installer, which ships as an NSIS .exe with a built-in auto-updater. To run from source, clone the repository, run npm install, and start it with npm run dev on Node.js v18 or higher, which launches Electron with Vite HMR.

How it compares

The README positions Edge-Drop against the clipboard managers it says break the user's flow, and specifically against Windows' own Win+V history and tray-menu tools: those require a keyboard shortcut or a menu traversal, while Edge-Drop opens on hover and drags content out directly. It is free and open source under Apache-2.0, self-hosted on the user's own machine, and holds clipboard data locally rather than in a hosted account.

When to use it — and when not to

Edge-Drop is Windows-only: the prerequisites state Windows 10 and 11 because it depends on Win32 OLE drag pipelines and transparent-window cursor polling, so macOS and Linux users should not pick it. Packaging can fail with EBUSY: resource busy or locked if an Edge-Drop instance is still running, in which case taskkill /F /IM electron.exe /T clears it first. Development is funded by donations through Ko-fi and UPI rather than a commercial support contract, so anyone who needs a vendor SLA or paid support should look elsewhere.

project readme (upstream, from github) — read inline

Edge-Drop

Zero-click, hover-activated clipboard shelf and desktop file-transfer hub with native OS integration.
Lives invisibly on the screen edge. Approach it, and it springs open. Drag anything out — anywhere.

DownloadWhyDemosFeaturesQuick StartArchitectureSponsorContributing

Get it from Microsoft Store    Download .exe Installer

Microsoft Store Stars Forks Release Tests License Platform

Electron React TypeScript Framer Motion Last commit


Why

Every clipboard manager on the market breaks your flow. You copy something, switch apps, paste, then hunt through Win+V history with arrow keys or dig into a tray menu. Multi-step. Modal. Slow.

Edge-Drop removes the friction. It anchors to the screen edge of your monitor as a transparent, always-on-top, click-through surface. When your cursor approaches the edge, the shelf springs open. Drag images, file stacks, rich text, and HTML bundles out of it — directly into whatever desktop app you're already using. No shortcuts. No window switching. No modal dialogs.

It is built for the developer and creative workflow where you constantly juggle screenshots, code snippets, file paths, design assets, and reference links between many windows at once.


Demos

All demos are fast-loading, silent autoplay loops.

Full Overview: Welcome to Edge-Drop

Zero-click edge-hover activation, fluid spring physics, and seamless drag-and-drop into any desktop app.

Full Overview: Welcome to Edge-Drop


1. Collect Anything
Captures text, high-res images, files, and links in real time.

Collect Anything
2. Drag & Drop Anywhere
Drag items directly into any app or workspace.

Drag & Drop Anywhere
3. Copy Multiple Files
Select several files at once and drop them wherever you need.

Copy Multiple Files
4. Ungroup & Split Stacks
Break file packages into individual standalone clipboard cards.

Ungroup & Split Stacks
5. Combine & Merge Items
Select and merge multiple clipboard items into a single stack.

Combine & Merge Items
6. Quick Preview Flyout
Inspect high-res images, formatted text, and code with zoom.

Quick Preview Flyout

Support & Sponsor

Edge-Drop is 100% free and open-source forever.
If Edge-Drop speeds up your daily workflow, consider supporting ongoing development!

🌍 International (Ko-fi)

🇮🇳 India (UPI)

Buy Me a Coffee on Ko-fi Donate via UPI
* Note: Scanning or clicking the UPI card opens the UPI Donation Page (GPay, PhonePe, Paytm, or any UPI app).

Project Sponsors & Featured Products

A huge thank you to the incredible sponsors and products actively sponsoring Edge-Drop!

Sponsor / Product Links Description
Elitistreview   Elitistreview Website  ·  X  ·  Bluesky When it comes to wine, there is an objective reality out there, and it is on Elitistreview.com.

💡 Want your product, startup, or website featured here and seen by developers? Sponsor Edge-Drop on Ko-fi or UPI and share your link!


Download

Choose your preferred installation method for Windows 10 & 11:

Microsoft Store

Windows Installer

Download from Microsoft Store Download .exe Installer
Automatic background updates & native sandbox Standalone setup with built-in auto-updater

Quick Start

Prerequisites

Run from source

git clone https://github.com/Deepender25/Edge-Drop.git
cd Edge-Drop
npm install
npm run dev          # launches Electron + Vite HMR

Type-check

npm run typecheck    # runs tsc --noEmit against both node and web configs

Build Windows installers

npm run build:github # outputs an NSIS .exe for GitHub releases
npm run build:store  # outputs an MSIX .appx for Microsoft Store submission

[!NOTE] On Windows, if packaging fails with EBUSY: resource busy or locked, close any running Edge-Drop instances first: taskkill /F /IM electron.exe /T.


Features

Zero-click edge hover

Configurable Global Toggle Shortcut

Selective & Filter-Scoped History Clearing

Custom 3D Pastel SVG File Iconography Suite

Windows Snipping Tool & Native Screenshot Integration

Synthesized Web Audio Haptic Suite

Segmented Settings Architecture

Silent Background Auto-Updates

Multi-format clipboard engine

Offline Rich URL Previews & One-Click Launch

Universal Native OS Drag & Drop Vault

Fluid collections & stacks

Complete 31-Language Internationalization & Smart Selector

Laptop Sleep/Wake Guard (powerMonitor)

Customizable Text Size Scale Setting

Multi-File Selection & Obsidian Glass Action Bar

Adaptive Battery Power Optimization

UI / UX & Hardware Compositor Motion


Codebase & Architecture

Process Isolation & IPC Contract

Edge-Drop is organized into three strictly isolated layers:

  1. Main Process (electron/main/): Node.js runtime handling OS integrations, Win32 OLE drag pipelines, Windows DPAPI encryption (safeStorage), native ClipboardWatcher polling, and background auto-updates (updater.ts).
  2. Preload Sandbox (electron/preload/): Context-isolated bridge (contextBridge.exposeInMainWorld('edge', api)). Consumes single-source-of-truth contracts in shared/ipc.ts (InvokeMap, EventMap, SendMap) and shared/bridge.ts (EdgeApi).
  3. Renderer Process (src/): React 19 UI powered by Zustand state management (appStore.ts), Web Audio synthesis (soundEffects.ts), and Framer Motion spring physics (useAdaptiveSpring.ts).

Key Engine Components


Security

Edge-Drop touches the OS clipboard, the filesystem, and the Win32 OLE drag pipeline — so the security posture is intentional, not optional.

Control Implementation
Modern Runtime Electron 34.2.0+ — Patches EOL Chromium memory corruption and RCE vectors
Encrypted Storage Windows DPAPI safeStorage — Plaintext history (items.json) encrypted at rest with user-session DPAPI keys & zero-data-loss auto-migration (.bak backups)
Process Isolation contextIsolation: true · nodeIntegration: false · sandbox: true on all browser windows
PowerShell Hardening Absolute executable path ${SystemRoot}\System32\WindowsPowerShell\v1.0\powershell.exe, non-blocking execFile, strict path validation (pathValidation.ts), and queue deadlock protection
Protocol Confinement edgelocal:// canonical path resolution (path.resolve()) strictly confined within %APPDATA%/Edge-Drop/images/ and SHA-256 ETag revalidation
Detector Teardown Static resources/detector.html (zero data: URL inline scripts) with explicit closed lifecycle memory dereferencing
Typed IPC shared/ipc.ts defines InvokeMap, EventMap, SendMap — channel names and payload types are statically checked on both sides
Privacy-Aware Clipboard Honors ExcludeClipboardContentFromMonitorProcessing, ClipboardViewerIgnore, CanIncludeInClipboardHistory, CanUploadToCloudClipboard, plus 1Password / Bitwarden / KeePass concealed formats
Atomic Persistence JSON index written via temp-file + rename; image bytes stored as per-id PNG files
Dev-Safe Startup app.setLoginItemSettings is gated by app.isPackaged — dev builds never touch the Windows Registry
External Links setWindowOpenHandler forces all window-open requests to shell.openExternal — no in-app navigation

Tech Stack

Layer Choice Why
Desktop runtime Electron 34+ Only way to access Win32 OLE drag pipelines and native clipboard formats from JS
Build tooling electron-vite Separate Main / Preload / Renderer builds with Vite HMR
UI React 19 + TypeScript 5.7 Strongly typed component hierarchy
Audio Web Audio API Synthesized haptic audio feedback (ticks, clicks, pops, thuds) with 0 audio asset overhead
Animation Framer Motion Adaptive spring physics (useAdaptiveSpring), layout transitions, gesture animations
State Zustand Selector-optimized, zero cascading re-renders during drags
Drag icons @resvg/resvg-js Server-side SVG → PNG rendering for custom drag ghosts
Auto-Updates electron-updater Background downloading and single-click installation for GitHub builds

Project Structure

Edge-Drop/
├─ shared/                 Typed IPC contracts & domain models
│  ├─ types.ts             ClipboardItem, Bundle, Settings, DragRequest DTOs
│  ├─ bridge.ts            EdgeApi preload interface
│  └─ ipc.ts               InvokeMap / EventMap / SendMap channel definitions
├─ electron/               Node.js backend & OS integrations
│  ├─ main/
│  │  ├─ index.ts          Single-instance lock, IPC registration, startup
│  │  ├─ window.ts         Frameless window, setIgnoreMouseEvents, cursor poll, Win32 NOACTIVATE
│  │  ├─ updater.ts        Background auto-update engine (electron-updater)
│  │  ├─ tray.ts           System tray icon & context menus
│  │  ├─ fullscreen.ts     Windows SHQueryUserNotificationState game detection
│  │  └─ drag.ts           OLE startDrag, temp-file staging, hover pre-staging, icon generation
│  ├─ preload/             Sandbox bridge exposing window.edge
│  ├─ clipboard/
│  │  ├─ ClipboardWatcher.ts   600ms poll loop, transient-copy rejection
│  │  └─ formats.ts        FNV-1a signatures, Win32 HDROP, spreadsheet parsing, privacy flags
│  └─ store/
│     ├─ ItemStore.ts      Atomic JSON persistence, DPAPI encryption, dedup
│     ├─ settings.ts       User config & startup registration
│     └─ paths.ts          AppData + temp directory resolution
├─ src/                    React renderer
│  ├─ components/          Panel, ItemList, ClipboardItem, SearchBar, Settings, HotkeyRecorder, Icons
│  ├─ hooks/               useEdgeHover (hysteresis), useDragOut, useFilteredItems
│  ├─ lib/                 soundEffects (Web Audio API), theme tokens, format helpers
│  ├─ store/               Zustand appStore
│  └─ styles/              tokens.css, panel.css, settings.css, item.css, global.css

Roadmap

Edge-Drop is in public beta. The following are planned, in rough priority order:


Contributing

Edge-Drop is Apache-2.0 licensed and open to contributions. As a solo-maintained project in active beta, the best ways to help right now are:

  1. File issues for bugs, crashes, or privacy-edge-cases you hit (especially around clipboard format detection on different apps)
  2. macOS porting — Currently Edge-Drop only supports Windows; contributions for a macOS port are welcome
  3. Suggest format readers — if you copy from an app whose content Edge-Drop mis-categorizes, open an issue with the available formats list (clipboard.availableFormats() output)
  4. Pick up a roadmap item — open an issue first to discuss scope, then send a PR against a feature branch

Development workflow

npm install
npm run dev          # Electron + Vite HMR
npm run typecheck    # tsc --noEmit (node + web configs)
npm run build:github # build Windows NSIS installer for GitHub
npm run build:store  # build Windows AppX package for Microsoft Store

License

Apache License 2.0 — see LICENSE. Commercial and non-commercial use, modification, and distribution all permitted with attribution.


Support Edge-Drop on Ko-fi ☕  ·  Star on GitHub ⭐

Frequently asked questions

Is Edge-Drop free to use?

Edge-Drop is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does Edge-Drop do?

Edge-Drop is like a Dynamic Island for your desktop clipboard. It hides on the edge of your screen and opens when you hover near it, letting you easily store an

What is Edge-Drop written in?

Edge-Drop is primarily written in TypeScript. Its source is publicly available at https://github.com/Deepender25/Edge-Drop, and it has 578 GitHub stars.