Core idea
Mac first: Quick Pick, copy, compile, export, and standalone preview. iPad adds touch-first palette building, photo/import workflows, validation, standalone preview, and handoff. iPhone focuses on pinned preview, photo/import workflows, small edits, validation, and sharing.
Mac App
Use PaletteWright as a native Mac utility.
Fast capture, menu commands, menu-bar access, side-by-side help, and Finder-backed library management.
Choose The Right Color Workflow
PaletteWright has four Mac color workflows; choose the one that matches the job.
- Use Pick Screen Color when a sampled screen color should become part of the selected palette.
- Use Quick Pick when you only need one onscreen color copied immediately in your default format.
- Use Multi-Pick when you are collecting several colors from a screen, website, app, mockup, chart, or design file.
- Use Paste / Convert Color when the color already exists as text, such as a CSS variable, design token, hex value, RGB string, OKLCH value, or Display-P3 value.
- Use Current Preview everywhere; on Mac and iPad, open the Palette Preview window when you want live visual feedback while scrolling through Target, Import, Build, Validate, Handoff & Export, and Notes.
- Set the default copy format first in PaletteWright > Settings so Quick Pick, Multi-Pick, the menu-bar extra, and Use Default in the converter all produce the same team-ready output.
Quick Pick And Multi-Pick
The fastest Mac workflow is to sample a color and copy it immediately in the format you already chose.
- Before picking, choose PaletteWright > Settings > Default Quick Pick format. Use Hex or RGB for simple handoff, OKLCH or Display-P3 for modern CSS, SwiftUI for app code, CSS Variable for tokens, or Custom for team-specific syntax.
- For one color, use Tools > Quick Pick & Copy or Command Option P, click the screen color, and PaletteWright copies it immediately without changing the current palette.
- For a batch, use Tools > Start Multi-Pick & Copy, click each color you want, and watch the clipboard grow into a newline-separated list after every pick.
- Press Escape or cancel the sampler when the batch is complete; the final clipboard still contains every sampled color in order.
- Use Multi-Pick for pulling a small brand palette from a website, extracting UI states from an app, sampling chart colors, or matching colors from a design comp.
- The global Command Option P hotkey works even when PaletteWright is not the frontmost app, when enabled in Settings.
- A compact copied-color HUD confirms the sampled color, selected copy format, and exact copied value.
- Recent samples appear in the menu-bar extra, where you can recopy the latest color as the default format, Hex, RGB, OKLCH, Display-P3, SwiftUI, CSS Variable, or Custom.
- Quick Pick and Multi-Pick are unlimited on Free, so PaletteWright can be used as a serious Mac color picker before upgrading.
Paste / Convert Color
Use copied color text as a zero-friction conversion workflow.
- Open it with Tools > Paste / Convert Color or Command Option V; the window reads text from the pasteboard on open but also lets you edit or paste new input.
- Paste a single value or a larger snippet; PaletteWright scans for hex, RGB, RGBA, HSL, HSLA, HWB, Lab, LCH, OKLab, OKLCH, Display-P3, CSS variables, and token-like text.
- If several colors are found, choose the swatch you want from Found Colors; the preview updates before you copy.
- PaletteWright previews the parsed color and shows exact hex, RGB, and OKLCH values so you can verify the conversion before using it.
- Use Copy As to switch between built-in formats or Custom. Use Default when you want the same format configured for Quick Pick and Multi-Pick.
- Use this workflow when a colleague sends a token, a browser inspector shows a CSS value, or you need to translate OKLCH or Display-P3 into SwiftUI, CSS variable, or another team format.
Custom Copy Formats
Settings can turn Quick Pick into exactly the clipboard output your project expects.
- Open PaletteWright > Settings and start by selecting the default format you want Quick Pick and Multi-Pick to copy.
- Choose Custom, then pick an existing custom format or create one with New Format.
- Name is the label shown in menus and HUDs. Token name feeds
{token} and {css-token}, so use the naming style your codebase expects.
- Templates support
{hex}, {rgb}, {oklch}, {display-p3}, {swiftui}, {token}, {css-token}, {r}, {g}, {b}, {red}, {green}, and {blue}.
- The live preview shows the exact text Quick Pick, Multi-Pick, Paste / Convert Color, and the menu-bar extra will copy.
- Use custom formats for CSS custom properties, design-token snippets, Swift constants, documentation strings, or team-specific handoff syntax.
- Save Format stores the template. Use As Default makes it the default for future captures and conversions.
Pick Into The Current Palette
Use the native screen sampler when the color belongs in the selected palette, not just on the clipboard.
- Select a palette first, then select a stop if you want to replace that exact stop.
- Use Tools > Pick Screen Color or Command Shift P, sample the screen color, and PaletteWright writes it into the selected stop.
- If no stop is selected, PaletteWright appends a new stop; then use the position slider, Sort, or Distribute to place it.
- Use this after sampling brand colors with Quick Pick or Multi-Pick when you decide a color should become part of the palette you will validate and export.
- Every screen sample is stored in recent history for menu-bar copying later.
Current Preview And Preview Window
PaletteWright keeps the active palette visible while the detail panels scroll.
- The Current Preview strip stays pinned above the scrollable detail panels, so the gradient remains visible while you edit stops, generate harmonies, validate contrast, or configure exports.
- Click the pinned gradient to add a stop at the clicked position without scrolling back to Build: Stops.
- The pinned preview respects Exact LUT Preview, Step Markers, Dithering Preview, LUT metadata, and sRGB / Display-P3 selection.
- On Mac, open the standalone preview with Current Preview > Preview Window, View > Show Palette Preview, or Window > Show Palette Preview. On iPad, use Current Preview > Preview Window. On iPhone, keep working from the pinned Current Preview strip.
- The Palette Preview window updates with the active palette and shows the gradient, swatches, interface preview, and contrast summary in a separate non-modal window.
- On Mac, use View > Hide Palette Preview, Window > Hide Palette Preview, or the close button. On iPad, close the separate preview from the system window controls.
Menu-Bar Extra
The menu-bar extra keeps capture and copying available without reopening the main window.
- Use the PaletteWright menu-bar extra to Quick Pick, start Multi-Pick, open Paste / Convert Color, pick into the current palette, show the main window, open Settings, or open this guide.
- Copy the latest sample in the current default format, Hex, RGB, OKLCH, Display-P3, SwiftUI, CSS Variable, or Custom.
- Open recent colors from the menu-bar history and copy any stored sample in the format you need.
- Use Settings to show or hide the menu-bar extra and enable or disable the global hotkey.
Windows, Menus, And Navigation
- The main Mac window opens at a document-style size with a minimum size that keeps the sidebar and detail editor usable.
- Use Help > PaletteWright User Guide or the sidebar Info menu to open the guide in its own non-modal window.
- Keep the guide beside the main app while editing palettes, checking exports, or learning the workflow stages.
- Use File > New Palette, Import Palette File, Save Library Backup, and Reveal Palette Library for standard Mac library actions.
- Use the Palette menu for selected-palette actions such as Duplicate, Favorite, Delete, Restore, Add Stop, Sort, Distribute, Generate, Auto-Fix AA, and export commands.
- Use View > Jump to Workflow Stage or Command 0 through Command 6 to jump to Workflow, Target, Import, Build, Validate, Handoff & Export, and Notes.
- On Mac, use View to expand or collapse detail panels, toggle Exact LUT Preview, Step Markers, and Dithering Preview, and show or hide the Palette Preview window.
- Use Window > Show Palette Preview on Mac or Current Preview > Preview Window on iPad when you want a separate live preview next to the main app.
- Use Help > Launch Demo to reopen the bundled Glass Nebula compiler walkthrough.
- Mac sheets include visible Close buttons and support the Escape key.
Library And Files
- PaletteWright stores the palette library as an app-support JSON file with a backup preserved before replacement.
- Use the palette actions menu to save a portable JSON library backup.
- Use the palette actions menu to reveal the active app-support library file in Finder.
- Duplicate before experimental edits, restore eligible built-in palettes to their factory version, and use Undo Last Palette Change when you need to step back.
- Use Tools > Copy Current Export or Tools > Save Current Export when the Export panel is configured for the file you need.
iPad And iPhone
Use the touch-first app for building, validation, and sharing.
Mac-only utilities move into touch, photo, file, website, and share workflows on iPadOS and iOS.
Best iPad Workflow
- Use iPad in landscape for the best split-view palette workflow.
- Open the guide in a separate PaletteWright window on iPadOS when multitasking, Stage Manager, or Split View is available.
- Use the sidebar to filter, sort, search, favorite, duplicate, delete, or restore palettes.
- Use the detail view to move through Target, Import, Build, Validate, Handoff & Export, and Notes without relying on Mac menu commands.
Touch Palette Building
- Tap the plus button to create a new Display-P3 palette.
- Tap the gradient canvas to add a stop with the interpolated color at that point.
- Use the color picker, hex readout, and position slider to tune each stop.
- Use swipe actions in the palette list to favorite, duplicate, delete, or restore eligible palettes.
- Use lock controls before generation when brand or anchor colors must remain fixed.
Mobile Inputs
- Photo sampling supports Row, Column, and Stripe modes and creates a 12-stop Photo Gradient.
- File import accepts palette, token, CSS, CSV, GPL, ASE, JSON, and text files.
- Website import fetches readable HTML, scans inline styles, follows up to six linked stylesheets, ranks likely brand colors, and creates a gradient palette.
- Website color syntax includes hex, RGB, HSL, HWB, Lab, LCH, OKLab, OKLCH, and color(display-p3 ...).
- Mac-only features such as Quick Pick, Multi-Pick, the menu-bar extra, global hotkey, and native screen sampler are replaced by touch, photo, file, and website inputs on iPad and iPhone.
Mobile Export And Share
- Use Export to copy or share developer formats from iPad and iPhone.
- Free exports include JSON, Mandelbrot Metal, raw CSS variables, and PNG palette previews within the free allowance.
- Pro unlocks PDF palette cards, Adobe ASE, Apple Color List, framework exports, design tokens, Figma Variables JSON, audit reports, and compile packages.
- iPhone is best for reviewing, capturing from photos/imports, and sharing smaller handoff files; Mac and iPad are better for full compiler work.
Workflow Stages
Target, import, build, validate, and handoff & export.
These are the same workflow blocks shown at the top of the app's palette detail view.
1Target
Review the delivery preset, readiness metrics, recommended role preset, theme variant, and next action.
2Import
Open photo, file, website, and screen color tools for bringing colors into the selected palette.
3Build
Edit stops, lock anchors, distribute positions, and generate perceptual harmonies.
4Validate
Open accessibility and system audit panels to check contrast, color-vision resilience, and readiness.
5Handoff & Export
Open Developer Handoff and Export for tokens, Figma-ready output, reports, and framework files.
Stage Navigator
- Target: choose the delivery preset, theme variant, role preset, export format, and next action.
- Import: create a palette, duplicate one, sample a photo, import files, extract website colors, or sample screen colors on Mac.
- Build: edit stops, lock anchor colors, distribute stops, and generate harmonies in perceptual OKLCH space.
- Validate: check WCAG contrast, non-text contrast, color-vision simulations, APCA-style readings, and system audit findings.
- Handoff & Export: compile colors into theme modes, semantic tokens, component aliases, Figma handoff, framework exports, and CI-friendly files.
Target
- Choose a target project type, then review readiness, recommended role preset, theme variant, and export format.
- Run Auto-Fix to repair failing semantic foreground/background pairs toward WCAG AA.
- Jump directly from Target to the audit report when production issues need review.
- Save a compile package when you want README notes, manifest metadata, audit output, tokens, and target-specific export files together.
Compiler Demo
- The first-run demo opens the bundled Glass Nebula palette so new users can see the workflow stages quickly.
- Use Info > Compiler Demo to reopen the demo prompt later.
- Open the demo, review Target, run Auto-Fix if needed, then save a PNG preview or compile package.
Palette Building
Create, import, edit, generate, and preview palettes.
Use palette building before validation and production handoff.
Palette Browser
- Search by palette name, subtitle, note, or generation recipe.
- Filter by All, Built-In, Imported, or Custom.
- Use Sort to choose library order while search and filtering stay active.
- Leading swipe favorites a palette; trailing swipe duplicates, deletes, or restores eligible built-in palettes.
- The ellipsis toolbar menu offers New Palette, Restore Built-in Palettes, Duplicate Selected, Favorite, and Delete Selected commands.
Create, Favorite, Duplicate, Delete, And Restore
- Tap the plus button to create an Untitled Palette with four editable Display-P3 stops.
- Rename a palette directly in the large title field.
- Tap the star in the palette header to favorite; favorites rise to the top of the sidebar list.
- Duplicate before experimental edits to branch a custom copy without changing the original.
- Delete removes a palette from the library after confirmation.
- Restore Factory is enabled only when a built-in palette differs from its factory version.
Pinned Preview And Render Controls
- Current Preview stays pinned above the scrollable detail panels, so the active gradient remains visible while you edit stops, generate palettes, validate contrast, or configure exports.
- Click the pinned preview gradient to insert a stop at that position.
- Use Preview Window when you want a larger live preview beside the main app while you work through panels.
- LUT 512 / 1024 sets palette LUT metadata for compact ramps or smoother high-resolution handoff.
- sRGB / Display-P3 chooses the preview color space and export metadata.
- Exact LUT preview shows a stepped 64-sample diagnostic view instead of a continuous gradient.
- Step markers draw vertical guides at stop positions.
- Dithering preview adds a subtle dot overlay to test whether texture reduces visible banding.
Build: Stops
A stop is a color placed from 0% to 100% along the gradient.
- Use Add Stop or click the gradient canvas to insert a stop with the interpolated color at that location.
- Select a stop to reveal its controls: use the color picker for deliberate visual editing, the hex readout for exact values, and the position slider for placement along the ramp.
- Use the color picker when you are designing inside the palette. Use Pick Screen Color when you need to sample something visible elsewhere on screen.
- After editing a stop, review Current Preview, the Palette Preview window on Mac or iPad, and accessibility values before locking or generating.
- Lock important colors before running generation. Locked stops remain fixed.
- Trash removes a stop; PaletteWright keeps at least two stops so the palette remains valid.
- Sort orders stops from left to right, and slider edits are sorted after release.
- Distribute spaces the current stops evenly from 0% to 100% while preserving their visual order.
Build: Generate
The Generate panel rebuilds unlocked stops in perceptual space.
- Lock any colors that must remain unchanged.
- Choose a harmony and tap Generate Unlocked.
- Inspect Current Preview, the Palette Preview window on Mac or iPad, the accessibility panel, and the system audit afterward.
- Generation records a searchable recipe such as the harmony name and locked-stop count.
Import
- Choose the import path by where the color lives: photo for visual inspiration, file import for existing palette systems, website import for brand/theme extraction, screen capture for visible UI, and Paste / Convert Color for text values.
- Photo sampling supports Row, Column, and Stripe modes and creates a 12-stop Photo Gradient.
- Pick Screen Color samples any onscreen color into the selected stop or adds a new stop when none is selected.
- Quick Pick & Copy samples one onscreen color and immediately copies the default format without changing the palette.
- Multi-Pick & Copy captures several onscreen colors in one session and copies the collected values together.
- Paste / Convert Color turns copied CSS, token, or loose color text into any built-in or custom output format.
- Recent screen samples are available from the PaletteWright menu-bar extra for copying in multiple formats.
- File import accepts palette, token, CSS, CSV, GPL, ASE, JSON, and text files.
- Website import fetches readable HTML, scans inline styles, follows up to six linked stylesheets, ranks likely brand colors, and creates a gradient palette.
- Website color syntax includes hex, RGB, HSL, HWB, Lab, LCH, OKLab, OKLCH, and color(display-p3 ...).
- Free includes two website imports. Pro unlocks unlimited website imports.
Palette Preview Window
The standalone preview catches palettes that look good as swatches but fail in real compositions.
- Open it from Current Preview > Preview Window on Mac and iPad, or from View > Show Palette Preview and Window > Show Palette Preview on Mac. iPhone keeps this preview inline in the detail view.
- The window follows the active palette and updates live as you edit stops, color space, LUT controls, and preview toggles.
- The large gradient shows the same palette as a smooth ramp or exact LUT preview, depending on the active preview setting.
- The swatch strip lists each stop with hex and OKLCH values.
- The interface card uses the first stop as background, a nearby accent as action color, and the last stop as text.
- The contrast summary shows the first foreground/background pairs so obvious failures are visible while you work.
- If text or buttons feel weak, check semantic tokens and contrast before exporting.
- If the composition looks muddy, adjust stop lightness or generate again with locked anchor colors.
Stage & Panel Reference
Decode each workflow stage, detail panel, field, button, metric, and row value.
Use this reference when a stage, number, field, or control in the detail view needs a plain-language explanation.
Current Preview
Current Preview is the always-visible palette canvas above the scrolling detail panels.
- Gradient preview shows the selected palette as a continuous ramp, or as an exact LUT diagnostic when Exact LUT Preview is enabled.
- Stop count shows how many color stops are in the palette.
- Color space shows whether the palette is previewed and exported as sRGB or Display-P3.
- Preview Window opens the same live palette preview in a separate Mac or iPad window.
- Click or tap the gradient to add a new stop at that percentage along the ramp.
Workflow And Target
Workflow is the jump surface; Target is the production-readiness surface.
- Target jumps to the delivery preset, readiness metrics, and recommended next action.
- Import jumps to import tools and shows how many stops are available.
- Build jumps to stop editing and generation tools and shows how many stops are locked.
- Validate opens accessibility and audit panels, then scrolls to validation.
- Handoff & Export opens Developer Handoff and Export, then scrolls to handoff/export tools.
- Score is the current System Audit readiness score.
- AA count is passing semantic contrast checks out of the total checked pairs.
- Target chooses the delivery preset, such as SwiftUI, shadcn/ui, Tailwind, Material, Apple UI, Figma/DTCG, or Web App.
- Readiness is the audit score for the selected target and theme variant.
- AA Checks is the number of semantic foreground/background pairs passing AA out of the total checked pairs.
- Stops tells whether the palette has enough stops for the selected target.
- Export shows the format tied to the selected target.
- Next Action suggests the most useful next step based on the current audit.
Stops Panel
Stops are the editable colors placed from 0% to 100% along the palette ramp.
- Color well edits the stop color. Locked stops cannot be recolored.
- Hex value shows the stop color as a six-digit hex string.
- Percent value shows the stop position in the gradient from 0% to 100%.
- Lock toggles whether the stop is protected. Locked stops cannot be recolored, moved, deleted, regenerated, or redistributed.
- Trash deletes the stop when the palette has more than two stops and the stop is unlocked.
- Position slider moves the stop along the gradient. Locked stops must be unlocked first.
- Add Stop creates a new stop with an interpolated color.
- Sort orders stops from left to right by position.
- Distribute spaces unlocked stops while preserving locked stop positions.
- Lock All protects every stop. Unlock All makes every stop editable again.
Import Panel
Import turns external color sources into PaletteWright stops.
- Photo sampling mode chooses how colors are read from an image, such as row, column, or stripe sampling.
- Sample Photo Gradient creates a photo-derived palette from the selected sampling mode.
- Pick Screen Color samples an onscreen color into the selected stop, or adds a new stop when none is selected.
- Import Palette File reads supported palette, token, CSS, CSV, GPL, ASE, JSON, and text files.
- Website URL is the page PaletteWright scans for inline colors and linked stylesheet colors.
- Import Website fetches the URL, ranks likely brand colors, and creates a website-derived palette.
- Import status messages report success, errors, unavailable URLs, or plan-limit messages.
Accessibility Panel
Accessibility explains whether palette colors remain usable as real interface colors.
- Theme variant chooses the light, dark, or high-contrast token set being checked.
- Color-vision mode simulates Standard, Protanopia, Deuteranopia, or Tritanopia preview conditions.
- Role preset chooses how PaletteWright maps colors into semantic roles before checking contrast.
- AA Pairs counts stop-to-stop pairs that pass WCAG AA normal-text contrast.
- Best identifies the strongest sampled foreground/background pair.
- Weakest identifies the riskiest sampled foreground/background pair.
- Each semantic contrast row names a foreground/background role pair, such as foreground on background.
- The row status tells whether the pair passes AAA, AA, large-text-only AA, or needs adjustment.
- The number at the end of each row is the WCAG contrast ratio for that pair. 4.5 or higher passes AA for normal text, 3.0 or higher passes AA for large text and non-text UI, and 7.0 or higher passes AAA for normal text.
- APCA-style Lc values estimate perceptual readability. Around 60 or higher is strong for body text; around 45 can work for larger text.
System Audit Panel
System Audit grades the palette as a production color system.
- Readiness score is a 0-100 summary derived from passes, warnings, and failures.
- Failure rows identify issues that should be fixed before production use.
- Warning rows identify risks that may be acceptable depending on the product.
- Palette depth checks whether the palette has enough stops for scalable ramps and token systems.
- Color-vision checks look for weak pairings under simulated color-vision modes.
- Modern CSS readiness flags palettes where OKLCH or Display-P3 output preserves color intent better than hex-only handoff.
- Copy Report copies a Markdown audit report. Save Report writes it to disk. Share Report opens the platform share flow.
Developer Handoff Panel
Developer Handoff compiles palette stops into design-system roles, tokens, previews, and Figma-ready output.
- Theme variant chooses the light, dark, or high-contrast output mode.
- Role preset maps PaletteWright semantic roles to native, shadcn/ui, Material, Apple, or chart-oriented naming.
- Role token count shows how many semantic roles are generated for the selected variant.
- AA coverage shows how many semantic checks pass for the selected variant.
- Best pair shows the strongest semantic contrast pair.
- Theme Matrix compares generated role values across theme variants.
- Component Preview Lab renders practical UI components so weak buttons, inputs, cards, and status colors are visible before export.
- Palette Diff compares primitive and semantic changes against another palette.
- Figma Handoff prepares variables and modes for plugin or automation import.
Export Panel
Export shows the exact output that will be copied, saved, or shared.
- Export format chooses the developer output, such as JSON, CSS, Tailwind, SwiftUI, Android XML, Flutter, DTCG, Figma Variables, CSV, audit output, or compile package.
- Export preview displays the generated text for text-based formats.
- Copy copies the current export text.
- Save writes the selected export to disk with a suitable filename extension.
- Share opens the platform share flow for the selected export.
- Designer handoff format chooses visual or design-tool assets such as PNG preview, PDF palette card, Adobe ASE, or Apple Color List.
- Export status messages report successful saves, unavailable formats, free-plan usage, or Pro requirements.
- Free export counter tracks the 10 included basic exports on the Free plan.
Validation
Audit color before it becomes production UI.
Use accessibility checks and system audit findings before tokens become production assets.
Accessibility Panel
The Accessibility panel shows color-pair contrast, non-text UI contrast, color-vision simulation, and APCA-style readability values.
- Standard shows original palette colors.
- Protanopia simulates red-cone deficiency.
- Deuteranopia simulates green-cone deficiency.
- Tritanopia simulates blue-cone deficiency.
- AA Pairs reports stop-to-stop foreground/background pairs that pass WCAG AA normal-text contrast.
- Best and Weakest identify the strongest and riskiest sampled pairs.
Non-Text Contrast
- Checks card borders on app background.
- Checks input borders on surface.
- Checks focus rings on surface and raised surface.
- Checks success, warning, and danger status markers.
- Checks chart grid against raised surface.
- Targets 3:1 or higher for meaningful non-text UI boundaries.
APCA-Style Readability
APCA-style readings are shown as Lc values.
- Values around 60 or higher are strong for body-style readability.
- Values around 45 can be useful for larger text.
- Lower values are risky.
- Use WCAG AA for pass/fail accessibility targets, then use APCA-style readings to catch perceptual readability risks.
System Audit
System Audit summarizes whether the palette is ready to act as a full color system.
- Readiness is a 0-100 score derived from passes, warnings, and failures.
- Failures need correction before production use.
- Warnings may be acceptable depending on the product.
- Palette depth warns when the palette has fewer than 8 stops.
- Modern CSS readiness identifies high-chroma palettes where OKLCH and P3 exports preserve intent better than hex-only handoff.
- Use Copy Report, Save Report, or Share Report to create a Markdown production audit for the selected theme variant.
Modern Swatch Inspector
- Each primitive stop shows a swatch, token name, hex value, RGB CSS string, OKLCH CSS string, and Display-P3 CSS string.
- Use it when you need exact color strings for documentation, implementation, or review.
Handoff And Export
Export tokens, previews, reports, and framework code.
Compile tokens, review component previews, create Figma handoff, export frameworks, and run CI audits.
Developer Handoff
Developer Handoff is the Pro workflow for compiling a palette into theme variants, roles, component tokens, Figma Variables, framework exports, and production previews.
- Choose Light, Dark, or High Contrast.
- Review role token count, AA check coverage, and best pair metric.
- Use Auto-Fix AA if semantic pairs fail AA.
- Use Figma Handoff when the design team needs variables and modes.
- Inspect Theme Matrix, Component Preview Lab, Palette Diff, and token lists before exporting.
Figma Handoff
- Primitive variables are direct palette stops such as palette-50 and palette-500.
- Semantic variables are purpose-based roles such as background, foreground, surface, primary, warning, and danger.
- Component variables cover UI-specific roles such as button backgrounds, input focus borders, link foreground, and focus-ring outline.
- Figma Variables is an export/handoff payload for plugin or automation import, not live Figma sync.
Tokens And Theme Variants
- Primitive tokens are direct palette stops.
- Semantic tokens describe purpose, such as background, foreground, surface, primary, success, warning, and danger.
- Component tokens bind semantic roles to UI use cases such as button-primary-background, input-focus-border, and alert-warning-background.
- Theme variants compile Light, Dark, and High Contrast token matrices.
Role Presets
Role presets translate PaletteWright semantic roles into naming conventions expected by common UI systems.
- PaletteWright Native keeps the app's semantic role names.
- shadcn/ui maps to background, foreground, card, popover, primary, secondary, muted, accent, destructive, border, input, and ring roles.
- Material maps to primary, on-primary, primary-container, secondary, tertiary, surface, outline, error, and on-error.
- Apple maps to systemBackground, label, tintColor, separator, systemFill, systemGreen, systemYellow, and systemRed.
- Charts maps to chart-background, chart-grid, chart-label, and chart-series colors.
Component Preview Lab And Palette Diff
- Component Preview Lab renders account cards, buttons, inputs, badges, navigation, progress, charts, modals, status lists, and code surfaces.
- Scan text readability, action hierarchy, focus colors, and status colors before shipping.
- Palette Diff compares primitive stop changes and semantic token changes against another palette.
- Large perceptual distance usually means a visible shift in lightness or color.
Export Formats
- Free exports include JSON, Mandelbrot Metal, and raw CSS variables.
- The Free export counter advances when you copy, save, or share one of those formats; Free includes 10 basic exports.
- Designer Handoff can save PNG palette previews on Free; Pro unlocks PDF palette cards, Adobe ASE swatches, and native Apple Color List files.
- Pro exports include unlimited exports, Modern CSS, Semantic CSS, Tailwind v4, shadcn/ui, SwiftUI, Swift Assets, Android XML, Compose, Flutter, DTCG design tokens, Figma Variables, Markdown audit reports, compile packages, CSV, and audit output.
- Open Export, choose a developer format or designer handoff format, then copy, save, or share it to your workflow.
- If the Free export counter reaches 10/10, use Upgrade for Unlimited Exports.
Compile Packages
- Compile packages include README.md, manifest.json, audit-report.md, preview notes, target-specific export files, DTCG tokens, and Style Dictionary JSON.
- Use compile packages when handing a palette to a developer, adding a color system to a repo, or archiving an implementation-ready theme.
- Compile package saving is a Pro workflow.
CLI / CI Audit
- The repository includes Tools/palettewright-cli.swift for command-line contrast auditing.
- On Mac, use Tools > CLI Utility to review common commands inside PaletteWright.
- On Mac, use Tools > Copy CLI Audit Command to copy a starter audit command to the pasteboard.
- Run
swift Tools/palettewright-cli.swift audit path/to/tokens-or-css-file.css.
- The CLI reports unique colors, pair counts, AA/AAA coverage, weakest pair, and strongest pair.
- Use it as a CI gate by failing builds when exported files contain color pairs that do not meet AA contrast.
Plans And Reference
Pricing, troubleshooting, FAQ, glossary, and standards references.
Free $0
Unlimited Quick Pick, unlimited Paste / Convert Color, 5 custom/imported palettes, 10 basic exports, 2 website imports, photo import, PNG previews, basic contrast checks, and core JSON, Mandelbrot Metal, and CSS exports.
Founder Lifetime $39.99
Primary launch offer for Mac utility buyers who prefer a one-time purchase. Planned regular price is $49.99 after the founder period.
Pro Annual $19.99/year
Best subscription option for production-ready color systems.
Pro Monthly $3.99/month
Flexible access for short client projects or occasional use.
Pro Unlocks
- Unlimited palettes, website imports, and exports.
- PDF, ASE, Apple Color List, semantic tokens, component tokens, Figma handoff, compile packages, and advanced export formats.
- StoreKit purchase flow and Restore Purchases for the current Apple Account.
Troubleshooting
- Cannot create another palette: Free allows 5 custom/imported palettes. Delete or reuse a palette, or upgrade to Pro.
- Invalid website URL: use a real http or https website host. If you type example.com, PaletteWright tries https://example.com.
- No website colors found: try the public homepage, a CSS file URL, or a page with static HTML/CSS.
- Paste / Convert Color found nothing: paste one supported color string or a CSS/token snippet containing hex, RGB, HSL, HWB, Lab, LCH, OKLab, OKLCH, or Display-P3.
- A Pro export is locked: choose JSON, Mandelbrot Metal, raw CSS variables, or PNG Preview on Free, or open Pricing to purchase or restore Pro.
- Cannot export another free palette: Free includes 10 basic exports. Upgrade to Pro for unlimited exports.
- Multi-Pick keeps prompting for colors: press Escape or cancel the screen sampler to finish and leave the collected values on the clipboard.
- Custom copy output looks wrong: open Settings, check the selected Custom Copy Format, and use the preview to verify tokens such as
{hex}, {rgb}, or {css-token}.
- Palette Preview window is blank: select a palette in the main window so the detail editor can publish the active preview.
- Palette Preview window is in the way: use View > Hide Palette Preview, Window > Hide Palette Preview, or the close button on Mac; on iPad, close the separate preview from the system window controls.
- A purchase option says unavailable: check that App Store Connect has the matching product ID, metadata, price, availability, and review state.
- Gradient looks banded: turn off Exact LUT preview, use 1024 LUT metadata, enable dithering preview, add stops, or use Perceptual Blend.
- On Mac, close sheets with the visible Close button or Escape.
- Changed a palette by accident: use Undo Last Palette Change, Restore Built-in Palettes, Restore Factory, or duplicate before experimenting.
FAQ
- PaletteWright is not only a palette generator. Its main purpose is compiling colors into accessible themes, tokens, framework roles, exports, and audit output.
- For fast Mac color capture, set the default Quick Pick format in Settings, then use Command Option P for one color or Multi-Pick for a batch.
- For copied color strings, CSS variables, or token snippets, use Command Option V to preview the color and convert it to any built-in or custom format.
- For a new brand color, create a palette, set the brand color as a stop, lock it, generate unlocked stops, validate, then export.
- Use sRGB for maximum compatibility and Display-P3 for wide-gamut Apple and modern display workflows.
- Auto-Fix AA adjusts failing semantic foreground roles toward a 4.5:1 WCAG AA target against their backgrounds.
- 8-11 stops gives the mapper enough scale resolution for ramps, Tailwind-style output, semantic surfaces, borders, and accents.
Glossary Highlights
- Quick Pick
- Mac workflow that samples an onscreen color and immediately copies the default format.
- Multi-Pick
- Mac workflow that repeatedly samples screen colors and copies the collected outputs as newline-separated text.
- Paste / Convert Color
- Mac converter for pasted color strings, CSS variables, and token snippets, with preview plus built-in or custom copy output.
- Custom Copy Format
- User-defined template for clipboard output, using variables such as
{hex}, {rgb}, {oklch}, and {css-token}.
- Current Preview
- Pinned gradient preview above the scrolling detail panels; click it to add a stop without changing scroll position.
- Palette Preview Window
- Standalone Mac and iPad live preview window with gradient, swatches, interface preview, and contrast summary.
- Primitive token
- Token created directly from a palette stop, such as palette-500.
- Semantic token
- Purpose-based role such as background, foreground, surface, primary, or danger.
- Component token
- UI-specific role such as button-primary-background or focus-ring-default-outline.
- Compile package
- Folder of implementation-ready exports, notes, manifest metadata, tokens, and audit output.
- OKLCH
- Perceptual color model using lightness, chroma, and hue.
- DTCG
- Design Tokens Community Group JSON format using $schema, $type, and $value.
Standards And References
- WCAG 2.2 and W3C Understanding Non-text Contrast.
- CSS Color Module Level 4 and Level 5.
- Design Tokens Community Group.
- Figma Plugin API and REST API variables documentation.
- APCA in a Nutshell.