PureClip is a lightweight macOS menu-bar utility that converts the clipboard to plain text.
It keeps indentation intact, strips rich-text styling, and gives you a single hotkey to clean the clipboard before pasting into editors like Word or Outlook.
- Runs as a menu-bar app on macOS 13 Ventura or newer
- Cleans the clipboard to plain text while preserving line breaks and tabs
- Configurable global shortcut, Notifications, and detab mode: expand tabs to 2/4/8 spaces for code-friendly pastes
- Multiple language support: English, Spanish (Español), French (Français), German (Deutsch), Japanese (日本語), Chinese Simplified (简体中文)
- Zero external dependencies — built entirely with SwiftUI + AppKit
- Currently, Apple Silicon (arm64) only
- Download the latest
PureClip.dmgfrom Releases - Open the DMG and drag PureClip to your Applications folder
- First launch: Right-click PureClip and select "Open" (required due to unsigned app)
- Click "Open" when prompted about an app from an unidentified developer
- Access the app via the menu-bar icon
- Default hotkey: ⌥⌘V (change in Preferences…)
- Preferences allow you to:
- Toggle notifications when the clipboard is cleaned
- Choose whether to expand tabs (Off / 2 / 4 / 8 spaces)
- Reassign the global shortcut or reset to default
- Ensure you have Xcode 15 (or newer) with Swift 5.9+
- Clone this repository
- Open
PureClip.xcodeprojin Xcode - Select your Apple ID in Signing & Capabilities (Team dropdown)
- Build and run (
⌘R)
# Build to a local directory
xcodebuild -project PureClip.xcodeproj -scheme PureClip -configuration Release \
-derivedDataPath ./build clean build
# The app will be in: ./build/Build/Products/Release/PureClip.appYou can then drag PureClip.app to /Applications to install.
PureClip is open-source and distributed without Apple Developer Program enrollment. macOS will show a warning on first launch. This is normal for unsigned apps. After the first "right-click → Open", the app will launch normally.
The test target requires macOS 14.0+ (while the app itself supports macOS 13.5+). This is because Xcode's XCTest framework requires macOS 14.
⌘U (Command-U) to run all tests
xcodebuild test \
-project PureClip.xcodeproj \
-scheme PureClip \
-destination 'platform=macOS'-
Update the version number:
- Open
PureClip.xcodeprojin Xcode - Select the PureClip project in the navigator
- Select the PureClip target
- Go to the General tab → Identity section
- Update Version (e.g., from
1.0to1.1) - Update
CHANGELOG.mdwith the new version and changes
- Open
-
Install create-dmg (one-time setup):
brew install create-dmg
-
Build the Release version:
xcodebuild -project PureClip.xcodeproj -scheme PureClip -configuration Release \ -derivedDataPath ./build clean build
-
Prepare a clean staging directory (excludes debug symbols and build artifacts):
rm -rf ./dmg-staging mkdir -p ./dmg-staging cp -R ./build/Build/Products/Release/PureClip.app ./dmg-staging/
-
Create a DMG:
create-dmg \ --volname "PureClip" \ --volicon "Resources/AppIcon.icns" \ --window-pos 200 120 \ --window-size 600 400 \ --icon-size 100 \ --icon "PureClip.app" 175 190 \ --hide-extension "PureClip.app" \ --app-drop-link 425 190 \ --no-internet-enable \ "PureClip.dmg" \ "./dmg-staging/"
-
Clean up:
rm -rf ./dmg-staging
-
Upload to GitHub Releases:
- Go to the repository's Releases page
- Click "Draft a new release"
- Tag version (e.g.,
v1.0.0) - Upload the
PureClip.dmgfile - Publish release
- App icon by Google Fonts Icons & IconKitchen
- Created with OpenAI Codex & Claude Code
This project is released under the MIT License. See LICENSE for details.

