10 colour roles
Every colour has a defined purpose. Use the buttons on the right to copy it in any format.
primary#6418a3rgb(100, 24, 163)hsl(272.8, 74.3%, 36.7%)primaryHover#3e0d66rgb(62, 13, 102)hsl(273, 77.4%, 22.5%)primaryActive#1d0631rgb(29, 6, 49)hsl(272.1, 78.2%, 10.8%)textMain#272329rgb(39, 35, 41)hsl(280, 7.9%, 14.9%)textSub#746a7crgb(116, 106, 124)hsl(273.3, 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#3b0b64rgb(59, 11, 100)hsl(272.4, 80.2%, 21.8%)accent#85f22crgb(133, 242, 44)hsl(93, 88.4%, 56.1%)How to use it
Written by hand for the hue family and lightness of this palette, not assembled from a template.
This palette's lead colour is deep and carries weight — suited to dark themes, or interfaces that need to feel professional and steady.
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 | 9.08: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: #6418a3; /* Primary */
--color-primaryHover: #3e0d66; /* Primary hover */
--color-primaryActive: #1d0631; /* Primary active */
--color-textMain: #272329; /* Text main */
--color-textSub: #746a7c; /* Text sub */
--color-bg: #faf9fa; /* Background */
--color-surface: #f5f4f6; /* Surface */
--color-border: #e6e3e8; /* Border */
--color-link: #3b0b64; /* Link */
--color-accent: #85f22c; /* Accent */
}SCSS variables
$color-primary: #6418a3; // Primary
$color-primaryHover: #3e0d66; // Primary hover
$color-primaryActive: #1d0631; // Primary active
$color-textMain: #272329; // Text main
$color-textSub: #746a7c; // Text sub
$color-bg: #faf9fa; // Background
$color-surface: #f5f4f6; // Surface
$color-border: #e6e3e8; // Border
$color-link: #3b0b64; // Link
$color-accent: #85f22c; // AccentTailwind config
// tailwind.config.js: Grape
module.exports = {
theme: {
extend: {
colors: {
'primary': '#6418a3',
'primaryHover': '#3e0d66',
'primaryActive': '#1d0631',
'textMain': '#272329',
'textSub': '#746a7c',
'bg': '#faf9fa',
'surface': '#f5f4f6',
'border': '#e6e3e8',
'link': '#3b0b64',
'accent': '#85f22c',
},
},
},
};Machine-readable JSON
{
"name": "Grape",
"platform": "web",
"tags": [
"Calm",
"Purple"
],
"advice": {
"family": "Purple",
"depth": "This palette's lead colour is deep and carries weight — suited to dark themes, or interfaces that need to feel professional and steady.",
"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": "#6418a3",
"primaryHover": "#3e0d66",
"primaryActive": "#1d0631",
"textMain": "#272329",
"textSub": "#746a7c",
"bg": "#faf9fa",
"surface": "#f5f4f6",
"border": "#e6e3e8",
"link": "#3b0b64",
"accent": "#85f22c"
},
"contrast": {
"textOnBg": {
"ratio": 14.72,
"level": "AAA"
},
"primaryOnBg": {
"ratio": 9.08,
"level": "AAA"
},
"textOnSurface": {
"ratio": 14.1,
"level": "AAA"
}
}
}