Screen capture for macOS with the workflow attached: capture, annotate immediately, and get a shareable link, plus recording and scrolling capture.
Build me a screen capture tool that replaces CleanShot X: capture, annotate straight away, and a link ready to paste before I have finished thinking. STACK - The app: Swift and AppKit for macOS, or Electron with native modules if cross-platform matters more than feel. Native is the right answer here — this tool lives in a keyboard shortcut and a millisecond of lag is felt - ScreenCaptureKit for capture on modern macOS, AVFoundation for recording - The upload server: Node 20+ with Fastify, SQLite through better-sqlite3 - Caddy in front THE CAPTURE - Global shortcuts for: area, window, full screen, last area again, and record. Repeating the last area is the one people use most and the one that is usually missing - Area selection with the dimensions shown, snapping to window edges, adjustable before confirming, and a magnifier at the cursor for pixel-accurate edges - Window capture that includes the shadow or excludes it, chosen in settings, and captures the window even if it is partly behind another - Scrolling capture: capture, scroll, capture, and stitch. Match on overlapping rows by correlation, not by a fixed scroll amount, or the seams show. Detect and exclude fixed headers, which otherwise repeat down the stitched image. This is the hardest thing in the tool and the reason people pay for it - Capture at the display's real resolution and keep the scale factor in the file, so a retina capture is not a blurry mess when pasted somewhere else - Timer and delayed capture for menus, and a mode that keeps a menu open while you select THE ANNOTATION EDITOR - Opens instantly, with the capture already in it. Not a file dialogue, not a spinner. If it takes longer than a blink the workflow is broken - Tools: arrow, rectangle, ellipse, line, freehand, text, numbered step markers, highlighter, blur and pixelate, crop - Everything is an object on a layer until it is flattened: move it, restyle it, delete it, undo it. An annotation you cannot adjust means starting the capture again - Colour, thickness and font remembered per tool - Redaction that actually redacts: the pixels underneath are destroyed in the exported file, not covered by a shape in a format that can be peeled off. This is how people leak things - Automatic redaction offered for anything that looks like an email address, a card number or a token, found by pattern in the OCR text - Background, padding, rounded corners and a shadow for the pretty screenshots people put in documentation RECORDING - Screen or window, with the cursor optionally highlighted and clicks shown as a ripple - Microphone and system audio, with a level meter and the ability to record neither - Export as MP4 for sharing and GIF for a short loop, with the GIF encoder given a proper palette rather than the default one - Trim the start and end, and cut a section from the middle - A hard cap on length and file size, with the remaining disk shown SHARING - Upload to my own server and copy a short link to the clipboard, all in one action, with the link ready before the upload finishes where possible by allocating the identifier first - Local-only mode where nothing leaves the machine, and it is obvious which mode you are in - Links can expire, be password-protected, and be deleted from the app - The page a link opens is a plain HTML page with the image, its dimensions and a download button. No account needed to view THE SERVER - uploads: id, slug, kind, path, sha256, bytes, width, height, duration_ms, expires_at, password_hash, views, created_at, deleted_at - Signed upload from the app with a device token; nothing anonymous - Files stored outside the web root and served through a handler that checks expiry and password - Deletion is real, on disk and in the row - Disk quota per device and a global watchdog THE REST OF IT - Every capture also saved locally to a folder with a template-named file, so nothing depends on the upload - History browsable in the app with search over OCR text — recognised on device, never sent anywhere - Copy to clipboard as an image, always, as well as the link - Preferences for format, quality, filename template, shortcut and default destination OPERATIONS - .env: DATABASE_PATH, STORAGE_PATH, BASE_URL, SIGNING_SECRET, MAX_UPLOAD_BYTES - Migrations on boot, each once - Nightly backup, restore script - Health endpoint WHAT MATTERS MOST Speed to the editor and real redaction. Get from shortcut to annotated capture in under a second, and make sure a blurred region is destroyed rather than covered. Then do scrolling capture, which is a fortnight on its own and is what actually distinguishes the product. Give me the app, the server, migrations, .env.example, and a README with build steps, the permissions macOS requires, and deploy steps behind Caddy.
What you lose
- Scrolling capture that stitches a long page without visible seams
- An annotation editor that opens instantly with the capture already in it
- Cloud upload with a short link, ready to paste before you have finished thinking
- Screen recording with cursor highlighting and click effects
- Small touches — hiding desktop icons, freezing the screen while selecting — that add up
If you would rather not build
- Shottr — cheaper macOS alternative, one-off purchase
- Xnapper — paid, focused on beautifying screenshots
The escape hatch
open source · no votes, no paid placement
Flameshot
$0Screenshot tool with an annotation editor and custom upload targets.
flameshot-org/flameshotfree · open source
ShareX
$0Windows capture and upload tool with a very large set of destinations.
ShareX/ShareXfree · open source
Why this verdict
our own opinion · changed only by a person
81/100
Verdict yes at 81: ScreenCaptureKit does the capture and the rest is an editor and an upload, which is one session. The blur note matters — a translucent rectangle is not redaction, and plenty of shipped tools have leaked text that way.
History
tracked since 9 Aug 2026 · nothing is ever overwritten
Questions about CleanShot X
answered from the record above
Is CleanShot X free?
Bought once at $29 for the app, with an optional $10/month Cloud Pro for hosted uploads. Recorded as no monthly price because the app itself is a one-off.
Can you replace CleanShot X by building your own?
YES. Replaceable in one session with an AI coding agent. Replacement score 81 out of 100, build time one session. Read what you lose before you decide.
How much does CleanShot X cost?
CleanShot X has no public headline price. The tier we track is One-off.
What do you lose by replacing CleanShot X?
Scrolling capture that stitches a long page without visible seams; An annotation editor that opens instantly with the capture already in it; Cloud upload with a short link, ready to paste before you have finished thinking; Screen recording with cursor highlighting and click effects; Small touches — hiding desktop icons, freezing the screen while selecting — that add up. If any of those carry weight for you, keep paying.
Is there an open-source alternative to CleanShot X?
Yes: Flameshot, ShareX. The prompt on this page is for when you want it your way instead.
Related entries
same category first, most replaced first
Every week, something stops being worth paying for.
New verdicts, prices that moved, entries added. One email a week. Unsubscribe in one click. Nothing is being sent yet — your address is kept here, and the first issue is the first thing it is used for.
free forever · no tracking pixel · stored here, never passed to anyone

