Navy Blue#0B2F60
Medium Blue#336699
Steel Blue#5F8BBE
Cadet Gray#729CA3
Light Steel Blue#A3BACE
Palette direction

Coastal Blue Gray Color Palette

This palette draws inspiration from the shades of blue, white, and gray found in the image, creating a calm yet authoritative branding system ideal for maritime or coastal themes. The main colors represent trust, stability, and clarity, while the support colors subtly enhance visual flexibility. Neutrals ground the palette with balanced tones for text and backgrounds.

MonochromaticNonebluegraywhitecoastal
palette-preview.example
None color direction

Coastal Blue Gray Color Palette

This palette draws inspiration from the shades of blue, white, and gray found in the image, creating a calm yet authoritative branding system ideal for maritime or coastal themes. The main colors represent trust, stability, and clarity, while the support colors subtly enhance visual flexibility. Neutrals ground the palette with balanced tones for text and backgrounds.

Logo contrast guide

Logo color pairings

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

Logo White #FFFFFF
on Navy Blue #0B2F60

13.2:1 Excellent

Logo White #FFFFFF
on Medium Blue #336699

6.0:1 Strong

Logo Rich Black #222222
on White #FFFFFF

15.9:1 Excellent

Logo Rich Black #222222
on Light Steel Blue #A3BACE

7.9: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.

None Coastal Blue Gray Color Palette

The main colors are an analogous mix of deep navy, medium blue, and steel blue which evoke a cohesive sense of trust, calmness, and reliability relevant to maritime themes.

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.Navy Blue #0B2F60
HeadlineUsed for main titles and key messages.Navy Blue #0B2F60
LinkUsed for links and interactive text.Navy Blue #0B2F60

Buttons

Primary Button
Contrast13.21:1AA
BackgroundNavy Blue #0B2F60
TextWhite #FFFFFF
Secondary Button
Contrast6.00:1AA
BackgroundMedium Blue #336699
TextWhite #FFFFFF
Outlined Button
Contrast6.00:1AA
BorderMedium Blue #336699
TextMedium Blue #336699

Interface

TextDefault readable body text.Rich Black #222222
Bg LightLight page or section background.White #FFFFFF
Bg DarkDark page or section background.Rich Black #222222
IconSmall interface icons and marks.Cadet Gray #729CA3
BorderCards, inputs, and component borders.Cadet Gray #729CA3
DividerSubtle separators between content.Cadet Gray #729CA3
OutlineFocus rings and emphasis outlines.Cadet Gray #729CA3

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 colors are an analogous mix of deep navy, medium blue, and steel blue which evoke a cohesive sense of trust, calmness, and reliability relevant to maritime themes.

PrimaryNavy Blue

RolesLogo, Link, Btn Primary Bg, Headline

Navy Blue anchors the palette representing trust and authority ideal for logos and primary buttons.

HEX#0B2F60
RGB11, 47, 96
HSL215, 79, 21
CMYK89, 51, 0, 62
SecondaryMedium Blue

RolesBtn Secondary Bg, Btn Outlined Border, Btn Outlined Text

Medium Blue supports as a secondary button background and outlines, providing approachable calmness.

HEX#336699
RGB51, 102, 153
HSL210, 50, 40
CMYK67, 33, 0, 40
TertiarySteel Blue

Steel Blue adds a lighter touch for headlines, balancing the deeper blues with a refined softness.

HEX#5F8BBE
RGB95, 139, 190
HSL212, 42, 56
CMYK50, 27, 0, 25

Support Colors

The support colors extend the blue main palette with cooler complementary green and gray accents that harmonize without overpowering the main blues.

Cadet Gray

RolesIcon, Border, Divider, Outline

Cadet Gray strengthens the palette with subtle gray-green undertones for borders and icons.

HEX#729CA3
RGB114, 156, 163
HSL189, 21, 54
CMYK30, 4, 0, 36
Light Steel Blue

Light Steel Blue offers a pale accent for delicate elements like dividers and subtle icons.

HEX#A3BACE
RGB163, 186, 206
HSL208, 30, 72
CMYK21, 10, 0, 19

Neutral Colors

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

White

RolesBg Light, Btn Primary Text, Btn Secondary Text

HEX#FFFFFF
RGB255, 255, 255
HSL0, 0, 100
CMYK0, 0, 0, 0
Cultured
HEX#F3F4F6
RGB243, 244, 246
HSL220, 14, 96
CMYK1, 1, 0, 4
Rich Black

RolesBg Dark, Text

HEX#222222
RGB34, 34, 34
HSL0, 0, 13
CMYK0, 0, 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": "Navy Blue",
            "hex": "#0B2F60",
            "role": "main",
            "cmyk": {
                "c": 89,
                "m": 51,
                "y": 0,
                "k": 62,
                "source": "colorfly"
            }
        },
        {
            "name": "Medium Blue",
            "hex": "#336699",
            "role": "main",
            "cmyk": {
                "c": 67,
                "m": 33,
                "y": 0,
                "k": 40,
                "source": "colorfly"
            }
        },
        {
            "name": "Steel Blue",
            "hex": "#5F8BBE",
            "role": "main",
            "cmyk": {
                "c": 50,
                "m": 27,
                "y": 0,
                "k": 25,
                "source": "colorfly"
            }
        },
        {
            "name": "Cadet Gray",
            "hex": "#729CA3",
            "role": "support",
            "cmyk": {
                "c": 30,
                "m": 4,
                "y": 0,
                "k": 36,
                "source": "colorfly"
            }
        },
        {
            "name": "Light Steel Blue",
            "hex": "#A3BACE",
            "role": "support",
            "cmyk": {
                "c": 21,
                "m": 10,
                "y": 0,
                "k": 19,
                "source": "colorfly"
            }
        },
        {
            "name": "White",
            "hex": "#FFFFFF",
            "role": "neutral",
            "cmyk": {
                "c": 0,
                "m": 0,
                "y": 0,
                "k": 0,
                "source": "colorfly"
            }
        },
        {
            "name": "Cultured",
            "hex": "#F3F4F6",
            "role": "neutral",
            "cmyk": {
                "c": 1,
                "m": 1,
                "y": 0,
                "k": 4,
                "source": "colorfly"
            }
        },
        {
            "name": "Rich Black",
            "hex": "#222222",
            "role": "neutral",
            "cmyk": {
                "c": 0,
                "m": 0,
                "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-navy-blue: #0B2F60;
  --color-medium-blue: #336699;
  --color-steel-blue: #5F8BBE;
  --color-cadet-gray: #729CA3;
  --color-light-steel-blue: #A3BACE;
  --color-white: #FFFFFF;
  --color-cultured: #F3F4F6;
  --color-rich-black: #222222;
}

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: #0B2F60;
  --role-link: #0B2F60;
  --role-btn-primary-bg: #0B2F60;
  --role-headline: #0B2F60;
  --role-btn-secondary-bg: #336699;
  --role-btn-outlined-border: #336699;
  --role-btn-outlined-text: #336699;
  --role-icon: #729CA3;
  --role-border: #729CA3;
  --role-divider: #729CA3;
  --role-outline: #729CA3;
  --role-bg-light: #FFFFFF;
  --role-btn-primary-text: #FFFFFF;
  --role-btn-secondary-text: #FFFFFF;
  --role-bg-dark: #222222;
  --role-text: #222222;
}

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.
{
    "navy-blue": "#0B2F60",
    "medium-blue": "#336699",
    "steel-blue": "#5F8BBE",
    "cadet-gray": "#729CA3",
    "light-steel-blue": "#A3BACE",
    "white": "#FFFFFF",
    "cultured": "#F3F4F6",
    "rich-black": "#222222"
}

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: #0B2F60;
  --gradient-partner: #798DA8;
  --gradient-accent: #729CA3;
  --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: #0B2F60;
  --gradient-text-b: #798DA8;
  --gradient-text-c: #729CA3;
  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