All brand kits
Atlassian brand kit

What Atlassian does

#1868DB#292A2E#505258#FFFFFF#5B7F24#FBC828#C9372C#964AC0#669DF1#CECFD2#1F1F21

Atlassian's design system applies color through tokens with roles: neutral, brand (primary actions and brand moments), information, success, warning, danger, discovery (new features and onboarding), accent (no meaning), inverse and input; accent colors must not stand in where color carries meaning. In light theme on atlassian.design the tokens resolve to brand bold and link #1868DB, text #292A2E, subtle text #505258, surface #FFFFFF, success bold #5B7F24, warning bold #FBC828, danger bold #C9372C and discovery bold #964AC0. Product type is Atlassian Sans and Atlassian Mono, with Charlie Sans reserved for marketing; headings are Bold at 32, 28, 24, 20, 16, 14 and 12px over a 14px default body (16px for long-form). The logo's minimum clearance is the capital A of the wordmark, strapline lockups never go below 280px wide, logomarks keep their preset radius and never sit in extra containers, and logos come in brand, inverse and neutral versions. The UI voice is bold, optimistic and practical with a wink, applied through six principles (inform, empower, encourage, motivate, satisfy, delight) and a table that says when to dial each trait up or down by the user's feeling.

Atlassian's system, as published

Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Background.Brand.Bold / Color.Link
#1868DB
Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Text
#292A2E
Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Text.Subtle
#505258
Palette (Light Theme Tokens Read From Atlassian.Design) · Elevation.Surface
#FFFFFF
Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Background.Success.Bold
#5B7F24
Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Background.Warning.Bold
#FBC828
Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Background.Danger.Bold
#C9372C
Palette (Light Theme Tokens Read From Atlassian.Design) · Color.Background.Discovery.Bold
#964AC0
Palette (Light Theme Tokens Read From Atlassian.Design) · Dark Theme Equivalents
brand #669DF1, text #CECFD2, surface #1F1F21
Palette (Light Theme Tokens Read From Atlassian.Design) · Roles
neutral, brand, information, success, warning, danger, discovery, accent, inverse, input
Palette (Light Theme Tokens Read From Atlassian.Design) · Contrast
3:1 for essential UI and text 24px or larger, 4.5:1 for smaller text
Palette (Light Theme Tokens Read From Atlassian.Design) · Theme Mapping
light 700 becomes dark 400; light 100 becomes dark 1000
Typography · Product Faces
Atlassian Sans, Atlassian Mono
Typography · Brand Face
Charlie Sans, for marketing and brand expression only
Typography · Headings (Bold, Size/Line Height Px)
xxlarge 32/36, xlarge 28/32, large 24/28, medium 20/24, small 16/20, xsmall 14/20, xxsmall 12/16
Typography · Body (Regular)
large 16/24, default 14/20, small 12/16
Typography · Metric (Bold)
large 28/32, medium 24/28, small 16/20
Typography · Code
12/20
Typography · Rules
one h1 per page; descending levels without skipping; XXL and XL for brand and marketing; headings for emphasis instead of ad hoc bold
Logo · Clearance
capital A of the Atlassian wordmark is the minimum clearance; app logos use the wordmark's height and width
Logo · Strapline Lockup
app names centered under the logo; never below 280px wide
Logo · Attribution Logos
only where the Atlassian context is not clear (ads, videos, white papers); never composed or deconstructed
Logo · Property Logos
on white, name in neutral and logo in primary blue; on darker grounds both white
Logo · Logomarks
keep the preset tile radius; never nest in extra containers; use alone only where context is clear
Logo · Color Versions
brand, inverse, neutral
Logo · Misuse
unapproved color combinations, drop shadows, complex backgrounds, outlines
Voice · Traits
bold, optimistic, practical with a wink
Voice · Principles
inform to build trust; empower to inspire action; encourage people along the path; motivate by showing possibilities; satisfy by meeting expectations; delight with unexpectedly pleasing experiences
Voice · Dial
more bold and optimistic for confident power users and admins; less for new, trial or confused users; more practical for stressed or blocked users; add the wink only after success
Voice · Scope
UI and app content; marketing follows separate brand guidance that requires sign-in

Why it works

Giving each color a job (brand, information, success, warning, danger, discovery) means color never decorates without meaning, so one brand color can stay rare. Tone that is chosen from the reader's feeling and journey stage keeps the same three traits sounding confident with power users and gentle with confused newcomers.

Best for

Team and productivity software, multi-product SaaS portfolios, admin-heavy tools, any brand whose words mostly live in product UI, onboarding and system messages

What breaks it

  • Using the brand color for decoration or for a status meaning
  • Large display-face headings inside product UI
  • Humor or cheer in error, warning or billing messages
  • Celebrating every action, which turns delight into noise
  • Placing the logo on busy imagery or wrapping the mark in a new container

Sources

  • atlassian.design: Color roles, token-first rule, accent and inverse rules, contrast minimums
  • atlassian.design: Palette ramps and light-to-dark mapping; token values read in the browser from this site's light theme
  • atlassian.design: Product and brand faces, heading, body, metric and code scales, heading rules
  • atlassian.design: Clearance, strapline, attribution, property and app logo rules, color options, misuse
  • atlassian.design: Voice traits, six principles with where each applies, the tone dial by user feeling

Steal it for your brand

The same system, written in your colors, type and shapes. Nothing of Atlassian's look comes with it.

The recipe

  1. Map the customer's captured colors onto roles before using any of them: brand to palette.accent, success to palette.positive, warning to palette.highlight, danger to palette.accent dark, discovery to palette.accent secondary; leave a role on its fallback rather than invent a color.
  2. Keep palette.accent for primary actions, links, selection and brand moments; every other fill must name the role it plays.
  3. Pair any selected state with a second cue (check, underline or border) and keep focus outlines separate from selection.
  4. Set body text at params.base px px times typography.body.scale, then size each heading level as body size times its size_ratio, all headings bold, and use the display face only at the top three levels and for highlighted numbers.
  5. Give the logo clear space of at least its wordmark's first capital, keep lockups at or above 280px wide, and use the brand, inverse or neutral version to suit the ground.
  6. Before writing any message, name the reader's feeling and journey stage, then dial the three traits up or down from the recipe's table.
  7. Make every message at least satisfy (fast, complete, clear); add inform, empower, encourage, motivate or delight only where the moment in the recipe calls for it.

What you'll need

  • The customer's captured palette, with any status colors their product already uses
  • A body face with a bold weight for headings
  • The customer's logo in a full-color, inverse and one-color version
  • A list of the product's key moments: errors, onboarding, success, upgrade
Recipe as JSON
{
  "recipe": {
    "palette_roles": [
      {
        "role": "{palette.surface}",
        "share": 0.6,
        "job": "Default ground for pages, cards and panels"
      },
      {
        "role": "{palette.ink}",
        "share": 0.18,
        "job": "Primary text and headings"
      },
      {
        "role": "{palette.ink_muted}",
        "share": 0.08,
        "job": "Secondary text, metadata and helper copy"
      },
      {
        "role": "{palette.border}",
        "share": 0.05,
        "job": "Dividers and input outlines"
      },
      {
        "role": "{palette.accent}",
        "share": 0.06,
        "job": "Brand role: primary actions, links, selected state and brand moments only"
      },
      {
        "role": "{palette.positive}",
        "share": 0.01,
        "job": "Success role: favorable outcomes"
      },
      {
        "role": "{palette.highlight}",
        "share": 0.01,
        "job": "Warning role: caution before a mistake"
      },
      {
        "role": "{palette.accent_dark}",
        "share": 0.005,
        "job": "Danger role: destructive actions and serious errors"
      },
      {
        "role": "{palette.accent_secondary}",
        "share": 0.005,
        "job": "Discovery role: new features and onboarding"
      },
      {
        "role": "{palette.on_accent}",
        "share": 0,
        "job": "Inverse role: text and icons on any bold fill"
      }
    ],
    "role_rules": [
      "Every color fill must name its role; decorative accents never borrow a role that carries meaning",
      "Selected state pairs color with a second cue such as a check, underline or border",
      "Focus outline is its own treatment, never the selected color"
    ],
    "contrast_min": {
      "text_small": 4.5,
      "text_large_and_ui": 3
    },
    "type_scale": {
      "base_px": "{params.base_px}",
      "body_scale": "{typography.body.scale}",
      "size_rule": "body size in px = base_px * body_scale; each level's size = body size * its size_ratio",
      "levels": [
        {
          "level": "heading_xxl",
          "size_ratio": 2.286,
          "line_height": 1.125,
          "face": "display",
          "use": "brand and marketing only"
        },
        {
          "level": "heading_xl",
          "size_ratio": 2,
          "line_height": 1.143,
          "face": "display",
          "use": "marketing and page titles"
        },
        {
          "level": "heading_l",
          "size_ratio": 1.714,
          "line_height": 1.167,
          "face": "display",
          "use": "page and form titles"
        },
        {
          "level": "heading_m",
          "size_ratio": 1.429,
          "line_height": 1.2,
          "face": "body",
          "use": "large components such as dialogs"
        },
        {
          "level": "heading_s",
          "size_ratio": 1.143,
          "line_height": 1.25,
          "face": "body",
          "use": "small components"
        },
        {
          "level": "heading_xs",
          "size_ratio": 1,
          "line_height": 1.429,
          "face": "body",
          "use": "compact components"
        },
        {
          "level": "heading_xxs",
          "size_ratio": 0.857,
          "line_height": 1.333,
          "face": "body",
          "use": "fine print, sparingly"
        },
        {
          "level": "body_large",
          "size_ratio": 1.143,
          "line_height": 1.5,
          "face": "body",
          "use": "long-form reading"
        },
        {
          "level": "body",
          "size_ratio": 1,
          "line_height": 1.429,
          "face": "body",
          "use": "default"
        },
        {
          "level": "body_small",
          "size_ratio": 0.857,
          "line_height": 1.333,
          "face": "body",
          "use": "fine print"
        },
        {
          "level": "metric",
          "size_ratio": 2,
          "line_height": 1.143,
          "face": "display",
          "use": "a number that needs emphasis"
        },
        {
          "level": "code",
          "size_ratio": 0.857,
          "line_height": 1.667,
          "face": "mono"
        }
      ],
      "heading_weight": "bold for every heading level",
      "rules": [
        "one h1 per page",
        "descend levels without skipping",
        "use a heading level for emphasis instead of ad hoc bold or size",
        "display face only at the top three heading levels and metrics; product UI stays in the body face"
      ]
    },
    "logo_rules": {
      "clear_space": "at least the height of the wordmark's first capital on every side; more where space allows",
      "lockup_min_width_px": 280,
      "versions": [
        "brand",
        "inverse on bold or dark fills",
        "neutral"
      ],
      "mark_alone": "only where context makes the brand obvious, and paired with the product name in text",
      "mark_container": "keep the supplied tile shape and corner radius; never add an extra container",
      "misuse": [
        "Unapproved color combinations",
        "Drop shadows",
        "Busy or complex backgrounds behind the logo",
        "Outlines",
        "Composing new lockups or breaking official ones apart"
      ]
    },
    "voice_rules": [
      {
        "id": "bold",
        "kind": "guidance",
        "text": "Be bold: give the right amount of help at the right moment, with accurate information"
      },
      {
        "id": "optimistic",
        "kind": "guidance",
        "text": "Be optimistic: highlight what helps most at the reader's stage of the journey"
      },
      {
        "id": "practical-wink",
        "kind": "guidance",
        "text": "Be practical: direct and concise for any culture; add a light wink only when the moment allows"
      },
      {
        "id": "dial-confident",
        "kind": "guidance",
        "text": "For confident, curious, trusting readers (power users, admins), turn boldness and optimism up"
      },
      {
        "id": "dial-new",
        "kind": "guidance",
        "text": "For new, confused, apprehensive or angry readers, turn boldness and optimism down and practicality up"
      },
      {
        "id": "dial-blocked",
        "kind": "guidance",
        "text": "For stressed or blocked readers, be purely practical and drop the wink"
      },
      {
        "id": "dial-success",
        "kind": "guidance",
        "text": "After success, a small flourish is allowed; never humor or cheekiness"
      },
      {
        "id": "ask-first",
        "kind": "guidance",
        "text": "Before writing, ask what the reader feels and where they are in their journey"
      },
      {
        "id": "info-first",
        "kind": "guidance",
        "text": "Never try to inspire or delight when the reader just needs information"
      },
      {
        "id": "delight-rarely",
        "kind": "guidance",
        "text": "Celebrate only after trust exists, and limit how often delight repeats"
      },
      {
        "id": "one-vocabulary",
        "kind": "guidance",
        "text": "Keep one vocabulary and one story across every product and message"
      }
    ],
    "messaging_hierarchy": {
      "by_moment": [
        {
          "intent": "inform",
          "job": "share only what is needed now and say where the reader is",
          "moments": [
            "errors",
            "warnings",
            "new features"
          ]
        },
        {
          "intent": "empower",
          "job": "recommend the next step and the best practice",
          "moments": [
            "required actions",
            "dialogs"
          ]
        },
        {
          "intent": "encourage",
          "job": "reassure the reader they are on track",
          "moments": [
            "confusing steps",
            "errors"
          ]
        },
        {
          "intent": "motivate",
          "job": "lead with the outcome and its benefit, not the problem",
          "moments": [
            "onboarding",
            "tips",
            "upgrade prompts"
          ]
        },
        {
          "intent": "satisfy",
          "job": "quick, thorough answer and clear instruction",
          "moments": [
            "all UI copy, at minimum"
          ]
        },
        {
          "intent": "delight",
          "job": "a small earned flourish",
          "moments": [
            "success states only"
          ]
        }
      ],
      "floor": "satisfy is the minimum for every message; add other intents only when the moment calls for them",
      "page_rule": "one h1 that names the page, then descending sections"
    }
  },
  "fallbacks": {
    "palette.surface": "{palette.paper}",
    "palette.border": "{palette.ink_muted}",
    "palette.highlight": "{palette.accent}",
    "palette.accent_dark": "{palette.ink}",
    "palette.accent_secondary": "{palette.accent}",
    "palette.positive": "{palette.accent}",
    "palette.on_accent": "{palette.paper}",
    "palette.ink_muted": "{palette.ink}",
    "typography.body.scale": 1
  },
  "steps": [
    "Map the customer's captured colors onto roles before using any of them: brand to {palette.accent}, success to {palette.positive}, warning to {palette.highlight}, danger to {palette.accent_dark}, discovery to {palette.accent_secondary}; leave a role on its fallback rather than invent a color.",
    "Keep {palette.accent} for primary actions, links, selection and brand moments; every other fill must name the role it plays.",
    "Pair any selected state with a second cue (check, underline or border) and keep focus outlines separate from selection.",
    "Set body text at {params.base_px} px times {typography.body.scale}, then size each heading level as body size times its size_ratio, all headings bold, and use the display face only at the top three levels and for highlighted numbers.",
    "Give the logo clear space of at least its wordmark's first capital, keep lockups at or above 280px wide, and use the brand, inverse or neutral version to suit the ground.",
    "Before writing any message, name the reader's feeling and journey stage, then dial the three traits up or down from the recipe's table.",
    "Make every message at least satisfy (fast, complete, clear); add inform, empower, encourage, motivate or delight only where the moment in the recipe calls for it."
  ]
}

See it working

  • Atlassian: The color roles and the rule that accents never carry meaning
  • Atlassian: The heading, body and metric scales and when each level is used
  • Atlassian: Clearance from the wordmark capital, lockup minimum width, color versions and misuse
  • Atlassian: The six principles by moment and the tone dial by user feeling

The lesson

Give every color a named job in your brand system so a single brand color can stay rare.

The move

The Color page of the Atlassian Design system starts with "Color distinguishes our brand and reinforces consistent experiences across apps." Under "Color anatomy" and "Saturated colors" sit nine hues, each a column of light-to-dark steps. The contents sidebar lists Color roles, Emphasis levels and Interaction states.

Why it works

  • Our readListing "Color roles" in the same contents as the swatches puts each color's job on the page where a designer chooses it.
  • Our readEmphasis and interaction states appear in the same contents list, so contrast rules and hover rules are documented next to the palette.

What not to copy

The nine-hue palette and token names are Atlassian's. Keep the idea of giving every color a role, with emphasis and state rules on the same page as the swatches.

More from Atlassian

More brand kits