- Eyedropper — Pick any color from your screen with a global hotkey
- Palette extraction — Select a screen region and extract its dominant colors
- 12 color formats — Copy as Hex, RGB, HSL, HSB, OKLCH, SwiftUI, NSColor, UIColor, and more
- Color history — Browse and re-copy recently picked colors
- Saved palettes — Name, organize, and revisit extracted palettes
- Export — Export palettes as CSS variables, Tailwind config, JSON, or plain hex
- macOS 13.0+
- Screen Recording permission (the app will prompt you on first use)
Or go to the Releases page and grab the .dmg file from the latest release — that's the only file you need. You can safely ignore the other files.
Since Peeler is not notarized, macOS may block it on first launch. To fix this, run:
xattr -rd com.apple.quarantine /Applications/Peeler.appThen open the app normally.
| Action | Shortcut |
|---|---|
| Pick a color | Cmd + Shift + C |
| Extract palette | Cmd + Shift + X |
Right-click the menu bar icon for History, Palettes, Settings, and Quit.
Requires Xcode 15+ and Swift 6.0.
# Run in debug mode
swift run
# Build the .app bundle
bash scripts/build-app.sh
# Package into a DMG
bash scripts/create-dmg.sh
# Package a Sparkle update ZIP
bash scripts/create-update-archive.sh
# Generate appcast.xml for published updates
bash scripts/generate-appcast.shBuild output goes to build/Peeler.app, build/Peeler-1.0.0.dmg, and build/updates/.
Peeler now uses Sparkle for in-app updates.
- Generate an EdDSA key pair with Sparkle's
generate_keystool. - Replace
SUPublicEDKeyinSources/Peeler/Resources/Info.plistwith your public key. - Build the app bundle with
bash scripts/build-app.sh. - Create the update ZIP with
bash scripts/create-update-archive.sh. - Run
bash scripts/generate-appcast.shto generateappcast.xml. - Upload the ZIP and
appcast.xmlto the host used bySUFeedURL.
By default SUFeedURL points to:
https://github.com/GithubAnant/peeler/releases/latest/download/appcast.xml
If you host updates elsewhere, change SUFeedURL in Sources/Peeler/Resources/Info.plist.
Please read CONTRIBUTING.md before submitting pull requests.