Text on background
#000000 / #ffffff
Runs entirely in your browser - no upload, no sign-up.
Start with your colors
Live interface preview
See how text, surfaces, borders, accents, and a primary action work together before you export the palette.
Role-based colors
Pair by pair
Normal text: 4.5:1 AA, 7:1 AAA. Large text: 3:1 AA, 4.5:1 AAA.
#000000 / #ffffff
#595959 / #ffffff
#635bff / #ffffff
#ffffff / #635bff
#af34f6 / #ffffff
#949494 / #ffffff
These results evaluate opaque sRGB color contrast only. A passing palette does not by itself make a product accessible; also test focus, states, semantics, zoom, motion, and use of color in the finished interface.
Developer handoff
An accessible color palette generator turns a brand color and page background into practical UI roles, then checks each intended foreground and background pair against WCAG contrast thresholds. It gives you text, surface, primary, accent, border, and on-primary colors with exact ratios and copy-ready CSS variables.
Enter the brand hex color you want to preserve and the page background it must work against.
Choose AA for a 4.5:1 normal-text target or AAA for 7:1, then choose how the accent relates to the brand hue.
Check the interface preview and read the exact ratio plus AA and AAA result for every intended foreground-background pair.
Try another accent, edit either starting color, copy a single value, or copy the complete CSS-variable block.
This generator is built for the point where a brand color has to become a usable interface. It keeps the chosen hue where possible, adjusts lightness to meet your AA or AAA target, and assigns each result a clear role. The live preview shows the roles together, while the pair-by-pair report keeps the claim precise: it checks opaque sRGB contrast, not accessibility as a whole.
Everything is calculated locally in your browser. Your colors are not uploaded, and you can copy any individual hex value or export the full set as CSS custom properties.
Yes. You can generate, adjust, preview, and export as many palettes as you need without an account or usage limit. The complete role set is available as individual hex values and a copyable CSS custom-property block.
No. Color conversion, palette generation, contrast measurement, and CSS export all run locally in your browser. The tool does not need to send your brand or background colors to a server to calculate the result.
For WCAG 2.x, normal text needs at least 4.5:1 for AA and 7:1 for AAA. Large text needs at least 3:1 for AA and 4.5:1 for AAA. WCAG defines large text as at least 18 point regular or 14 point bold.
Not always. The chosen background may make 7:1 impossible, especially around the middle of the luminance range. The generator searches the full lightness axis, keeps the nearest passing choice when one exists, and clearly reports any pair that still fails.
It keeps the brand hue and saturation, then searches lighter and darker versions for the nearest color that reaches the selected ratio against the page background. The accent begins from an analogous, complementary, or triadic hue and goes through the same check.
No. This tool checks color contrast for the listed opaque sRGB pairs. A complete accessibility review must also cover semantics, keyboard use, focus visibility, zoom, motion, component states, images, and information conveyed by color alone.