# AI color palette generator prompts that give usable palettes

[Canonical HTML page](https://gradiently.design/guide/ai-color-palette-generator)

Ask an assistant for "a nice palette" and you get five pretty colours with no idea which one carries text. Ask for roles, reasons and contrast, and you get something you can design with today.

## The short version

- An AI color palette generator gives usable results when you ask for colours with roles, such as ground, text, accent and surface, rather than a list of hex codes.
- Describing the place, material or feeling behind a palette produces more distinctive colours than naming a style like pastel or minimal.
- Assistants often get contrast ratios wrong, so check every text and background pair yourself with a contrast checker.
- WCAG asks for a contrast ratio of at least 4.5:1 for body text and 3:1 for large text.
- A palette is only proven once you have used it in real designs at real sizes, including a dark and a light version if you need both.

Any capable chat assistant can work as an **AI color palette generator**, and the difference between a pretty list and a usable palette is the prompt. Ask for five to seven colours, each with a job (ground, text, accent, surface, border), a name and a hex code, and describe a real place or material rather than a style. Then check every pair that will carry text with a contrast checker, because assistants often state contrast ratios they never calculated. The prompts and checks below take about ten minutes.

## Why generic palette prompts give generic palettes

"Give me a modern pastel palette" asks the model for the most typical answer to a very common request. You get the same mint, blush and lilac that every free generator offers. Two changes fix most of it: give the colours jobs, and give the assistant something specific to look at in its mind.

### Prompt that disappoints

- "A nice palette for my brand"
- Style words only: modern, clean, pastel
- Five hex codes, no roles
- Trusts the assistant's contrast claims
- Judged as swatches in the chat

### Prompt that works

- Business, audience and mood in one line
- A real source: a place, a material, a time of day
- Each colour given a role and a name
- Contrast checked in a tool
- Judged on a real post at real size

## A palette prompt you can copy

```text
Create a colour palette for [business, one line] aimed at [audience].
Mood: [three words]. Inspired by: [a real place, material or moment].
Avoid: [colours or clichés you don't want].

Return 6 colours as a table: role, name, hex.
Roles: ground, deep text, light text, main colour, accent (used sparingly), soft surface.
Then say which pairs are meant to carry text.
Do not state contrast ratios; I will check them.
```

The last line stops the assistant inventing numbers. You will measure contrast properly in the next step.

The "inspired by" line does the heavy lifting. "A harbour at six in the morning", "terracotta tiles after rain" or "the inside of an old bookshop" give the model something with real colour relationships, which is why they beat style labels. [Colour palette from an image](https://gradiently.design/guide/color-palette-from-image) uses the same idea with a photo instead of words.

## A worked example

Here is the kind of result to expect from a prompt for a small florist, inspired by "a cold greenhouse in early spring", with the mood words calm, fresh and quietly expensive.

- Greenhouse night: #0f1f1a
- Fern shadow: #1f3b32
- Stem green: #4d7c66
- Ranunculus: #e8a0a8
- Misted glass: #eef2ec
- Frosted pane: #c9d6cc

Ground, deep text, main colour, accent, light text and soft surface. The pink accent is meant for one small place per design.

Turn it into a background before judging it. Swatches in a row always look tidy; colours blended together show you whether the family really belongs together or turns muddy where they meet.

Greenhouse night, stem light: `radial-gradient(circle at 80% 15%, #4d7c66 0%, #1f3b32 40%, #0f1f1a 80%)`

The dark ground with the main green lit from the top right. Misted glass type would sit in the calm lower left.

## How to check palette contrast properly

Language models predict text; they don't calculate. A model may tell you a pair passes when it doesn't. Paste each text pair into a checker such as [WebAIM's contrast checker](https://webaim.org/resources/contrastchecker/) and use the WCAG thresholds.

| Use | WCAG AA minimum | Example pair from the palette |
| --- | --- | --- |
| Body text and small labels | 4.5:1 | Misted glass `#eef2ec` on Greenhouse night `#0f1f1a` |
| Large text (headlines) | 3:1 | Ranunculus `#e8a0a8` on Fern shadow `#1f3b32` |
| Icons and interface parts | 3:1 | Stem green `#4d7c66` on Misted glass `#eef2ec` |
| Decoration only | No minimum | Frosted pane `#c9d6cc` as a soft surface |

Thresholds from WCAG 2. Measure every pair you plan to use; the table shows which ones to test, not results.

If a pair fails, ask the assistant a narrow follow up: "Darken the deep text colour until it reaches 4.5:1 on the soft surface, keeping its hue." Then measure again. [Colour contrast and accessibility](https://gradiently.design/guide/color-contrast-accessibility) explains the ratios, and [colour blindness in design](https://gradiently.design/guide/color-blindness-design) covers pairs that pass contrast but still confuse some readers, such as red and green with similar lightness.

> **Gradients complicate contrast** On a gradient or a photo, the background behind text changes from letter to letter. Check the lightest point behind light type and the darkest point behind dark type, not the average.

## Follow up prompts that improve a palette

- "Give me a light version of this palette that keeps the same character, with the same roles."
- "Which colour here is closest to what my competitors use? Replace it with something that stands apart."
- "Write each colour in `oklch()` as well as hex, and keep lightness steps even between the greens."
- "Suggest a 60, 30, 10 split for a social post using this palette."
- "Write CSS custom properties for these colours, named by role, not by hue."

The last one is useful if you build for the web: naming by role (`--ground`, `--text-deep`) lets you swap the palette later without touching every rule. [The 60 30 10 rule](https://gradiently.design/guide/60-30-10-rule) explains the split, and [OKLCH explained](https://gradiently.design/guide/oklch-explained) shows why even lightness steps make blends cleaner.

```css
:root {
  --ground: #0f1f1a;
  --text-deep: #1f3b32;
  --main: #4d7c66;
  --accent: #e8a0a8;
  --text-light: #eef2ec;
  --surface-soft: #c9d6cc;
}
```

The florist palette as CSS variables named by role.

## Test the palette on real designs

A palette proves itself on a busy feed, not in a chat. Make three real pieces with it: an announcement, a quote and a sale post, at the sizes you actually publish. If the accent starts appearing everywhere, it is no longer an accent.

A portrait Instagram post for a florist announcing spring stems, with pale type on a deep green background

A first test post: dark ground, pale type, one note of colour.

In Gradiently, palettes live in the brand kit, and a Mark keeps the words readable by itself: its calmest region moves behind the text and Auto ink picks light or dark type per line from the Mark's own colours, so the words stay readable at every size. [Colour palette generator](https://gradiently.design/guide/color-palette-generator) covers non AI routes to a palette if you'd rather start by hand.

## FAQ

### Can ChatGPT generate a colour palette?

Yes. Ask for colours with roles, names and hex codes, and describe a real place or material for inspiration. Check contrast yourself, because assistants can state ratios they never calculated.

### What is the best prompt for an AI color palette generator?

Give your business, audience, three mood words, a real source of inspiration and colours to avoid, then ask for six colours as a table of role, name and hex.

### How do I check if a palette is accessible?

Test every text and background pair in a contrast checker. WCAG AA asks for 4.5:1 for body text and 3:1 for large text and interface parts.

### How many colours should a brand palette have?

Five to seven covers most brands: a ground, one or two text colours, a main colour, an accent used sparingly and a soft surface.
