At a glance
- Nine notations, any direction: HEX, RGB, RGBA, HSL, SwiftUI
Color,UIColor,NSColor, CSS variable, Tailwind class. - No input format to set: detection reads what you copied, including a Swift initializer.
- Runs where you paste: the popup you already opened, in Xcode, VS Code, Figma or Slack.
- Offline and local-first: the clipboard stays on the Mac, no page load, no request.
- One-time $19.99, free tier included, updates included.
Every notation, both directions
Detection happens on copy, not on paste, so the chip row is already built before you open the popup. That also means a color pasted inside a longer string is left alone. Klipto matches the value, not a fragment of a sentence.
The set is fixed, and I kept it that way on purpose. Nine formats cover CSS, Swift and Tailwind work. A dropdown of forty color spaces would be slower to use than typing the value by hand.
| Format | Same color |
|---|---|
| HEX | #FF5733 |
| RGB | rgb(255, 87, 51) |
| RGBA | rgba(255, 87, 51, 1.0) |
| HSL | hsl(11, 100%, 60%) |
| SwiftUI Color | Color(red: 1.00, green: 0.34, blue: 0.20) |
| UIColor | UIColor(red: 1.00, green: 0.34, blue: 0.20, alpha: 1.0) |
| NSColor | NSColor(red: 1.00, green: 0.34, blue: 0.20, alpha: 1.0) |
| CSS variable | --color: #FF5733; |
| Tailwind | text-[#FF5733] |
HEX packs each channel into two base-16 digits, 00 through FF. RGB writes the same three channels as decimals. HSL describes the color as hue, saturation and lightness instead. One color, several spellings, and the file you are editing cares which one you use.
What the Apple and Tailwind output really gives you
The NSColor initializer has a catch, and I would rather say it here. NSColor(red:green:blue:alpha:) builds the color in the deviceRGB space. That is not sRGB, and on a wide-gamut display the same three numbers show up as a visibly different color. If your project is color-managed, paste the initializer and switch it to NSColor(srgbRed:...). Klipto does not guess which space you meant.
The Tailwind chip gives the arbitrary-value form, text-[#FF5733], carrying your exact HEX. It does not snap to the nearest name in the default palette. That is deliberate. A design token is usually exact, and quietly rounding #FF5733 to orange-500 would ship the wrong color.
The SwiftUI and UIKit chips are the ones I use most. Color(red:green:blue:) pastes straight into a view with the channels already divided by 255, so there is no Color(hex:) extension to copy into the project again.
Nothing opens, nothing uploads
A web converter takes the same five steps every time. Copy, open the tab, paste, copy the result, go back. Klipto folds that into the paste you were already making, offline, in any app. Type detection also drives JSON and code transforms and the rest of the 22 content types Klipto recognizes.
For a one-off value with no app installed, try it free in your browser.