Convert any color format on paste — HEX, RGB, HSL, SwiftUI

Copy a color in any format and paste it in another with one tap — HEX, RGB, HSL, SwiftUI, UIColor, Tailwind — offline, in your clipboard.

Klipto rewrites a copied color into any other notation at the moment you paste it. Copy #FF5733 off a Figma layer and paste rgb(255, 87, 51) into a stylesheet, or Color(red: 1.00, green: 0.34, blue: 0.20) into a SwiftUI view.

I added this because the round trip annoyed me. Design hands you HEX, the CSS file wants a variable, the Swift file wants channels scaled from 0 to 1, and every conversion meant a browser tab. Klipto reads the format you copied and puts the others in the paste preview as chips. Tap one, press ⌘V.

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.

FormatSame color
HEX#FF5733
RGBrgb(255, 87, 51)
RGBArgba(255, 87, 51, 1.0)
HSLhsl(11, 100%, 60%)
SwiftUI ColorColor(red: 1.00, green: 0.34, blue: 0.20)
UIColorUIColor(red: 1.00, green: 0.34, blue: 0.20, alpha: 1.0)
NSColorNSColor(red: 1.00, green: 0.34, blue: 0.20, alpha: 1.0)
CSS variable--color: #FF5733;
Tailwindtext-[#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.

Frequently asked questions

Is there a color converter for Mac that works offline?

Yes. Klipto converts on-device, with no page load and no network request. Copy a color, tap a format chip in the paste preview, and paste the result into any app.

Do I have to tell Klipto which format I copied?

No. It reads the copied value, so a HEX code, an hsl() string or a SwiftUI Color(...) all produce the same chip row of the remaining formats.

How do I get a SwiftUI Color from a copied HEX code?

Copy the HEX, then tap the SwiftUI chip. You paste Color(red: 1.00, green: 0.34, blue: 0.20) with the channels already converted, so no Color(hex:) helper is needed.

Why does my pasted NSColor look slightly wrong?

NSColor(red:green:blue:alpha:) uses deviceRGB, which differs from sRGB on wide-gamut screens. Change it to NSColor(srgbRed:...) and the color matches the HEX you copied.

Does Klipto find the closest Tailwind palette color?

No. It writes the arbitrary-value class text-[#FF5733] with your exact HEX, rather than rounding to a palette name you did not choose.

Which format should I paste?

Whatever the target expects. HEX or a CSS variable in stylesheets, rgb() or hsl() when you want to tweak channels, Color/UIColor/NSColor in Swift, a Tailwind class in Tailwind markup.

Does the conversion send my clipboard anywhere?

No. Klipto is local-first. The value is converted on your Mac, and the app touches the network only to check for updates.

Get Klipto for Mac

Free for 14 days · no card, no account required · 5 MB

Download Klipto