Vivid Violet#7B61FF
Pale Lavender#AFA0FF
Mulberry#470912
Wisteria Haze#C9BEFF
Veil Lilac#E6E1FF
Palette direction

Ai Generator 6a4db318ed2c7 Color Palette

A refined monochromatic purple palette balancing vibrancy with subtlety, perfect for a tech-focused AI brand and interface. This system maintains clarity and modernity by using distinct purple tones alongside gentle accents and neutrals for a clean, cohesive user experience.

CustomTechlight purplemonochromaticminimaltechy
palette-preview.example
Tech color direction

Ai Generator 6a4db318ed2c7 Color Palette

A refined monochromatic purple palette balancing vibrancy with subtlety, perfect for a tech-focused AI brand and interface. This system maintains clarity and modernity by using distinct purple tones alongside gentle accents and neutrals for a clean, cohesive user experience.

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 Mulberry #470912

16.0:1 Excellent

Logo Onyx #161320
on Pale Lavender #AFA0FF

8.1:1 Excellent

Logo Onyx #161320
on Pure White #FFFFFF

18.3:1 Excellent

Logo Onyx #161320
on Veil Lilac #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 Ai Generator 6a4db318ed2c7 Color Palette

A harmonious trio of purples that define a cohesive identity, combining vibrant and deep tones for brand recognition and clear typographic hierarchy.

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
Signals8Custom
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.Vivid Violet #7B61FF
HeadlineUsed for main titles and key messages.Mulberry #470912
LinkUsed for links and interactive text.Pale Lavender #AFA0FF

Buttons

Primary Button
Contrast4.35:1Large text
BackgroundVivid Violet #7B61FF
TextOnyx #161320
Secondary Button
Contrast8.10:1AA
BackgroundPale Lavender #AFA0FF
TextOnyx #161320
Outlined Button
Contrast2.26:1Low
BorderPale Lavender #AFA0FF
TextPale Lavender #AFA0FF

Interface

TextDefault readable body text.Onyx #161320
Bg LightLight page or section background.Pure White #FFFFFF
Bg DarkDark page or section background.Onyx #161320
IconSmall interface icons and marks.Wisteria Haze #C9BEFF
BorderCards, inputs, and component borders.Wisteria Haze #C9BEFF
DividerSubtle separators between content.Veil Lilac #E6E1FF
OutlineFocus rings and emphasis outlines.Veil Lilac #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

A harmonious trio of purples that define a cohesive identity, combining vibrant and deep tones for brand recognition and clear typographic hierarchy.

PrimaryVivid Violet

RolesLogo, Btn Primary Bg

A bright violet providing a dynamic and memorable brand signature with tech-forward energy.

HEX#7B61FF
RGB123, 97, 255
HSL250, 100, 69
CMYK52, 62, 0, 0
SecondaryPale Lavender

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

A soft lavender tone suited for navigation and secondary interface elements, offering gentle contrast and subtlety.

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

RolesHeadline

A rich, dark mulberry shade adding depth and authority to headlines and key brand accents.

HEX#470912
RGB71, 9, 18
HSL351, 78, 16
CMYK0, 87, 75, 72

Support Colors

Delicate light purples that enhance interface layering and demarcation without competing with main brand tones. They provide subtle functional accents for UI elements.

Wisteria Haze

RolesIcon, Border

A muted lavender accent that defines icons and borders softly, ensuring focus remains on primary colors.

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

RolesDivider, Outline

A pale lilac wash that gently separates content with minimal visual weight, preserving the palette's airy feel.

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

HEX#FFFFFF
RGB255, 255, 255
HSL0, 0, 100
CMYK0, 0, 0, 0
Soft Snow
HEX#F6F5FB
RGB246, 245, 251
HSL250, 43, 97
CMYK2, 2, 0, 2
Onyx

RolesBg Dark, Text, Btn Primary 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": "Vivid Violet",
            "hex": "#7B61FF",
            "role": "main",
            "cmyk": {
                "c": 52,
                "m": 62,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Pale Lavender",
            "hex": "#AFA0FF",
            "role": "main",
            "cmyk": {
                "c": 31,
                "m": 37,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Mulberry",
            "hex": "#470912",
            "role": "main",
            "cmyk": {
                "c": 0,
                "m": 87,
                "y": 75,
                "k": 72,
                "source": "colorfly"
            }
        },
        {
            "name": "Wisteria Haze",
            "hex": "#C9BEFF",
            "role": "support",
            "cmyk": {
                "c": 21,
                "m": 25,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Veil Lilac",
            "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": "Soft Snow",
            "hex": "#F6F5FB",
            "role": "neutral",
            "cmyk": {
                "c": 2,
                "m": 2,
                "y": 0,
                "k": 2,
                "source": "colorfly"
            }
        },
        {
            "name": "Onyx",
            "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-vivid-violet: #7B61FF;
  --color-pale-lavender: #AFA0FF;
  --color-mulberry: #470912;
  --color-wisteria-haze: #C9BEFF;
  --color-veil-lilac: #E6E1FF;
  --color-pure-white: #FFFFFF;
  --color-soft-snow: #F6F5FB;
  --color-onyx: #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: #7B61FF;
  --role-btn-primary-bg: #7B61FF;
  --role-link: #AFA0FF;
  --role-btn-secondary-bg: #AFA0FF;
  --role-btn-outlined-border: #AFA0FF;
  --role-btn-outlined-text: #AFA0FF;
  --role-headline: #470912;
  --role-icon: #C9BEFF;
  --role-border: #C9BEFF;
  --role-divider: #E6E1FF;
  --role-outline: #E6E1FF;
  --role-bg-light: #FFFFFF;
  --role-bg-dark: #161320;
  --role-text: #161320;
  --role-btn-primary-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.
{
    "vivid-violet": "#7B61FF",
    "pale-lavender": "#AFA0FF",
    "mulberry": "#470912",
    "wisteria-haze": "#C9BEFF",
    "veil-lilac": "#E6E1FF",
    "pure-white": "#FFFFFF",
    "soft-snow": "#F6F5FB",
    "onyx": "#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: #7B61FF;
  --gradient-partner: #B6A8FF;
  --gradient-accent: #C9BEFF;
  --gradient-text: #000000;
  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: #7B61FF;
  --gradient-text-b: #625B8A;
  --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