10 color roles
Every color has a defined purpose. Use the buttons on the right to copy it in any format.
primary#9f57c7rgb(159, 87, 199)hsl(278.6, 50%, 56.1%)primaryHover#7c32a4rgb(124, 50, 164)hsl(278.9, 53.3%, 42%)primaryActive#592277rgb(89, 34, 119)hsl(278.8, 55.6%, 30%)textMain#272329rgb(39, 35, 41)hsl(280, 7.9%, 14.9%)textSub#756a7crgb(117, 106, 124)hsl(276.7, 7.8%, 45.1%)bg#faf9fargb(250, 249, 250)hsl(300, 9.1%, 97.8%)surface#f5f4f6rgb(245, 244, 246)hsl(270, 10%, 96.1%)border#e6e3e8rgb(230, 227, 232)hsl(276, 9.8%, 90%)link#7a2ea3rgb(122, 46, 163)hsl(279, 56%, 41%)accent#79db43rgb(121, 219, 67)hsl(98.7, 67.9%, 56.1%)How to use it
Written by hand for the hue family and lightness of this palette, not assembled from a template.
The lead color is light, so it works well over large areas — just keep text and borders dark enough to hold the contrast.
What it looks like in a real interface
The same palette rendered across all three platforms — the fastest way to judge whether it works.
Build your product with this palette
Navigation, buttons, cards and text hierarchy — previewed in one go.
Primary actionLearn moreAccessibility contrast check
Calculated to WCAG 2.1. AA is the accessibility baseline, AAA the enhanced level.
| Foreground / background | Ratio | Body text | Large text |
|---|---|---|---|
| Body text / page background | 14.72:1 | AAA | AAA |
| Body text / card background | 14.1:1 | AAA | AAA |
| Brand color / page background | 4.29:1 | AA | AA |
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: #9f57c7; /* Primary */
--color-primaryHover: #7c32a4; /* Primary hover */
--color-primaryActive: #592277; /* Primary active */
--color-textMain: #272329; /* Text main */
--color-textSub: #756a7c; /* Text sub */
--color-bg: #faf9fa; /* Background */
--color-surface: #f5f4f6; /* Surface */
--color-border: #e6e3e8; /* Border */
--color-link: #7a2ea3; /* Link */
--color-accent: #79db43; /* Accent */
}SCSS variables
$color-primary: #9f57c7; // Primary
$color-primaryHover: #7c32a4; // Primary hover
$color-primaryActive: #592277; // Primary active
$color-textMain: #272329; // Text main
$color-textSub: #756a7c; // Text sub
$color-bg: #faf9fa; // Background
$color-surface: #f5f4f6; // Surface
$color-border: #e6e3e8; // Border
$color-link: #7a2ea3; // Link
$color-accent: #79db43; // AccentTailwind config
// tailwind.config.js: Mulberry
module.exports = {
theme: {
extend: {
colors: {
'primary': '#9f57c7',
'primaryHover': '#7c32a4',
'primaryActive': '#592277',
'textMain': '#272329',
'textSub': '#756a7c',
'bg': '#faf9fa',
'surface': '#f5f4f6',
'border': '#e6e3e8',
'link': '#7a2ea3',
'accent': '#79db43',
},
},
},
};Machine-readable JSON
{
"name": "Mulberry",
"platform": "web",
"tags": [
"Fresh",
"Purple"
],
"advice": {
"family": "Purple",
"depth": "The lead color is light, so it works well over large areas — just keep text and borders dark enough to hold the contrast.",
"muted": null,
"suit": "Its sense of prestige suits memberships, privileges and exclusivity.",
"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": "#9f57c7",
"primaryHover": "#7c32a4",
"primaryActive": "#592277",
"textMain": "#272329",
"textSub": "#756a7c",
"bg": "#faf9fa",
"surface": "#f5f4f6",
"border": "#e6e3e8",
"link": "#7a2ea3",
"accent": "#79db43"
},
"contrast": {
"textOnBg": {
"ratio": 14.72,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 4.29,
"level": "AA"
},
"textOnSurface": {
"ratio": 14.1,
"level": "AAA"
}
}
}