CleanShot X

cleanshot.comcontributed by Samuele Ongaro

YES

Replaceable in one session with an AI coding agent.

Screen capture for macOS with the workflow attached: capture, annotate immediately, and get a shareable link, plus recording and scrolling capture.

Promptfree, for everyone, and the only version there is
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

$0

Screenshot tool with an annotation editor and custom upload targets.

flameshot-org/flameshotfree · open source

ShareX

$0

Windows 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

Interest · last 30 dayspeak 2/day
views01230 Aug4 Sept9 Sept14 Sept19 Sept24 Sept28 Sept
— views— prompt copies none yet— votes none yet

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

All 26 in Screen recording & video

Not sending yet

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

Esc