Pearl Violet

SaaS product tour · Score 86 ·Excellent

Sitting mid-range in lightness, the lead color adapts to both light and dark themes with little adjustment. On a web page it works when the brand color anchors calls to action and the surrounding roles stay quiet enough for long reading sessions.

View JSON

10 color roles

Every color has a defined purpose. Use the buttons on the right to copy it in any format.

Primary primary
Brand color, mapped to the CSS variable --color-primary
#ac1dc9rgb(172, 29, 201)hsl(289.9, 74.8%, 45.1%)
Primary hover primaryHover
Hover state: --color-primary-hover
#78128drgb(120, 18, 141)hsl(289.8, 77.4%, 31.2%)
Primary active primaryActive
Pressed state: --color-primary-active
#4a0a57rgb(74, 10, 87)hsl(289.9, 79.4%, 19%)
Text main textMain
Body text: --color-text-main
#2b1f2drgb(43, 31, 45)hsl(291.4, 18.4%, 14.9%)
Text sub textSub
Secondary text: --color-text-sub
#7f6085rgb(127, 96, 133)hsl(290.3, 16.2%, 44.9%)
Background bg
Page background: --color-bg
#fbf9fbrgb(251, 249, 251)hsl(300, 20%, 98%)
Surface surface
Card and panel background: --color-surface
#f6f3f7rgb(246, 243, 247)hsl(285, 20%, 96.1%)
Border border
Dividers and outlines: --color-border
#e8e1eargb(232, 225, 234)hsl(286.7, 17.6%, 90%)
Link link
Link color: --color-link
#760f8brgb(118, 15, 139)hsl(289.8, 80.5%, 30.2%)
Accent accent
Highlight color: --color-accent
#b1f628rgb(177, 246, 40)hsl(80.1, 92%, 56.1%)

Editorial review · Web

We go through the traps that bite most often on this platform. Every verdict is computed from the color values, not boilerplate.

Do links separate from body textSolid

No problem here, safe to use as is.

Card surface vs page backgroundWatch

The gap is small. Separate them with lightness or an icon as well, rather than hue alone.

Is the hover state visibleSolid

No problem here, safe to use as is.

Does the border steal attentionSolid

No problem here, safe to use as is.

How to use it

Written by hand for the hue family and lightness of this palette, not assembled from a template.

The lead color sits in the middle of the lightness range, which makes it the most adaptable: both light and dark themes are easy to build on.

Good forIt carries a touch of sophistication, good for brands that want to stand apart.
Use with careHighly saturated purple quickly looks gaudy, so be careful in B2B and utility products.
Pairs withA hint of gold reinforces the sense of quality.

Hue family: Purple

What it looks like in a real interface

The same palette rendered across all three platforms, the fastest way to judge whether it works.

Live preview · switch platform
your-site.com×+
https://your-site.com
New

Build your product with this palette

Navigation, buttons, cards and text hierarchy, previewed in one go.

Primary actionLearn more
Card oneSecondary copy, used to check contrast against WCAG.
Card twoAccent color for highlights: keep it a step away from the brand color.
Card threeNeutral text carries body copy, the most frequently used color.

Accessibility contrast check

Calculated to WCAG 2.1. AA is the accessibility baseline, AAA the enhanced level.

Foreground / backgroundRatioBody textLarge text
Body text / page background15:1AAAAAA
Body text / card background14.28:1AAAAAA
Brand color / page background5.31:1AAAAAA

Verify this pair in the checker →Compare with other palettes →Site-wide accessibility report →

More palettes on this platform

Ranked by color family and shared tags, so the next one is worth opening.

Export to your project

Four formats, ready to paste. Or fetch them by URL from your tooling or AI agent.

CSS variables

:root { --color-primary: #ac1dc9; /* Primary */ --color-primaryHover: #78128d; /* Primary hover */ --color-primaryActive: #4a0a57; /* Primary active */ --color-textMain: #2b1f2d; /* Text main */ --color-textSub: #7f6085; /* Text sub */ --color-bg: #fbf9fb; /* Background */ --color-surface: #f6f3f7; /* Surface */ --color-border: #e8e1ea; /* Border */ --color-link: #760f8b; /* Link */ --color-accent: #b1f628; /* Accent */ }

SCSS variables

$color-primary: #ac1dc9; // Primary $color-primaryHover: #78128d; // Primary hover $color-primaryActive: #4a0a57; // Primary active $color-textMain: #2b1f2d; // Text main $color-textSub: #7f6085; // Text sub $color-bg: #fbf9fb; // Background $color-surface: #f6f3f7; // Surface $color-border: #e8e1ea; // Border $color-link: #760f8b; // Link $color-accent: #b1f628; // Accent

Tailwind config

// tailwind.config.js: Pearl Violet module.exports = { theme: { extend: { colors: { 'primary': '#ac1dc9', 'primaryHover': '#78128d', 'primaryActive': '#4a0a57', 'textMain': '#2b1f2d', 'textSub': '#7f6085', 'bg': '#fbf9fb', 'surface': '#f6f3f7', 'border': '#e8e1ea', 'link': '#760f8b', 'accent': '#b1f628', }, }, }, };

Machine-readable JSON

{ "name": "Pearl Violet", "platform": "web", "tags": [ "Coffee", "Pink" ], "advice": { "family": "Purple", "depth": "The lead color sits in the middle of the lightness range, which makes it the most adaptable: both light and dark themes are easy to build on.", "muted": null, "suit": "It carries a touch of sophistication, good for brands that want to stand apart.", "avoid": "Highly saturated purple quickly looks gaudy, so be careful in B2B and utility products.", "pair": "A hint of gold reinforces the sense of quality." }, "roles": { "primary": "#ac1dc9", "primaryHover": "#78128d", "primaryActive": "#4a0a57", "textMain": "#2b1f2d", "textSub": "#7f6085", "bg": "#fbf9fb", "surface": "#f6f3f7", "border": "#e8e1ea", "link": "#760f8b", "accent": "#b1f628" }, "contrast": { "textOnBg": { "ratio": 15, "level": "AAA" }, "primaryOnBg": { "ratio": 5.31, "level": "AAA" }, "textOnSurface": { "ratio": 14.28, "level": "AAA" } } }