macOS menu-bar app — free & open source

Point at exactly
what you mean.

Capture your screen, drop numbered markers on what matters, and copy a ready-to-paste prompt for your AI agent — an annotated image plus instructions that reference every marker.

macOS 15+ · Apple Silicon & Intel

Editor — drop markers, write a note, copy for your agent

Editor — drop markers, write a note, copy for your agent

From screen to prompt in three steps

No round-trips, no describing pixels in words.

1

Capture a region

Press ⌘⇧1 and drag a rectangle. Native resolution, multi-display and Retina aware.

2

Drop numbered markers

Click to place pins and add a note to each. Add arrows and rectangles for emphasis.

3

Copy for your agent

⌘C copies the annotated image and a structured text that references every marker — and drops the same three files at a stable path your agent can read on its own.

Built to be precise

Everything you need to point an agent at the right pixel.

Accessibility context

Each marker also carries what macOS knows about the element under it — role, label, owning app and its frame.

On-device text reading

Vision reads the text under each marker — errors, class names, log lines — and it travels with the capture.

Redaction

Drag over a token or a secret before it ships. Hidden in the image, the text and the accessibility context alike.

Undo, redo, still editable

⌘Z through any change. Markers, arrows and rectangles stay selectable, movable and resizable after you drop them.

Window capture

Hold Space while dragging to snap the selection to a window instead of drawing it freehand.

Markers, arrows & rectangles

Ringed, numbered pins in three styles, plus arrows and rectangles for emphasis, drawn straight on the capture.

Legend baked in

Optionally embed the marker descriptions and instructions into the image, so a single paste carries everything.

The shelf

Browse, search, favorite and reopen your screenshots from a built-in library.

Native & private

SwiftUI + ScreenCaptureKit, living in your menu bar. Captures, OCR reads and accessibility context stay on your Mac.

A closer look

A native menu-bar companion — capture, organize, and tune it to the way you work.

The shelf — every screenshot in one browsable library you can favorite, sort and reopen.
The shelf — every screenshot in one browsable library you can favorite, sort and reopen.
Settings — rebind the global shortcuts, pick one of three marker styles, and bake the legend into the image.
Settings — rebind the global shortcuts, pick one of three marker styles, and bake the legend into the image.
Made for AI agents

The file your agent reads directly

Every copy also writes capture.png, capture.md and capture.json to a stable path — because Claude Code and most MCP clients don’t render inline images (the upstream bug was closed “not planned”), so a file an agent opens itself is the channel that actually works. capture.md lists each marker’s position in pixels and percent, the accessibility element found under it — role, label, owning app — and whatever text was read there on device. None of it depends on a page’s DOM, so it reads the same in any app.

capture.md
# Annotated capture — 1720×1046 px

An image is attached. Numbered (ringed) badges point to specific elements.
Positions are given in pixels from the top-left corner (0, 0), then as a percentage of the image size.

## Markers
M1, M2… are the numbers drawn on the image; the code in brackets is a stable ID for that marker.
“UI” lines name the interface element found under the marker in the macOS accessibility tree at capture time — its role, its label, the app owning it, and its box in this image. “Path” is the chain of containers around it.
“Text” lines are what Pinpoint read in the pixels under the marker, on this Mac. A marker’s description may have been pre-filled from such a read and then edited by the user.

- M1 [5a5421] · overflows its card at this width — (1264, 127) px · (74 %, 12 %)
  - UI: AXButton “Export CSV” · id=export-csv · com.apple.Safari · box (1178, 99) 162×52 px
  - Path: AXWindow “Orders — Admin” › AXButton “Export CSV”
- M2 [010661] · error stays after a valid range is picked — (249, 254) px · (14 %, 24 %)
  - UI: AXWindow “Orders — Admin” · com.apple.Safari · box (0, 0) 1720×1046 px
  - Path: AXWindow “Orders — Admin”
  - Text: “Invalid date range: end must be after start”

## Task — Bug
The markers point at a defect. Find its cause before proposing anything: locate the code that produces what is marked, explain why it behaves this way, then propose the smallest change that addresses the cause rather than the symptom. If the capture isn’t enough to be sure, say what you would need to look at.

## Instructions
The Export CSV button overflows its card at this width, and the date-range error stays on screen after picking a valid range.

Reachable without the editor too: `pinpoint capture` from a script or a hook, or `pinpoint mcp` as a stdio MCP server exposing capture_region, get_last_capture and list_recent.

Pinpoint

Get Pinpoint

Free and open source. Notarized and signed with a Developer ID.

Or install with Homebrew

brew install --cask croustibat/tap/pinpoint

macOS 15 or later · Apple Silicon & Intel