10 colour roles
Every colour has a defined purpose. Use the buttons on the right to copy it in any format.
primary#8f35b5rgb(143, 53, 181)hsl(282.2, 54.7%, 45.9%)primaryHover#642280rgb(100, 34, 128)hsl(282.1, 58%, 31.8%)primaryActive#3f1451rgb(63, 20, 81)hsl(282.3, 60.4%, 19.8%)textMain#272329rgb(39, 35, 41)hsl(280, 7.9%, 14.9%)textSub#766a7crgb(118, 106, 124)hsl(280, 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#621f7frgb(98, 31, 127)hsl(281.9, 60.8%, 31%)accent#c0e13drgb(192, 225, 61)hsl(72.1, 73.2%, 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 colour sits in the middle of the lightness range, which makes it the most adaptable: both light and dark themes are easy to build on.
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 colour / page background | 5.98:1 | AAA | AAA |
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: #8f35b5; /* Primary */
--color-primaryHover: #642280; /* Primary hover */
--color-primaryActive: #3f1451; /* Primary active */
--color-textMain: #272329; /* Text main */
--color-textSub: #766a7c; /* Text sub */
--color-bg: #faf9fa; /* Background */
--color-surface: #f5f4f6; /* Surface */
--color-border: #e6e3e8; /* Border */
--color-link: #621f7f; /* Link */
--color-accent: #c0e13d; /* Accent */
}SCSS variables
$color-primary: #8f35b5; // Primary
$color-primaryHover: #642280; // Primary hover
$color-primaryActive: #3f1451; // Primary active
$color-textMain: #272329; // Text main
$color-textSub: #766a7c; // Text sub
$color-bg: #faf9fa; // Background
$color-surface: #f5f4f6; // Surface
$color-border: #e6e3e8; // Border
$color-link: #621f7f; // Link
$color-accent: #c0e13d; // AccentTailwind config
// tailwind.config.js: Dusk Purple
module.exports = {
theme: {
extend: {
colors: {
'primary': '#8f35b5',
'primaryHover': '#642280',
'primaryActive': '#3f1451',
'textMain': '#272329',
'textSub': '#766a7c',
'bg': '#faf9fa',
'surface': '#f5f4f6',
'border': '#e6e3e8',
'link': '#621f7f',
'accent': '#c0e13d',
},
},
},
};Machine-readable JSON
{
"name": "Dusk Purple",
"platform": "web",
"tags": [
"Cyber",
"Purple"
],
"advice": {
"family": "Purple",
"depth": "The lead colour 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": "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": "#8f35b5",
"primaryHover": "#642280",
"primaryActive": "#3f1451",
"textMain": "#272329",
"textSub": "#766a7c",
"bg": "#faf9fa",
"surface": "#f5f4f6",
"border": "#e6e3e8",
"link": "#621f7f",
"accent": "#c0e13d"
},
"contrast": {
"textOnBg": {
"ratio": 14.72,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 5.98,
"level": "AAA"
},
"textOnSurface": {
"ratio": 14.1,
"level": "AAA"
}
}
}