Market
Pricing
Sign inStart
Field GuideColour
Colour

Bright colour palettes that stay readable

Vivid colours are easy to love and easy to make unreadable. The trick is knowing which brights want black text, which want white, and giving the whole palette somewhere quiet to rest.

GradientlyVerified Gradiently account·October 1, 2026·5 min read
Cover: Petrol Chart · GR·CC9N·VS

The short version

  • A bright colour palette uses highly saturated colours such as hot pink, tangerine, lemon, electric blue and bright green.
  • Bright yellows, greens, cyans, teals and oranges are light colours, so they need dark text rather than white.
  • Bright reds and pinks measure around 3.5:1 against white, which fails WCAG AA for body text, so set small text on them in black and keep white for large headlines.
  • Two brights of similar lightness placed edge to edge appear to vibrate, so separate them with a neutral or a clear difference in lightness.
  • Every bright palette needs a calm anchor, usually a near black or a warm off white, to carry text and give the colour room.
On this page
Which bright colours need black textSix bright colour palettes with hex codesHow to keep a bright palette readableBright gradients without a grey middle

A bright color palette stays readable when you treat each vivid colour by its lightness, not its loudness. Lemon #FFD60A, bright green #34C759, aqua #00C2FF and tangerine #FF7A00 are all light enough that they need near black text. Hot pink #FF2D87 and poppy red #FF3B30 sit in an awkward middle: black text passes, but white only works for large headlines. Add one calm anchor colour, give each bright its own space, and a palette that looks like a sweet shop becomes one you can actually set words on.

Which bright colours need black text

Saturation makes a colour feel strong, but readability depends on lightness. Many brights are much lighter than they look, which is why white text on bright green or yellow feels loud and is still hard to read. The table below measures eleven brights against white and against near black #111111.

Lemon#FFD60A

With white text

1.41:1

With black text

13.38:1, use black
Aqua#00C2FF

With white text

2.07:1

With black text

9.14:1, use black
Mint teal

Hex

#00D1B2

With white text

1.95:1

With black text

9.68:1, use black
Bright green

Hex

#34C759

With white text

2.22:1

With black text

8.51:1, use black
Tangerine

Hex

#FF7A00

With white text

2.61:1

With black text

7.23:1, use black
Poppy red

Hex

#FF3B30

With white text

3.55:1

With black text

5.32:1, use black
Hot pink#FF2D87

With white text

3.51:1

With black text

5.37:1, use black
Raspberry

Hex

#E0115F

With white text

4.76:1, use white

With black text

3.97:1
Electric violet

Hex

#8B3DFF

With white text

4.99:1, use white

With black text

3.78:1
Cobalt#1D4ED8

With white text

6.70:1, use white

With black text

2.82:1
Signal red

Hex

#C81D11

With white text

5.77:1, use white

With black text

3.27:1
ColourHexWith white textWith black text
Lemon#FFD60A1.41:113.38:1, use black
Aqua#00C2FF2.07:19.14:1, use black
Mint teal#00D1B21.95:19.68:1, use black
Bright green#34C7592.22:18.51:1, use black
Tangerine#FF7A002.61:17.23:1, use black
Poppy red#FF3B303.55:15.32:1, use black
Hot pink#FF2D873.51:15.37:1, use black
Raspberry#E0115F4.76:1, use white3.97:1
Electric violet#8B3DFF4.99:1, use white3.78:1
Cobalt#1D4ED86.70:1, use white2.82:1
Signal red#C81D115.77:1, use white3.27:1
WCAG AA asks for 4.5:1 for body text and 3:1 for large text. Raspberry and electric violet are close calls: white passes, but only just.

A useful rule of thumb: the light side of the wheel from orange through yellow and green to cyan takes black, and so do the hottest pinks and reds; the deep side from blue through violet to crimson takes white. If you design for a wide audience, also read color blind friendly palettes, because brights that differ only in hue can look the same to some readers.

Six bright colour palettes with hex codes

Fruit stand. Three warm brights between a warm white and an ink. The ink carries all text; the brights carry shapes and big words.
Arcade. A dark ground makes brights glow, and all three pass AA against it: lemon at 12.76:1, mint teal at 9.23:1, hot pink at 5.13:1.
  • Pool party: aqua #00C2FF, bright green #34C759, lemon #FFD60A, white #FFFFFF, deep navy #0B1F3A for text.
  • Primary school: cobalt #1D4ED8, signal red #C81D11, lemon #FFD60A, paper #FAF7F0, ink #111111.
  • Riso print: fluorescent pink #FF48B0, blue #0078BF, yellow #FFE800, newsprint #F2EFE6, black #1A1A1A.
  • Tropical: raspberry #E0115F, mango #FFA51F, palm #00A86B, sand #F6EBD9, cocoa #2B1B14.

How to keep a bright palette readable

  1. 1

    Choose an anchor first

    Pick a near black or a warm off white and let it cover most of the surface. Warm white #FFF8EC with ink #111111 measures 17.89:1, so every word set in ink reads.

  2. 2

    Set text in the anchor, not in a bright

    Body text belongs in the anchor colour. Brights can carry a headline or a single big number, where the 3:1 large text threshold applies.

  3. 3

    Separate brights of equal lightness

    Hot pink next to an electric blue such as #2F6BFF measures 1.28:1, and the edge seems to shimmer. Put white, black or space between them, or pair a light bright with a deep one.

  4. 4

    Limit how many brights touch the words

    Three brights in a palette is plenty, and only one should sit behind any block of text. The 60 30 10 rule helps here: anchor 60, lead bright 30, accents 10.

  5. 5

    Check it on a phone outdoors

    Brights wash out in sunlight and on low brightness screens. If the words still read on a dimmed phone, the palette works.

This weekend
Summer sale starts now.
Everything in store, Friday to Sunday
Gradiently · @gradiently

A loud background with words straight on top: the headline survives, the detail line disappears.

This weekend
Summer sale starts now.
Everything in store, Friday to Sunday
Gradiently · @gradiently

The same colours, with the background settling behind the text. Still bright, and every line reads.

That right hand version is what Gradiently does by default. A Mark knows where your words sit, eases its busiest colour away from them and picks light or dark type line by line, so you can keep a palette loud without a box or shadow behind the text.

Bright gradients without a grey middle

Blend two brights from opposite sides of the wheel in plain sRGB and the midpoint goes grey or brown. Either choose neighbours, or ask the browser to interpolate in oklch, which keeps the middle saturated. Gradient interpolation explains the difference.

Neighbouring brights blend cleanly. Opposites stay vivid when interpolated in oklch.

For more combinations, see vibrant gradients and neon gradients. For full contrast guidance, read color contrast.

One warning if the palette will be printed: the most electric screen colours, especially aqua, hot pink and bright green, sit outside what standard CMYK inks can reproduce, and they come back from the printer noticeably duller. Ask for a proof, or plan on spot or fluorescent inks. RGB vs CMYK explains what to expect.

Design with a living gradient

Posts, stories, slides and banners in every size, with text that always reads.

Start designing, free

Questions people ask

What is a bright color palette?

A set of highly saturated colours such as hot pink, tangerine, lemon, aqua and bright green, usually balanced with a neutral anchor for text.

Should I use white or black text on bright colours?

Use black on light brights such as yellow, orange, green, aqua and teal, and on hot pink and poppy red too. Use white on deep brights such as cobalt, violet, raspberry and signal red.

Why do some bright colours look like they vibrate?

Two saturated colours of similar lightness side by side, such as hot pink and electric blue, make the edge between them shimmer. Separate them with a neutral or change the lightness of one.

How many bright colours should a palette have?

Two or three brights plus one or two neutrals is plenty. Only one bright should sit behind any block of text.

Are bright colours bad for accessibility?

Not in themselves. Problems come from text on brights with too little contrast, so check every text pair against WCAG and keep body text in a dark or light anchor.

Share this guide

Written by GradientlyVerified Gradiently account

The team behind Gradiently, a design tool built around Marks: living gradients that make everything you design look like yours.

See our profile

On this page

Which bright colours need black textSix bright colour palettes with hex codesHow to keep a bright palette readableBright gradients without a grey middle

Share this guide

Next in Colour

Monochrome gradients: one hue, many shades

Keep reading

All Colour guides
Gradients

Vibrant gradients: saturated codes that don't vibrate

5 min read

Saturated colour is the quickest way to get noticed and the quickest way to make eyes ache. These codes are bright on purpose and built so their edges never shimmer, with the reasons, so you can make your own.

Colour

Color contrast: readable text for everyone

5 min read

Contrast is the difference between words people read and words people skip. The WCAG numbers in plain English, how to check them, and what changes when the background is a gradient.

Gradients

Neon gradients: glow without the eye strain

5 min read

Neon is colour turned all the way up. On a dark ground it glows; spread across a whole screen it buzzes. Here is how to keep the glow and lose the buzz.

Find the look that’s only yours.

Every Mark is a living background with one owner. Try an unclaimed Mark, and claim yours when it feels right.

Start designing

Check a certificate

Type a certificate number or a Mark’s code to see who owns it.

Works with ChatGPT and Claude

Ask your AI for a design. It makes it in your Mark, ready to edit.

ChatGPTClaude
How to connect

Product

  • Market
  • Explore
  • Pricing
  • Certificates

Learn

  • Field Guide
  • Help centre
  • What’s new

Developers

  • Overview
  • ChatGPT and Claude
  • API reference
  • API keys

Company

  • About
  • Contact us
  • Sign in

Legal

  • Terms
  • Privacy
  • Refunds
  • Mark protection
  • Cookies
  • All policies
Move through the letters. Each one wears a real Mark.Touch a letter to see its Mark.One name. Ten Marks inside it.
© 2026 Gradiently