capcap

May 27, 2026 · View on GitHub

capcap

简体中文  ·  繁體中文

The fastest way to grab, mark up, and share screenshots on macOS. Double-tap from anywhere — snap to a window, drag a region, scroll-stitch a long page, then annotate and beautify in one tight floating window. Lives in your menu bar. No Dock icon, no telemetry, no subscription, no third-party dependencies. Bring your own object storage if you want a one-click cloud URL.

capcap annotation editor — arrows, numbered callouts, mosaic, highlighter and text layered on a screenshot in a single floating toolbar

Download Latest Release  ·  Install with Homebrew  ·  macOS 14+  ·  Universal (Apple Silicon + Intel)

Why capcap

  • One shortcut, zero friction. Double-tap anywhere and capcap is on screen in milliseconds — or record any global hotkey you like.
  • Snap-to-window or pixel-perfect region. Hover any window for a one-click capture, or drag a region with full Retina output across every connected display.
  • A real annotation editor. Arrows, numbered callouts, text, mosaic, highlighter, pen — all editable, draggable, rotatable and undoable after you place them.
  • Scroll-stitch long content. Capture a scrolling area, watch the stitched preview live, and keep editing the merged result.
  • Beautify and pin. Wrap shots in gradient or wallpaper backgrounds with rounded corners and shadow, or pin the final image floating above any window.
  • Edit Finder images too. Select a single image file in Finder and trigger the same shortcut to load it straight into the editor — the original is never touched.
  • Menu bar history. Recent screenshots and picked colors are one click away from re-copying — local-only, configurable size.
  • One-click upload to your own image host. Optional: configure Tencent COS, Qiniu Kodo, or Aliyun OSS once and the editor's upload button copies a public URL straight to your clipboard. Credentials stay on your Mac.
  • Built with pure AppKit. No SwiftUI, no Electron, no telemetry. Small, fast, and respectful of macOS.

Showcase

Smart window detection — green dashed bounds snap to an app window
Snap to any window in one click
No precise dragging — capcap detects window bounds for you.
Menu bar history with screenshot thumbnails and picked color hex codes
History at the menu bar
Re-copy any recent screenshot or picked hex color in a click.
Scroll capture stitching a long page into a single tall screenshot with live preview
Scroll-stitch long pages
Scroll inside the selection, watch frames merge live, and keep editing the result.
Beautify mode wrapping a screenshot in a gradient background with rounded corners and shadow
Beautify in one click
Gradient or wallpaper backgrounds, rounded corners, shadow and padding — all adjustable.
Settings panel showing Tencent COS, Qiniu Kodo, and Aliyun OSS image-host providers, with Aliyun OSS marked as default
Bring-your-own image host
Configure Tencent COS, Qiniu Kodo, or Aliyun OSS once — upload the current screenshot and copy its public URL with a single click.

Features

  • Edit any image directly — select a single image file in Finder (Desktop or any window) and trigger the screenshot shortcut to open that image in the annotation editor instead of taking a screenshot. The original file is never modified; the edited result goes to the clipboard and history like a normal capture.
  • Fast region and window capture — drag any area, or hover and click a detected window to snap to its bounds.
  • Multi-display support — creates overlays on every connected screen and captures at full Retina resolution.
  • Full annotation editor — rectangle, ellipse, arrow, pen, highlighter, mosaic, numbered callouts, and text.
  • Editable annotations — move existing marks, change color and size, rotate supported annotations, bend arrows/callouts, edit text, delete marks, and use undo/redo.
  • Scroll capture — capture a selected scrolling area, preview the stitched image live, and merge it back into the editor.
  • Beautify mode — wrap screenshots in rounded corners, soft shadow, gradient presets, wallpaper background, and adjustable padding.
  • Color picker — use the macOS color sampler, copy the picked hex value, and keep it in history.
  • Pin to screen — float the current screenshot above other windows as a draggable reference image.
  • Save or copy — save as PNG, confirm to copy PNG/TIFF data to the clipboard, or cancel without output.
  • Recent history — menu bar history with thumbnails and picked colors for quick re-copy, with a configurable cache size.
  • Image-host upload — optional one-click upload to Tencent COS, Qiniu Kodo, or Aliyun OSS; the public URL is copied to the clipboard and stored alongside the thumbnail in History. Credentials live only in your local UserDefaults; pick one provider as the default and the editor's upload button lights up.
  • Custom trigger — use the default double-tap , or record a custom global shortcut in Settings.
  • Settings and localization — Chinese/English UI, menu bar icon toggle, launch at login, demo mode, permission status, shortcut recording, and history cache size.
  • Menu bar app — runs as an agent app without a Dock icon.

Requirements

  • macOS 14.0+
  • Accessibility permission, used for the default double-tap trigger
  • Screen Recording permission, used by ScreenCaptureKit and screenshot capture
  • Automation permission for Finder, requested on first use of the "edit selected image" shortcut

On first launch, capcap opens a setup window that shows both permission states. The app can launch once both required permissions are granted.

Install with Homebrew

The Homebrew cask lives in the shared realskyrin/tap Homebrew tap:

brew tap realskyrin/tap
brew install --cask realskyrin/tap/capcap

See the homebrew-tap README for tap maintenance.

Build from Source

# Build and bundle build/capcap.app
./scripts/bundle.sh

For local development, this script rebuilds the app, kills any running instance, launches the new bundle, and verifies that it started:

bash scripts/rebuild-and-open.sh

To package a draggable DMG:

scripts/package-dmg.sh

The app bundle is output to build/capcap.app; DMGs are output to dist/.

Usage

  1. Double-tap ⌘ Command, press your custom shortcut, or choose Take Screenshot from the menu bar.
  2. Hover a window and click to capture it, or drag to select any region.
  3. Use the floating toolbar to annotate, pick a color, start scroll capture, beautify, save, pin, cancel, or confirm.
  4. Click the green checkmark or press Enter to copy the final image to the clipboard. Press Esc or click x to cancel.

To edit an existing image instead of taking a screenshot, click a single image file in Finder (so it's the current Finder selection), then trigger the same shortcut. capcap copies the file into a temporary working location and opens it in the editor with the toolbar already up. If anything other than exactly one image is selected, the shortcut behaves as a normal screenshot trigger.

Editor Tools

ToolWhat it does
Rectangle / EllipseDraw outlined shapes with selectable colors and stroke widths
ArrowDraw straight arrows; select an arrow later to move endpoints or bend the shaft
PenDraw smoothed freehand strokes
HighlighterDraw semi-transparent marker strokes without darkening overlaps
MosaicBrush pixelated regions over sensitive content, with adjustable block size
NumberedAdd incrementing callout badges; drag while placing to add an arrow
TextAdd editable single-line text with color and 10-100 pt size controls
EyedropperPick any screen color and copy its #RRGGBB value
Undo / RedoRevert and restore editor changes
Move SelectionDrag the whole selected screenshot region after selection
Scroll CaptureScroll inside the selected area, stitch frames, and continue editing the merged result
BeautifyAdd gradient or wallpaper backgrounds, rounded corners, shadow, and padding
SaveSave the current result as a PNG
PinKeep the current result floating above other windows
UploadUpload the current result to the configured image host and copy the public URL
ConfirmCopy the final result to the clipboard

When an annotation is selected, capcap shows adjustment handles where supported: rotation for shapes, strokes, and text; curve handles for arrows and numbered callouts; endpoint handles for arrows; and edit/delete actions for text and selected annotations.

Settings

Open Settings from the menu bar to configure:

  • Language: Chinese or English
  • Menu bar icon visibility
  • Launch at login
  • Demo Mode, which allows external screen recorders to capture capcap's overlay and editor
  • Screenshot shortcut: keep double-tap , record a custom shortcut, or restore the default
  • History cache size, from 5 to 20 recent screenshots/colors
  • Image-host upload: enable Tencent COS, Qiniu Kodo, or Aliyun OSS, fill in their credentials, and pick which one is the default for the editor's upload button
  • Accessibility and Screen Recording permission shortcuts

History

The menu bar History submenu stores recent screenshots and picked colors in ~/Library/Application Support/capcap/History. Click an image entry to copy it back to the clipboard, click a color entry to copy its hex value, or clear the full history from the submenu.

macOS Verification Warning

If macOS shows a warning like Apple cannot verify "capcap" is free of malware, remove the quarantine flag from the app bundle you trust, then open it again:

xattr -dr com.apple.quarantine /Applications/capcap.app

If you are running a locally built copy instead of the app in /Applications, replace the path with your actual app location, for example:

xattr -dr com.apple.quarantine ./build/capcap.app

Only do this for builds downloaded from this repository or ones you built yourself.

Project Structure

  • capcap/App/ — app entry point, delegate, and bundle metadata
  • capcap/Capture/ — overlay, selection, window detection, ScreenCaptureKit capture, scroll stitching, clipboard, and history
  • capcap/Editor/ — annotation models, editor canvas, floating toolbar, beautify rendering, mosaic, scroll preview, and pin windows
  • capcap/Trigger/ — double-tap monitor and custom Carbon hotkey registration
  • capcap/UI/ — menu bar controller, toast, cursor chip, and tooltips
  • capcap/Settings/ — startup/settings window and preferences UI
  • capcap/Upload/ — image-host providers (Tencent COS, Qiniu Kodo, Aliyun OSS), HMAC signing, progress-tracking HTTP wrapper, and the floating upload chip
  • capcap/Utilities/ — defaults, localization, and launch-at-login support
  • scripts/ — compile check, bundle, rebuild/open, icon, and DMG helpers

Development

# Fast compile validation for Swift-affecting changes
bash scripts/compile-check.sh

# Build, restart, and verify the local app
bash scripts/rebuild-and-open.sh

Acknowledgments

Thanks to the Linux.do community for testing, feedback, and discussion.

Third-Party Licenses

License

MIT