Indigo Velvet#232F64
Lavender Glow#AFA0FF
Royal Violet#5B3FD6
Misty Lavender#C9BEFF
Lilac Veil#E6E1FF
Palette direction

Strategic Color Palette Generator

A precise and modern monochromatic purple palette designed for an AI-driven tech brand, balancing clarity and sophistication with a range of coordinated purples to define brand identity and interface elements distinctly while maintaining visual harmony.

MonochromaticTechmono purplemodern purpleAI brand colorstech palette
strategic-color-palette-generator.com
Tech color direction

Strategic Color Palette Generator

A precise and modern monochromatic purple palette designed for an AI-driven tech brand, balancing clarity and sophistication with a range of coordinated purples to define brand identity and interface elements distinctly while maintaining visual harmony.

Logo contrast guide

Logo color pairings

Each column shows a usable logo color on a palette background, with contrast checked for clarity.

Logo Pure White #FFFFFF
on Indigo Velvet #232F64

12.6:1 Excellent

Logo Ink Black #161320
on Lavender Glow #AFA0FF

8.1:1 Excellent

Logo Ink Black #161320
on Pure White #FFFFFF

18.3:1 Excellent

Logo Ink Black #161320
on Lilac Veil #E6E1FF

14.4:1 Excellent
Motion gradient

Gradient background

Built from the main brand color and one generated shade, so the effect feels modern without leaving the palette.

Business card

Printed materials without guessing.

A neutral card system with the logo color, contact text, and a restrained palette accent.

Avery Stone Palette designer avery@example.com colorfly.design
Mobile website

The palette has to survive the small screen.

A mobile landing page preview with logo, navigation, headline, CTA, content card, and chart color usage.

Tech Strategic Color Palette Generator

The main purples form a cohesive monochromatic system that conveys intelligence and innovation while providing clear functional distinctions between brand and interface elements.

Gradient type

Gradient on text

A cleaner way to use the brand color as a digital accent without turning the whole interface colorful.

Analytics system

Dashboards need more than one pretty color.

Numbers, pie charts, bars, stacked bars, and lines reveal whether the palette can support real product interfaces.

Revenue$84.2k+18.4%
Retention72%Stable
Signals8Monochromatic
Audience split
Monthly growth
Trend line

Color Roles and Usage Map

Assign existing palette colors to brand, typography, and interface roles.

Brand identity

LogoUsed for logo marks and core brand symbols.Indigo Velvet #232F64
HeadlineUsed for main titles and key messages.Royal Violet #5B3FD6
LinkUsed for links and interactive text.Lavender Glow #AFA0FF

Buttons

Primary Button
Contrast12.63:1AA
BackgroundIndigo Velvet #232F64
TextPure White #FFFFFF
Secondary Button
Contrast8.10:1AA
BackgroundLavender Glow #AFA0FF
TextInk Black #161320
Outlined Button
Contrast2.26:1Low
BorderLavender Glow #AFA0FF
TextLavender Glow #AFA0FF

Interface

TextDefault readable body text.Ink Black #161320
Bg LightLight page or section background.Pure White #FFFFFF
Bg DarkDark page or section background.Ink Black #161320
IconSmall interface icons and marks.Misty Lavender #C9BEFF
BorderCards, inputs, and component borders.Misty Lavender #C9BEFF
DividerSubtle separators between content.Lilac Veil #E6E1FF
OutlineFocus rings and emphasis outlines.Lilac Veil #E6E1FF

Print Color Values

CMYK values are calculated from HEX by default. Adjust them only when preparing print materials.

Palette Colors

A compact view of the brand, support, and neutral colors that make up this system.

Main (Brand) Colors

The main purples form a cohesive monochromatic system that conveys intelligence and innovation while providing clear functional distinctions between brand and interface elements.

PrimaryIndigo Velvet

RolesLogo, Btn Primary Bg

A deep, rich indigo that serves as a strong and confident foundation for brand recognition and primary call-to-actions.

HEX#232F64
RGB35, 47, 100
HSL229, 48, 26
CMYK65, 53, 0, 61
SecondaryLavender Glow

RolesLink, Btn Secondary Bg, Btn Outlined Border, Btn Outlined Text

A soft, pastel lavender that complements the deep indigo by lending a gentle, approachable tone to navigation and secondary buttons.

HEX#AFA0FF
RGB175, 160, 255
HSL249, 100, 81
CMYK31, 37, 0, 0
TertiaryRoyal Violet

RolesHeadline

A vibrant royal violet that commands attention for headlines and key branding moments with clarity and authority.

HEX#5B3FD6
RGB91, 63, 214
HSL251, 65, 54
CMYK57, 71, 0, 16

Support Colors

Delicate lavender hues enhance the palette by defining UI accents and subtle boundaries, maintaining a refined and understated visual texture that supports the primary purples.

Misty Lavender

RolesIcon, Border

A muted, misty lavender that gently outlines icons and borders without competing for visual focus.

HEX#C9BEFF
RGB201, 190, 255
HSL250, 100, 87
CMYK21, 25, 0, 0
Lilac Veil

RolesDivider, Outline

An airy lilac veil providing soft dividers and outlines that foster clean separation while preserving openness.

HEX#E6E1FF
RGB230, 225, 255
HSL250, 100, 94
CMYK10, 12, 0, 0

Neutral Colors

Utility colors for backgrounds, text, borders, and balance.

Pure White

RolesBg Light, Btn Primary Text

HEX#FFFFFF
RGB255, 255, 255
HSL0, 0, 100
CMYK0, 0, 0, 0
Frosted White
HEX#F6F5FB
RGB246, 245, 251
HSL250, 43, 97
CMYK2, 2, 0, 2
Ink Black

RolesBg Dark, Text, Btn Secondary Text

HEX#161320
RGB22, 19, 32
HSL254, 25, 10
CMYK31, 41, 0, 87

Export and Handoff

Copy palette values, role tokens, animated gradient snippets, and structured handoff data for websites, design systems, and client work.

Export logo in seconds

Click to copy and go to Logo Export on myLogo.review to export your logo files in seconds.

Use when: you want to send this palette into myLogo.review.
COLORFLY_PALETTE_V2
{
    "format": "colorfly_palette_v2",
    "source": "colorfly.design",
    "colors": [
        {
            "name": "Indigo Velvet",
            "hex": "#232F64",
            "role": "main",
            "cmyk": {
                "c": 65,
                "m": 53,
                "y": 0,
                "k": 61,
                "source": "colorfly"
            }
        },
        {
            "name": "Lavender Glow",
            "hex": "#AFA0FF",
            "role": "main",
            "cmyk": {
                "c": 31,
                "m": 37,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Royal Violet",
            "hex": "#5B3FD6",
            "role": "main",
            "cmyk": {
                "c": 57,
                "m": 71,
                "y": 0,
                "k": 16,
                "source": "colorfly"
            }
        },
        {
            "name": "Misty Lavender",
            "hex": "#C9BEFF",
            "role": "support",
            "cmyk": {
                "c": 21,
                "m": 25,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Lilac Veil",
            "hex": "#E6E1FF",
            "role": "support",
            "cmyk": {
                "c": 10,
                "m": 12,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Pure White",
            "hex": "#FFFFFF",
            "role": "neutral",
            "cmyk": {
                "c": 0,
                "m": 0,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Frosted White",
            "hex": "#F6F5FB",
            "role": "neutral",
            "cmyk": {
                "c": 2,
                "m": 2,
                "y": 0,
                "k": 2,
                "source": "colorfly"
            }
        },
        {
            "name": "Ink Black",
            "hex": "#161320",
            "role": "neutral",
            "cmyk": {
                "c": 31,
                "m": 41,
                "y": 0,
                "k": 87,
                "source": "colorfly"
            }
        }
    ]
}
END_COLORFLY_PALETTE

Color tokens

Use these in CSS when you want every raw palette color available by name. Best for websites, landing pages, and design system variables.

Use when: you need the actual colors.
:root {
  --color-indigo-velvet: #232F64;
  --color-lavender-glow: #AFA0FF;
  --color-royal-violet: #5B3FD6;
  --color-misty-lavender: #C9BEFF;
  --color-lilac-veil: #E6E1FF;
  --color-pure-white: #FFFFFF;
  --color-frosted-white: #F6F5FB;
  --color-ink-black: #161320;
}

Role tokens

Use these in CSS when colors are assigned to practical jobs like text, buttons, borders, links, and backgrounds.

Use when: you need UI roles, not just swatches.
:root {
  --role-logo: #232F64;
  --role-btn-primary-bg: #232F64;
  --role-link: #AFA0FF;
  --role-btn-secondary-bg: #AFA0FF;
  --role-btn-outlined-border: #AFA0FF;
  --role-btn-outlined-text: #AFA0FF;
  --role-headline: #5B3FD6;
  --role-icon: #C9BEFF;
  --role-border: #C9BEFF;
  --role-divider: #E6E1FF;
  --role-outline: #E6E1FF;
  --role-bg-light: #FFFFFF;
  --role-btn-primary-text: #FFFFFF;
  --role-bg-dark: #161320;
  --role-text: #161320;
  --role-btn-secondary-text: #161320;
}

JSON

Use this structured palette data in apps, generators, plugins, or tools that need to read the palette programmatically.

Use when: a developer or app needs data.
{
    "indigo-velvet": "#232F64",
    "lavender-glow": "#AFA0FF",
    "royal-violet": "#5B3FD6",
    "misty-lavender": "#C9BEFF",
    "lilac-veil": "#E6E1FF",
    "pure-white": "#FFFFFF",
    "frosted-white": "#F6F5FB",
    "ink-black": "#161320"
}

Moving gradient background

Copy the animated radial gradient background from the visualizer, with this palette already applied.

Use when: you want the hero gradient effect.
<div class="colorfly-moving-gradient-bg">
  <span class="colorfly-gradient-spark" aria-hidden="true"></span>
  <div>
    <small>Motion gradient</small>
    <h2>Gradient background</h2>
    <p>A moving brand gradient built from your palette.</p>
  </div>
</div>

<style>
.colorfly-moving-gradient-bg {
  --gradient-anchor: #232F64;
  --gradient-partner: #868DAA;
  --gradient-accent: #C9BEFF;
  --gradient-text: #FFFFFF;
  position: relative;
  display: grid;
  place-items: center;
  min-height: 340px;
  overflow: hidden;
  padding: 42px;
  color: var(--gradient-text);
  border-radius: 28px;
  background:
    radial-gradient(circle at 20% 82%, color-mix(in srgb, var(--gradient-accent) 48%, transparent) 0 14%, transparent 42%),
    radial-gradient(circle at 84% 18%, color-mix(in srgb, var(--gradient-partner) 52%, transparent) 0 16%, transparent 46%),
    linear-gradient(135deg, var(--gradient-anchor), color-mix(in srgb, var(--gradient-anchor) 72%, black 18%), var(--gradient-partner), var(--gradient-anchor));
  background-size: 160% 160%, 180% 180%, 240% 240%;
  animation: colorfly-gradient-bg 10.5s cubic-bezier(.72, 0, .22, 1) infinite;
}
.colorfly-moving-gradient-bg > div {
  position: relative;
  z-index: 1;
  max-width: 640px;
  text-align: center;
}
.colorfly-moving-gradient-bg::before,
.colorfly-moving-gradient-bg::after,
.colorfly-gradient-spark {
  content: "";
  position: absolute;
  z-index: 0;
  aspect-ratio: 1;
  border-radius: 50%;
  pointer-events: none;
  mix-blend-mode: screen;
}
.colorfly-moving-gradient-bg::before {
  left: -10%;
  top: -18%;
  width: min(520px, 72%);
  background:
    radial-gradient(circle, color-mix(in srgb, var(--gradient-partner) 88%, white 8%) 0%, transparent 66%),
    radial-gradient(circle at 68% 32%, color-mix(in srgb, var(--gradient-accent) 58%, white 10%) 0%, transparent 38%);
  opacity: .86;
  animation: colorfly-gradient-orb-one 11s cubic-bezier(.65, 0, .22, 1) infinite;
}
.colorfly-moving-gradient-bg::after {
  right: -12%;
  bottom: -24%;
  width: min(620px, 82%);
  background:
    radial-gradient(circle, color-mix(in srgb, var(--gradient-accent) 86%, white 6%) 0%, transparent 68%),
    radial-gradient(circle at 28% 72%, color-mix(in srgb, var(--gradient-partner) 62%, white 8%) 0%, transparent 42%);
  opacity: .78;
  animation: colorfly-gradient-orb-two 12.8s cubic-bezier(.56, 0, .25, 1) infinite;
}
.colorfly-gradient-spark {
  left: 42%;
  top: 44%;
  width: min(360px, 54%);
  background: radial-gradient(circle, color-mix(in srgb, var(--gradient-anchor) 64%, white 12%) 0%, transparent 62%);
  opacity: .46;
  animation: colorfly-gradient-spark 9.2s cubic-bezier(.62, 0, .2, 1) infinite;
}
@keyframes colorfly-gradient-bg {
  0%, 100% { background-position: 0% 46%, 100% 24%, 0% 50%; }
  18% { background-position: 44% 88%, 58% 12%, 34% 22%; }
  39% { background-position: 86% 38%, 18% 74%, 86% 64%; }
  63% { background-position: 26% 16%, 84% 92%, 42% 100%; }
  82% { background-position: 68% 68%, 32% 30%, 100% 34%; }
}
@keyframes colorfly-gradient-orb-one {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  22% { transform: translate3d(78%, 22%, 0) scale(1.12); }
  47% { transform: translate3d(44%, 86%, 0) scale(.92); }
  72% { transform: translate3d(112%, 56%, 0) scale(1.2); }
}
@keyframes colorfly-gradient-orb-two {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1.08); }
  19% { transform: translate3d(-48%, -18%, 0) scale(.9); }
  53% { transform: translate3d(-92%, -62%, 0) scale(1.14); }
  79% { transform: translate3d(-22%, -86%, 0) scale(.98); }
}
@keyframes colorfly-gradient-spark {
  0%, 100% { transform: translate3d(-12%, -8%, 0) scale(.84); }
  28% { transform: translate3d(52%, -34%, 0) scale(1.08); }
  58% { transform: translate3d(-44%, 38%, 0) scale(.96); }
  84% { transform: translate3d(20%, 28%, 0) scale(1.18); }
}
</style>

Moving gradient text

Copy the animated gradient text treatment from the visualizer, generated from the main and support colors.

Use when: you want gradient headline text.
<div class="colorfly-gradient-text-card">
  <small>Gradient type</small>
  <h2>Gradient on text</h2>
  <p>A moving text gradient built from your palette.</p>
</div>

<style>
.colorfly-gradient-text-card {
  --gradient-text-a: #232F64;
  --gradient-text-b: #868DAA;
  --gradient-text-c: #6D678A;
  position: relative;
  display: grid;
  place-items: center;
  min-height: 310px;
  overflow: hidden;
  padding: 42px;
  text-align: center;
  border-radius: 28px;
  background:
    radial-gradient(circle at 14% 18%, color-mix(in srgb, var(--gradient-text-a) 8%, transparent), transparent 28%),
    linear-gradient(135deg, #fff, #fbfbfd);
}
.colorfly-gradient-text-card::before,
.colorfly-gradient-text-card::after {
  content: "";
  position: absolute;
  pointer-events: none;
  border-radius: 50%;
  filter: blur(2px);
}
.colorfly-gradient-text-card::before {
  left: 9%;
  top: 15%;
  width: min(330px, 48%);
  aspect-ratio: 1;
  background: radial-gradient(circle, color-mix(in srgb, var(--gradient-text-a) 20%, transparent) 0%, transparent 68%);
  animation: colorfly-gradient-text-glow-one 8s cubic-bezier(.62, 0, .2, 1) infinite;
}
.colorfly-gradient-text-card::after {
  right: 7%;
  bottom: 6%;
  width: min(360px, 52%);
  aspect-ratio: 1;
  background: radial-gradient(circle, color-mix(in srgb, var(--gradient-text-c) 18%, transparent) 0%, transparent 70%);
  animation: colorfly-gradient-text-glow-two 9.5s cubic-bezier(.56, 0, .25, 1) infinite;
}
.colorfly-gradient-text-card small,
.colorfly-gradient-text-card p {
  position: relative;
  z-index: 1;
  color: #65616d;
}
.colorfly-gradient-text-card h2 {
  position: relative;
  z-index: 1;
  margin: 10px 0 12px;
  color: transparent;
  font-size: clamp(42px, 8vw, 96px);
  line-height: .92;
  background:
    radial-gradient(circle at 18% 50%, var(--gradient-text-b) 0 12%, transparent 38%),
    radial-gradient(circle at 82% 44%, var(--gradient-text-c) 0 14%, transparent 40%),
    linear-gradient(100deg, var(--gradient-text-a), var(--gradient-text-b), var(--gradient-text-c), var(--gradient-text-a));
  background-size: 220% 220%, 240% 240%, 280% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  animation: colorfly-gradient-text-shift 6.2s cubic-bezier(.68, 0, .22, 1) infinite;
}
@keyframes colorfly-gradient-text-shift {
  0%, 100% { background-position: 8% 52%, 92% 42%, 0% 50%; }
  27% { background-position: 78% 18%, 28% 82%, 42% 50%; }
  61% { background-position: 36% 92%, 86% 24%, 100% 50%; }
  84% { background-position: 92% 48%, 18% 40%, 58% 50%; }
}
@keyframes colorfly-gradient-text-glow-one {
  0%, 100% { transform: translate3d(0, 0, 0) scale(.92); }
  42% { transform: translate3d(80%, 32%, 0) scale(1.12); }
  72% { transform: translate3d(28%, 86%, 0) scale(.98); }
}
@keyframes colorfly-gradient-text-glow-two {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  36% { transform: translate3d(-62%, -18%, 0) scale(.9); }
  76% { transform: translate3d(-36%, -78%, 0) scale(1.12); }
}
</style>
Press Space to load new palette