For a website or presentation, assign roles, generate candidates and test the text/background pairs. Choose a base color and scheme in the palette generator. A simple example starts with red #ff0000 and generates the complementary cyan #00ffff.

Compare four schemes and their outputs

Assign roles, generate red and cyan candidates, then test the contrast of the actual text and background.
Tools Hub original diagram showing the values and workflow. Enlarge diagram
Scheme Candidates Count Try for
Complementary Original hue and +180° 2 Main and accent candidates
Analogous −30°, original hue, +30° 3 Related fills or chart colors
Triadic Original hue, +120°, +240° 3 Three labeled data series
Monochrome Original plus L=25,45,72,88% 5 Surface or hierarchy candidates
The analogous endpoints also change HSL lightness to 35% and 65%. Generated values can therefore differ from examples that only rotate hue. The tool rounds HSL to integers, which can slightly change a generated channel value. An achromatic color has zero saturation, so rotating its hue alone produces no color difference.

Assign candidates to actual UI roles

Role Example Check
Background and body White with #111827 text Approximately 17.74:1
Action button #1d4ed8 with white text Approximately 6.70:1, above normal-text AA
Three chart series Red, green and blue candidates Add A/B/C labels or line styles
Error state Icon, explanation and emphasis color The message remains understandable without color
A 60–30–10 split can be a starting point for large surfaces, supporting surfaces and accents. Area percentages alone do not determine readability. Choose the applicable threshold in the [contrast guide](/en/blog/contrast-ratio-guide/) and measure the pair in the [checker](/en/tools/contrast-checker/).

Compare two and three candidates

Keep the same base while changing schemes

With #ff0000 as the base, complementary gives red and cyan. Triadic gives red, green and blue. Compare them for the roles you assigned.

Compare palette schemes

Copy the generated code into your design file

Step Operation Expected result
1 Enter #ff0000 Red base color
2 Choose complementary #FF0000 and #00FFFF
3 Press the #00FFFF button Clipboard contains HEX #00FFFF
4 Test a text/background pair Assess it for the actual role
Cards display HEX, RGB and HSL, but their buttons copy HEX. Paste it into the [color converter](/en/tools/color-converter/) to copy another format. The [conversion guide](/en/blog/color-conversion-guide/) explains HSL rounding and alpha. Palette input accepts three- or six-digit HEX and excludes alpha.

Check hover, error and dark-mode states before publishing

Record each state’s foreground and background as a pair. With translucent glass panels or background images, inspect the least readable area as the underlying color changes. Underline links and add labels or line styles to charts so color is accompanied by another information cue.

Record codes with their roles

Copy HEX and name its purpose

Keep background, text and button roles beside the code in your design file so you can apply the same decisions on another screen.

Generate and copy HEX colors

You can also open the generator from the utility category. A favorite adds a shortcut in the same browser. Keep the base color and finished palette in your own design file.

Tools Hub editorial staff checked generated angles, counts, copy format and contrast examples on November 8, 2026.

FAQ

How many colors does each scheme generate?

This tool generates two complementary colors, three analogous colors, three triadic colors or five monochrome colors. Monochrome includes the original plus lightness values of 25, 45, 72 and 88%.

Can I use a generated color for button text immediately?

Measure the text/background pair first. White text on #3b82f6 is approximately 3.68:1, below the 4.5:1 AA threshold for normal text.

What format does a palette button copy?

Each button copies HEX only. RGB and HSL are displayed. Paste the HEX into the color converter to copy another format.

Must I follow a 60–30–10 area split?

It is a starting point for trying a layout, not a WCAG pass condition. Check information cues and contrast after assigning colors to real elements.