Skip to main content

Accessible Color Palette Generator

Symmetric Power Distribution Visualizer v1.3

Generate WCAG-compliant color scales with fine-tuned control over hue transitions, chroma/saturation curves, and contrast ratios,using power distribution functions A11Y grid best viewed on desktop

Learn more about why this tool and why it is useful

Why is this useful?

Most color palette generators create visually appealing gradients, but they often fall short when it comes to practical application. The WCAG 2.1 requires a contrast ratio of at least 4.5:1 for normal text, yet traditional linear color scales frequently fail to provide sufficient contrast between adjacent colors—making them unsuitable for real-world interfaces where text readability and visual hierarchy are critical.

This tool takes a fundamentally different approach by leveraging non-linear power distribution combined with the OKLCH color space. Unlike HSL where lightness is not consistent across hue axes, OKLCH uses perceptual lightness, providing better accessibility. By adjusting the distribution curve rather than spacing colors evenly, you can strategically cluster colors at the extremes of your palette—maximizing contrast between colors that will actually be used together (like color-1 paired with color-6 for text on backgrounds).

Beyond aesthetics: Accessibility-first design

Color contrast is the #1 accessibility violation on the web, affecting 83.6% of all websites. This makes the real-time A11Y contrast matrix the cornerstone of this tool. As you adjust parameters, the grid instantly calculates WCAG contrast ratios for every color pair in your palette, clearly marking which combinations pass AA (4.5:1) or AAA (7:1) standards. This allows you to design with confidence, knowing your color system supports both light and dark modes while maintaining accessibility compliance.

Unlike centered palettes that prioritize aesthetic symmetry, this generator focuses on perceptual contrast at the boundaries—where your darkest and lightest colors create the strongest visual hierarchy. OKLCH's perceptual uniformity ensures that color transitions feel natural, making it easier to fine-tune accessible color scales for design systems.

Note: The A11Y grid provides the most value on desktop displays where you can view the full contrast matrix.


References

Lightness scale (reversed, 1 to zero)
LIGHT - 1
0.5
0 - DARK
Color Controls

Starting hue value in degrees

Ending hue value in degrees

Chroma at the light end of the palette

Chroma at the dark end of the palette

Maximum chroma at the bell curve peak

Width of the chroma bell curve

Position of the chroma peak (0 = light end, 100 = dark end)

Distribution Controls

Controls distribution symmetry

Controls distribution shape

Controls distribution intensity

Number of color steps

Minimum lightness value

Maximum lightness value

A11y Grid
Custom CSS Properties
Example Layout

just a few examples. COMPLETELY DISREGARD THE TEXT CONTENT . These are static and since you are dynamically creating the palette colours might be VERY WRONG..

good combos: dark bg / light text

C9 / C1

Card Subtitle

Dark background, very light text. Rock-solid AAA across all sizes.

C10 / C1

Card Subtitle

Safe fallback when C11/C12 aren't in the palette. Dark bg, lightest text.

C11 / C1

Card Subtitle

Near-black background against the lightest color in the palette.

C12 / C1

Card Subtitle

Maximum contrast. Darkest background on the lightest shade.

C9 / C2

Card Subtitle

Dark background, slightly deeper light text, still AAA.

C10 / C2

Card Subtitle

Reliable fallback combo for 10-color palettes. Dark bg, near-light fg.

C10 / C3

Card Subtitle

Dark background, mid-light text. Good everyday pairing.

C11 / C3

Card Subtitle

Works well for body text at normal sizes, not just large.

C12 / C3

Card Subtitle

Darkest bg against a medium-light foreground, still AAA.

C10 / C4

Card Subtitle

Dark bg, mid-range light text. Solid C10 fallback.

C11 / C4

Card Subtitle

Comfortable reading contrast for longer passages of text.

C12 / C4

Card Subtitle

Slightly softer than C12/C1, less stark, still passes AAA.

C10 / C5

Card Subtitle

C5 starts to drop — this hits AA on C10. Check at small sizes.

C11 / C5

Card Subtitle

Step up to C11 and C5 recovers to AAA. Good mid-tone on dark bg.

C12 / C5

Card Subtitle

Mid-tone text on the darkest background, still clears AAA.

C11 / C6

Card Subtitle

C6 needs C11 or C12 as bg to clear AAA. Don't pair with C9 or C10.

C12 / C6

Card Subtitle

Darkest bg makes C6 work. C10 only hits AA with C6 — avoid.

C11 / C7

Card Subtitle

C7 is marginal — AA on C11. Fine for large text and UI elements.

C12 / C7

Card Subtitle

C7 needs the very darkest bg to pass. Avoid for small body text.

more subtle less contrasting combos: dark bg / light text

C8 / C1

Card Subtitle

C8 is the threshold dark bg — passes AA with C1/C2 only. Use for large text or UI chrome.

C8 / C2

Card Subtitle

AA on C8 is the floor. Don't use for small body copy.

C7 / C1

Card Subtitle

C7 is the medium bg — perhaps just enough to be combined with the lightest color

C9 / C4

Card Subtitle

AA on C9 is the floor. C4 foreground for text. Don't use for small body copy.

inverted combos: light bg / dark text

C1 / C9

Card Subtitle

Light mode staple. Pale background with clearly readable dark text.

C1 / C10

Card Subtitle

10-color-safe light mode pairing. Dependable across palette sizes.

C1 / C11

Card Subtitle

Near-black text on the lightest background. High contrast light mode.

C1 / C12

Card Subtitle

Maximum contrast. White-on-black equivalent, light mode version.

C2 / C10

Card Subtitle

Slightly deeper light bg with dark text — softer light mode feel.

C2 / C11

Card Subtitle

A touch less stark than C1/C12. Good for light UI surfaces.

C2 / C12

Card Subtitle

Near-black text on the second-lightest shade. Clean light pairing.

C3 / C10

Card Subtitle

Mid-light bg starts to feel more like a tinted surface.

C3 / C11

Card Subtitle

Good for card surfaces in a light theme. Not as stark as C1/C12.

C3 / C12

Card Subtitle

Deeper light background, darkest text. Still clears AAA comfortably.

C4 / C11

Card Subtitle

Getting into medium territory for the bg — still AAA with C11/C12.

C4 / C12

Card Subtitle

A medium-light surface with the darkest fg. Interesting midpoint tone.

C2 / C7

Card Subtitle

C7 is the medium fg — perhaps just enough to be combined with the almost lightest bg color

C4 / C9

Card Subtitle

Very much leaning towards each other. Don't use for small body copy.

Let's Talk

Tom avatar

Get in touch

I work at the intersection of design and code.
Interested? Hit me up.
tomhermans@gmail.com

Copyright © 2026 Tom Hermans. Made by Tom Hermans .

All rights reserved 2026 inc Tom Hermans