DEV Community

Eduardo Revilla Vaquero
Eduardo Revilla Vaquero

Posted on

I built a clipboard manager for macOS that replaces 5 different tools

As a developer I was tired of switching between tools every time I needed to process something I copied. Format JSON? Open a website. Encode Base64? Another tab. Resize an image? Open Preview. Convert a hex color? Google it. So I built ClipMason, a clipboard manager for macOS that detects what you copy and offers contextual actions right there.

How it works

ClipMason lives in the menu bar. Every time you copy something, it detects the content type and shows relevant actions.

Text (22+ actions)

Case conversion: uppercase, lowercase, Title Case, camelCase, snake_case, kebab-case

Encoding: Base64, URL encode/decode

Formatting: JSON pretty print, JSON minify

Hashing: MD5, SHA-256

Lines: sort A-Z/Z-A, remove duplicates, remove blank lines

Stats: character, word, and line count

Images

Resize with precise control (percentage or exact pixel dimensions)

Rotate, flip, grayscale, invert colors

Annotate with drawings

Extract text with OCR

Export as PNG or JPEG

Colors
Copy a hex string like #FF5733? ClipMason detects it automatically and lets you convert to HEX, RGB, HSL, SwiftUI Color or CSS format.

URLs

Open in browser

Extract domain

Convert to Markdown link

Files

Open with default app

Reveal in Finder

Copy path for terminal use

Tech stack

SwiftUI for the UI, SwiftData for persistence, Swift 6 with strict concurrency. macOS 14+ native app, no Electron. 16 languages supported. Everything runs locally. No cloud, no tracking, no subscription.

What I learned building it

The hardest part was clipboard type detection. macOS puts multiple representations on the pasteboard simultaneously—for example, copying a file also puts a PNG icon on the clipboard. Getting the detection order right was tricky.

Another challenge was image resizing on Retina displays. Using lockFocus() creates a 2x backing store, so a 100x100 resize produced 200x200. Switching to explicit NSBitmapImageRep with pixel dimensions fixed it.

ClipMason is available on the Mac App Store as a one-time purchase. I'd love to hear what actions you'd find useful—I'm actively adding features based on feedback.

Top comments (0)