Try it: hover the design, then click any text to fix it.
[]zoom−+⇧ scrollbadge⌘ scrollstrip
Works over Figma, Affinity, Adobe apps, browsers, slide decks and the product you shipped.
Check. Fix. Keep creating.
One shortcut. Two clicks.
01
Pick background
⌥⇧C
Pick the background
Press ⌥⇧C (Ctrl+Alt+C on Windows and Linux, or any shortcut you choose). The screen freezes. Click your background, and Desktini keeps it as it is.
02
Aa
4.00
Hover over the text
Watch the contrast update as you move. Amber means close, but still below target.
03
Aa
4.54
Text fixed and copied
Click to fix and copy
A passing color is copied as it is. A failing one is fixed first. Your design file stays untouched.
The band at your pointer3.51Below target4.00Close, within 0.54.54PassesAmber is a hint, not a WCAG level. The icon always carries the meaning too.
The fix is the product
Don’t just flag it. Fix it.
When a pair fails, Desktini finds the nearest color that passes. It keeps the hue and moves only lightness, so the fix still looks like your color. Then it checks the exact value it copies.
Keeps your hue
Smallest change that passes
Re-checked after rounding
Spring sale
Aa
4.50
Text fixed and copied
Last resultTarget AA 4.5
Aa
Original
#7C74D9 on #F7F2E8
3.51AA
Aa
Fixed · text changed
#6B62C5 on #F7F2E8
4.50AA
A
4.50
AA
Small tool. Thoughtful details.
Less switching. More making.
Which color stays
A
Background
The default
A
Text
Press L
A
Auto
Smaller change
A
Both
Check only
Keeps the color you care about
Your background stays as it is by default, so only the text changes. Press L or Alt-click a swatch to keep the other one. A color you keep stays kept the next time you pick it.
Aa
4.00
Reads
5 × 5 area readText pixel chosen#7F7F7F · text sample
Reads the text, not the edge
Thin, smoothed text blends into its background. Desktini reads the real text color from the pixels around your pointer.
#767676
Copy as
HEX#767676
RGBrgb(118, 118, 118)
HSLhsl(0, 0%, 46.3%)
OKLCHoklch(56.58% 0 0)
Pick any color, paste any format
A second shortcut, ⌥⇧P, picks a color anywhere on screen and copies it as HEX, rgb(), hsl() or oklch().
Target
AA normal text4.5
AA large text3
AAA normal text7
AAA large text4.5
Non-text: controls and graphics3
Tcycles the target during a check
Every WCAG 2.2 target
Press T to switch targets. A 4.499 shows as 4.49, so a fail never looks like a pass.
During a check
EnterFix and copy
EscCancel
SpaceCapture again
TabSwitch color
LKeep the other color
TNext target
← ↑ → ↓Move one pixel
AltExact pixel
[ ]Zoom the magnifier
− +Badge size
Scrollzoom⇧ Scrollor pinch: badge⌘ Scrollon the strip: strip size
Driven by the keyboard
Every step of a check has a key, and every Desktini window works without a mouse. Scroll, pinch or the bracket keys resize the badge and magnifier right where you are, with no trip to Settings.
Aa
4.47
No color passes AAA 7. Let the background change or choose a lower target.
Honest when there’s no fix
With the background kept at #777777, white text reaches only 4.47 and black 4.68, so AAA’s 7 is out of reach. Desktini says so, tells you what to change, and copies nothing.
Last result · Edit text color
rgb(107, 98, 197)Aa4.50AA
HEX#6B62C5
HSLhsl(245.5, 46%, 57.8%)
OKLCHoklch(55.33% 0.149 284.5)
Type a color, get every format
Edit the last result with a color typed in any format. Desktini re-checks it without capturing the screen, so it doubles as a quick converter.
$ desktini --check # start a contrast check
$ desktini --pick # pick one color
Scriptable from the command line
The same two actions run from a terminal, for desktops without global shortcuts or for your own key bindings.
9:41
Check contrast⌥⇧C
Pick color⌥⇧P
Last result
Show strip
Settings…
License…
Quit Desktini
Stays out of the way
Nothing on screen. Until you ask.
Desktini lives in your menu bar or tray. Press the shortcut and it’s there. Press Esc and it’s gone, with your app right where you left it.
Made in Rust: tiny, fast, and light enough to leave on all day
Looks at your screen only during a check
Never saves or sends a screenshot
No account, no analytics, no cloud
Copies a color. Never touches your files.
What leaves your computer
License serverLicense id, a random device id, app versionAt launch, then daily
Update feedApp version, platform, license versionAt launch, then daily
Anything elseNothing. No pixels, colors, analytics or crash reports.
Settings
One screen. Your rules.
Every setting fits on one screen, and it’s all stored on your computer. Changed your mind? Reset all puts everything back.
Every window works by keyboard alone, with visible focus
Change any shortcut. Desktini warns when one clashes with your keyboard layout
Screen readers hear each result, not every hover
Reduced motion turns off badge animations
Settings
Shortcuts
Check contrast⌥⇧C
Pick color⌥⇧P
Checks
Default targetAA normal text · 4.5
Keep by defaultBackgroundTextAuto
Kept colorsStay kept the next time you pick themClear
Copying
FormatHEX
HEX lettersABCabc
Badge
SizeAaAaAa
SmallMediumLarge
The default. During a check, Shift + scroll or a pinch resizes it, and ⌘ + scroll resizes the strip.
App
Show stripA small floating bar, off by default
Launch at login
Install updates automatically
Reset all
Works on
One license. Three platforms.
Check what works where before you buy.
macOS
macOS 14 Sonoma or later
Apple silicon and Intel
Signed and notarized
Display P3 screens measured correctly in sRGB
Needs Screen Recording permission
Windows
Windows 10 (22H2) and 11
64-bit
Signed installer
HDR displays not supported yet
LinuxBeta
X11 desktops
AppImage and .deb
Wayland beta during 1.x
GNOME needs the AppIndicator extension
Roadmap
What’s next. You decide.
Pick a feature to see its first design. Vote for what you want next, or suggest something new. Each list runs in the order we plan to build it. No account needed, and no dates: these are plans, not promises.
1.x · Free for owners
Color-blindness preview
Twist
Opens on the kind of color blindness that hurts this screen most, so the first thing you see is the real problem.
⌥⇧B
Press
ProtanDeutanTritan
Worst here
Error and Success look the same
Opens on Deutan
Normal
ErrorSuccessWarning
Apply
Deutan
ErrorSuccessWarning
Apply
‹›
Error and Success become nearly the same gray-olive.
A
6.56
AA
Where it lives in Desktini new
A
6.56
Tools on the strip
Check contrast⌥⇧C
Pick color⌥⇧P
Color-blind previewNEW⌥⇧B
Strip · pinned from ⋯
Preview your screen as people with color vision deficiencies see it, right from the menu bar.
Protanopia, deuteranopia, tritanopia and monochrome
Strong and mild, since most people have a milder form
Works on the frozen frame, like a check
For AI agentssimulate_vision(image)
The image as each kind of color blindness sees it, and which colors merge.
Buy Desktini for what it does today. Free in 1.x means free for every owner. 2.0 is a paid upgrade, 50% off for owners.
Invite friends
Bring friends. Pay less.
Everyone on the waitlist gets a personal invite link. Friends who use it get $4 off, and every friend who buys gives you $4 of Desktini credit.
Move up the list
Early access opens in waves before launch. Each friend who joins with your link puts you ahead of everyone with fewer friends.
Fill your strip
Every friend who joins pins a tool to your strip on the waitlist, from Check contrast to Mods. Pin all twelve and your grip turns brass.
Give $4, get $4
Six friends who buy and Desktini 1 is free. Three more and so is your 2.0 upgrade. Credit never expires, so more keeps paying for later versions, or a gift for someone.
Already bought?
In the first 90 days after launch, we refund your credit to your original payment method. After that, it waits for 2.0.
Founding members
Buy before launch day and you get every future beta early, double roadmap votes, and your name in the credits if you want.
A friend’s purchase counts once it is past its 30-day refund window. Credit pays for Desktini 1, your 2.0 upgrade, later versions or a gift. It is never added to a sale: you always get the lower price.
Pricing at launch
$24. Once.
No subscription, no account, no trial to babysit. Buy it, use it, and every 1.x update is yours.
Bringing friends?
They get $4 off, and each one who buys gives you $4 of credit for this version and the next. How invites work
2.0 later?
Owners get 50% off. Bought in the 90 days before it ships? It’s free.
For a team?
Volume pricing from 3 seats. [TEAM PRICE]
Changed your mind?
Refund yourself within 30 days. No questions, no email to write.
Top drawer means the very best, and it’s where every desk keeps its good stuff. Pay what you like, from $48, and help build every tool that comes next.
Early access opens to the waitlist in waves, a few days apart, before launch day. When your wave opens, we email you a personal link to buy. Buying early never costs you anything: credit from friends who buy later comes back to you as a refund, or goes toward 2.0.
Your wave is open. This link is yours, and it stays good after launch.
Buy Desktini · $24
Friends who buy later still lower your price. We refund the difference.
What do you do with my email?
We use it for the waitlist and the launch, nothing else. No tracking pixels, no newsletter you didn’t ask for, and we never share it. Every email has a link to leave the list in one click, which deletes your address.
You get this because you joined the Desktini waitlist. No tracking pixels, no newsletter. Leave the waitlist
One click
desktini.com/leave
You’re off the list
We deleted [email protected] and your invite link. No more emails.Changed your mind? You can join again any time.
Is there a free trial?
No. Every purchase comes with a 30-day refund instead. One button in the app or your purchase email starts it, and the money goes back to your original payment method.
1In the app or the email
License
Desktini 1Active
Bought12 days ago
Refund window18 days left
DevicesRefund…
2Confirm it’s you
desktini.com/refund
Refund your purchaseEnter the 6-digit code we sent to your purchase email.
482917
Continue
3Decide
Refund your purchase?$24 goes back to your original payment method within a few days. Desktini stops working on all your devices, and you can buy it again any time.
Refund my purchaseKeep Desktini
Refunded. Polar emails you the receipt.
Do I need an account?
No. Your purchase email is your license. Click “Open in Desktini” in it and the app activates itself. On another computer, enter your purchase email and the 6-digit code we send you.
One person, up to 3 devices at a time, in any mix of macOS, Windows and Linux. Activating a fourth frees the one you used least recently.
License · Devices
Devices2 of 3
MacBook Pro
macOS · now
This device
Studio PC
Windows · 3 days ago
Free
1 free slot
Desktini movedThis license is now in use on another device.
OKUse it here
Shown once, on the device that was freed: the one used least recently.
Does Desktini see my screen?
Only during a check. It freezes your screen once when you press the shortcut, keeps that frame in memory, and drops it when the check ends. Nothing is saved or sent anywhere.
Desktini looks at your screen only during a check, and never saves or sends it.macOS asks you to allow Screen Recording, and asks again from time to time. Each check freezes one frame, keeps it in memory, and drops it when the check ends.
Only during a checkMemory onlyNever sent
Not nowContinue
Does it work offline?
Yes. Desktini checks its license about once a day when you’re online, and keeps working offline for up to 44 days. It asks you to connect once along the way, and only pauses if it never hears back. Your settings and last result are kept.
Without internet
Day 0Last check-in
Day 23Asks once to connect
Day 30A small banner
Day 44Connect to continue
Desktini
Connect to the internet once to keep Desktini running.Check now
Every tool keeps working while this banner shows.
What happens when 2.0 comes out?
Your 1.x license keeps working, and 1.x gets fixes for operating system changes for 12 months after 2.0 ships. 2.0 is optional: owners get 50% off, and it’s free if you bought in the 90 days before it ships.
You own Desktini 1
License
Desktini 2 is outFor owners
Desktini 1 keeps working and gets fixes for 12 months.
$12$24
Upgrade with 50% off
Bought in the last 90 days
License
Desktini 2 is outOn us
You bought Desktini in the 90 days before 2.0, so the upgrade is free.
$0$24
Upgrade for free
Will it change my design files?
Never. Desktini copies a color to your clipboard, and you paste it where you want it.
Text fixed and copied#6B62C5
⌘V
Your design app
DesignPrototype
Heading · Spring sale
Spring sale
Fill
6B62C5100 %
Which WCAG targets does it check?
AA and AAA for normal and large text, and 3:1 for controls and graphics (WCAG 2.2 success criteria 1.4.3, 1.4.6 and 1.4.11). You choose the target, because pixels can’t tell how big or bold the text is.
Settings
Default targetAA normal text · 4.5
AA normal text4.5
AA large text3
AAA normal text7
AAA large text4.5
Non-text: controls and graphics3
Large text is at least 18 pt regular or 14 pt bold. Non-text covers essential controls and graphics. A result covers this one pair, not a whole design.
Tswitches the target for one check only
Who sells Desktini?
Desktini is sold through Polar, which handles the payment, VAT and sales tax. Your receipt comes from Polar.
Receipt
Order DSK-1042 · Nov 4, 2026
Polar
Merchant of record
Desktini 1, one person, 3 devices$24.00
TaxAs required where you live
Total$24.00 + tax
Your license email comes from Desktini, and the receipt from Polar.
I lost my license. What now?
Use “Resend my license” at the bottom of this page and it goes to your purchase email.
desktini.com/resend
Resend my licenseEnter the email you bought Desktini with.
If this email bought Desktini, your license is on its way.
Can my AI agent use Desktini?
From 1.x, yes, at no extra cost for owners. Agents like Claude Code and Cursor connect to Desktini with one click and get the same exact checks and fixes you do. Letting an agent check your screen comes in 2.0, and it only ever happens after you allow it.