Skip to main content
Bulma provides a comprehensive color system with semantic colors, base shades, and a flexible color palette that can be customized to match your brand.

Semantic Colors

These colors convey meaning and are used throughout Bulma’s components:
ColorVariableHSL ValueHex EquivalentUsage
Primary$primaryhsl(171, 100%, 41%)#00d1b2Main brand color
Link$linkhsl(233, 100%, 63%)#4e5cffLinks and interactive elements
Info$infohsl(198, 100%, 70%)#66d9ffInformational messages
Success$successhsl(153, 53%, 53%)#48c78eSuccess states
Warning$warninghsl(42, 100%, 53%)#ffe03dWarning messages
Danger$dangerhsl(348, 100%, 70%)#ff5566Errors and destructive actions

Usage Example

<button class="button is-primary">Primary Button</button>
<button class="button is-link">Link Button</button>
<button class="button is-info">Info Button</button>
<button class="button is-success">Success Button</button>
<button class="button is-warning">Warning Button</button>
<button class="button is-danger">Danger Button</button>

Base Colors

Bulma includes a set of base colors for general use:
ColorVariableHSL ValueUsage
Orange$orangehsl(14, 100%, 53%)Accent color
Yellow$yellowhsl(42, 100%, 53%)Highlight color
Green$greenhsl(153, 53%, 53%)Positive feedback
Turquoise$turquoisehsl(171, 100%, 41%)Primary color
Cyan$cyanhsl(198, 100%, 70%)Info color
Blue$bluehsl(233, 100%, 63%)Link color
Purple$purplehsl(271, 100%, 71%)Decorative color
Red$redhsl(348, 100%, 70%)Error color

Grayscale Colors

Bulma’s grayscale palette is built on a consistent HSL foundation:

Dark Shades

ColorVariableHSL ValueLightness
Black$blackhsl(221, 14%, 4%)4%
Black Bis$black-bishsl(221, 14%, 9%)9%
Black Ter$black-terhsl(221, 14%, 14%)14%

Grey Shades

ColorVariableHSL ValueLightness
Grey Darker$grey-darkerhsl(221, 14%, 21%)21%
Grey Dark$grey-darkhsl(221, 14%, 29%)29%
Grey$greyhsl(221, 14%, 48%)48%
Grey Light$grey-lighthsl(221, 14%, 71%)71%
Grey Lighter$grey-lighterhsl(221, 14%, 86%)86%
Grey Lightest$grey-lightesthsl(221, 14%, 93%)93%

Light Shades

ColorVariableHSL ValueLightness
White Ter$white-terhsl(221, 14%, 96%)96%
White Bis$white-bishsl(221, 14%, 98%)98%
White$whitehsl(221, 14%, 100%)100%
All grayscale colors share the same hue (221°) and saturation (14%), varying only in lightness. This creates a harmonious, cohesive color scheme.

Color Scheme Foundation

Bulma’s color system is built on HSL (Hue, Saturation, Lightness) values:
$scheme-h: 221;        // Hue
$scheme-s: 14%;        // Saturation
$dark-l: 20%;          // Dark lightness threshold
$light-l: 90%;         // Light lightness threshold
This approach allows for:
  • Consistent color relationships
  • Easy theme customization
  • Automatic color derivations
  • Support for light/dark modes

Using Colors

Background Colors

<div class="has-background-primary">
  Primary background
</div>
<div class="has-background-info">
  Info background
</div>
<div class="has-background-success">
  Success background
</div>

Text Colors

<p class="has-text-primary">Primary text</p>
<p class="has-text-danger">Danger text</p>
<p class="has-text-grey">Grey text</p>
<p class="has-text-grey-light">Light grey text</p>

Component Colors

Most Bulma components accept color modifiers:
<div class="notification is-warning">
  Warning notification
</div>

<article class="message is-info">
  <div class="message-header">
    <p>Info Message</p>
  </div>
  <div class="message-body">
    Message content here.
  </div>
</article>

<progress class="progress is-success" value="60" max="100">60%</progress>

Customizing Colors

You can customize Bulma’s colors using Sass:
@use "bulma/bulma" with (
  $primary: hsl(171, 100%, 41%),
  $link: hsl(229, 53%, 53%),
  $info: hsl(207, 61%, 53%),
  $success: hsl(153, 53%, 53%),
  $warning: hsl(44, 100%, 77%),
  $danger: hsl(348, 86%, 61%)
);

Adding Custom Colors

You can extend the color palette with custom colors:
@use "bulma/bulma" with (
  $custom-colors: (
    "twitter": (hsl(204, 88%, 53%), hsl(0, 0%, 100%)),
    "facebook": (hsl(221, 44%, 41%), hsl(0, 0%, 100%)),
    "github": (hsl(0, 0%, 13%), hsl(0, 0%, 100%))
  )
);
This makes the colors available as modifiers:
<button class="button is-twitter">Twitter Button</button>
<button class="button is-facebook">Facebook Button</button>

Light and Dark Variants

Bulma automatically generates light and dark variants for semantic colors:
<div class="has-background-primary-light">
  Light primary background
</div>

<div class="has-background-primary-dark">
  Dark primary background
</div>

<p class="has-text-danger-light">Light danger text</p>
<p class="has-text-danger-dark">Dark danger text</p>
Use light variants for subtle backgrounds and dark variants for emphasis or dark mode themes.

Build docs developers (and LLMs) love