What It Does

The motivating use case: copying one column out of an HTML table in an email. The boring solution is to copy the whole table, paste it somewhere, and trim it back to the column you wanted. CopyLens makes “this column I’m looking at” the same gesture as “this whole table” — you just draw a tighter box.

Hit your shortcut, drag a rectangle, release. A transparent overlay covers every connected display while you draw. CopyLens captures that rectangle at native pixel density via ScreenCaptureKit and runs Apple’s Vision framework over it. You get one of two outcomes:

Because the gesture is the same regardless of content, you don’t have to decide ahead of time whether you want text or an image. Draw the box; CopyLens does the right thing.

Two Gestures, Same Hotkey

One column from a table. Draw a tight rectangle that covers just one column’s width. Vision only sees text inside the rectangle, so the result is exactly that column — top to bottom, one line per row, plain text. Paste anywhere. Tables in Mail, in browser pages, in PDFs, in screenshots-of-PDFs — all the same gesture.

A region of a diagram. Draw a rectangle around a chart, a panel of an image, a UI mockup. Vision finds no text (or filters out as noise anything it does), so CopyLens drops the cropped image on the clipboard instead. Paste into Notes, into a message, into a Keynote slide.

Controls

ActionResult
controloptionshiftcommand\Open the selection overlay (default hotkey — configurable). Pairs naturally with HyperCaps as Hyper-\.
DragDraw a rectangle around the content you want to capture
Release mouseCommit the capture
escapeCancel without capturing

A brief HUD confirms which path ran (“Copied 247 chars” / “Copied image 320×180”). Both outputs are paste-targetable immediately.

Multi-Display

The overlay covers every connected screen at once; you can drag your rectangle starting on whichever screen you’re working on. The capture is taken from the screen containing the rectangle’s midpoint, so a rectangle that physically straddles two screens captures from the screen it’s mostly on — a deliberate simplification, since straddling captures are rare enough not to warrant the per-display composition cost.

Settings

Right-click the menu bar icon and choose Settings… to configure:

All settings persist immediately, no Save/OK button.

Auto-updates are handled by Sparkle. Use the “Check for Updates…” menu item to check on demand; Sparkle’s prompt offers an “Automatically download and install updates in the future” checkbox the first time an update is available. CopyLens checks for new versions automatically once a day in the background.

Permissions

Screen Recording is the only permission CopyLens requests — it has to read pixels off your screen to OCR them; macOS prompts on first capture.

Accessibility is not required. The hotkey uses Carbon’s RegisterEventHotKey, which doesn’t need AX.

Privacy

Installation

Two formats on every release — both signed and notarised, pick whichever suits:

After installation, launch CopyLens and grant Screen Recording permission when prompted.

Building from Source

CopyLens builds via the shared Jorvik release.mk. With the jorvik-release sibling repo cloned alongside it and GNU Make 4 installed:

  1. Clone the repo: git clone https://github.com/PerpetualBeta/CopyLens.git
  2. Local install (signed with the Jorvik Developer ID): gmake dev-build
  3. Run the freshly-built copy: gmake run
  4. Signed, notarised, stapled .zip + .pkg ready to ship: gmake release

Requirements

macOS 14 (Sonoma) or later. Universal binary (Apple Silicon and Intel).