BrandToPrompt

Datadog Design System: Precise Developer-First UI

Visit Site

Explore Datadog's design system - colors, typography, grid specs. Build consistent developer-first UIs with Datadog's visual language.

7 min read1,353 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
NationalWeb
Secondary Font
Helvetica

Design Style

Style
technical and precise with subtle shadows and restrained functional elements
Visual Density
compact grid-based with consistent 8px spacing
Border Style
4px to 6px slight rounding on buttons and cards

Full Analysis

Datadog Design System Deep Dive

1. Brand Overview

Datadog’s visual language is exactly what you’d expect from a high‑performance observability platform but with a twist of personality — it’s not sterile enterprise blue, it’s rich, saturated purple. The site sits in the intersection of developer tools and business‑to‑business SaaS, so it has to speak to engineers and procurement managers at the same time. That tension is visible in the design: confident color, tight typography, and a grid that feels engineered rather than editorial.

This is a brand for people who care about detail. The interface is built on Tailwind CSS and Bootstrap, with Vuetify components in play — that’s a lot of frameworks, but it’s coherent because everything is locked to a consistent set of tokens. They’ve clearly invested in a design system that enforces color, spacing, and type decisions across marketing and product.

The vibe: technical, precise, but with human warmth via the purple. No whimsical illustrations, no rounded pill buttons with 9999px border‑radius; this is 4px and 6px radii territory — restrained, functional. Shadows are subtle (rgba(0, 0, 0, 0.07)), never overblown. The typography is a custom “NationalWeb” family with Helvetica/Arial fallbacks, giving headings a clean, geometric tone. Line heights are tight for headings, looser for links.

If you’re designing for Datadog, think in terms of trust signals. The color palette is not about diversity — it’s about reinforcing the primary purple and neutrals so CTAs pop. Layouts are locked to an 8px scale with occasional half‑steps (8.5px, 9.5px) — rare, but they exist. Breakpoints span from tiny (98px) up to large desktop (1512px), so responsive behavior is planned, not bolted on.

Bottom line: this is a developer‑first SaaS brand with a marketing site that mirrors product UI discipline. It’s confident without being flashy, and it’s built to be consistent across channels.


2. Color System

2.1 Primary Colors

The main brand color is rgb(99, 44, 166)#632ca6. This is a deep purple — saturated enough to stand out against neutral grays, but dark enough to carry white text without accessibility issues. Purple in tech branding signals creativity and premium positioning (think Twilio’s red, Stripe’s blue, Datadog’s purple). Compared to competitors in observability (New Relic’s teal, Dynatrace’s green), Datadog’s purple is distinctive and less common in enterprise dashboards. It works because it’s not a pastel — it holds contrast against white backgrounds and is flexible for both light and dark modes.

2.2 Complete Palette

Color NameHexRoleUsage
Dark Gray#333333Neutral textBody copy, secondary UI text
Medium Gray#555555Neutral textSecondary links, captions
Primary Purple#632ca6BrandPrimary buttons, key links, accents
Vivid Purple#7700ffAccentHover/focus states
Link Purple#7700ff (--bs-link-color: #70f)InteractiveHyperlinks
Border Gray#dee2e6BorderUI dividers
Background White#ffffffSurfacePage background
Success Green#198754FunctionalValid states
Danger Red#dc3545FunctionalError states
Warning Yellow Text Emphasis#664d03FunctionalWarning text
Info Blue Text Emphasis#055160FunctionalInfo text
Code Pink#c7254eFunctionalCode snippets
Callout Gradientlinear-gradient(360deg, #8904FF, #110617)DecorativeHero sections, banners
Light Gray BG Subtle#fcfcfdSurfaceSubtle backgrounds
Primary BG Subtle#cfe2ffSurfaceLight primary backgrounds
Secondary BG#e9ecefSurfaceCards, panels
Secondary BG Subtle#e2e3e5SurfaceVery light panels
Success BG Subtle#d1e7ddSurfaceSuccess backgrounds
Danger BG Subtle#f8d7daSurfaceError backgrounds
Info BG Subtle#cff4fcSurfaceInfo backgrounds
Dark BG Subtle#ced4daSurfaceDark mode surfaces

(All values derived from semantic colors and CSS variables in extracted data.)

2.3 Color Relationships

Purple (#632ca6) against white gives ~6.7:1 contrast — well above WCAG AA for normal text. Purple against dark gray (#333333) drops contrast, so they avoid that pairing for text; instead, purple is used for links on light backgrounds.

Neutral grays (#333333 and #555555) form the body copy base. They’re distinct enough to create hierarchy — #333333 for main copy, #555555 for secondary.

Functional colors (success, danger, warning, info) are all WCAG‑friendly when used with white text. The callout gradient is decorative — don’t use it for text backgrounds unless you overlay white.

2.4 Usage Guide

Do:

  • Use #632ca6 for primary CTAs and key interactive states.
  • Anchor text to #333333 or #555555 — keeps readability high.
  • Keep functional colors for their roles — green for success, red for errors.

Avoid:

  • Purple text on dark gray backgrounds — poor contrast.
  • Mixing vivid purple (#7700ff) and primary purple without clear hierarchy — it confuses hover vs active states.
  • Using gradients for functional elements — they’re decorative here.

3. Typography

3.1 Font Families

Primary: NationalWeb — custom web font. Fallbacks: Helvetica, Arial. No Google or Adobe font sources, so it’s self‑hosted.

Secondary (occasionally): Helvetica with Arial fallback — used in captions and some buttons.

No variable fonts detected.

3.2 Type Scale

Here’s the type scale from extracted styles:

ElementFontSizeWeightLine Height
H1NationalWeb68px (4.25rem)6001.00
H1NationalWeb36px (2.25rem)7001.11
H1NationalWeb36px6001.11
ButtonNationalWeb33px7001.00
H1NationalWeb33px7001.00
H1NationalWeb32px3001.19
H1NationalWeb28px7001.14
ButtonNationalWeb22px7001.09
LinkNationalWeb22px3001.43
H1NationalWeb22px3001.43
H1NationalWeb22px7001.09
H1Helvetica22px3001.36
H1NationalWeb20px600
LinkNationalWeb20px600
H1NationalWeb20px7000.90
LinkNationalWeb18px6001.43
H1NationalWeb18px5001.22
LinkNationalWeb18px3001.00
H1NationalWeb18px6001.43
H1NationalWeb18px3001.43
H1NationalWeb18px3001.22
ButtonNationalWeb18px6001.43
ButtonNationalWeb18px6001.43
LinkNationalWeb18px3001.43
ButtonNationalWeb18px7001.00
H1NationalWeb18px7001.00
H1NationalWeb18px7001.00
LinkNationalWeb18px7001.00
H1NationalWeb18px6001.33
LinkNationalWeb18px7001.00
H1NationalWeb18px7001.00
LinkNationalWeb18px7001.00
ButtonHelvetica18px6001.00
LinkNationalWeb16px7001.43
H1NationalWeb16px7001.13
H1NationalWeb16px6001.25
ButtonNationalWeb16px3002.00
H1NationalWeb16px6001.25
LinkNationalWeb16px3001.00
H1NationalWeb16px3001.43
ButtonNationalWeb14px6001.43
CaptionHelvetica13px3001.43
CaptionNationalWeb12px7001.00
CaptionNationalWeb12px7001.00
CaptionNationalWeb12px7001.00
ButtonNationalWeb11.2px3001.43
CaptionHelvetica9px3003.33
LinkHelvetica9px3003.33

3.3 Hierarchy

Headings are tight — line heights around 1.0–1.14 — which gives them a blocky, solid feel. Body and link text open up to 1.43 for readability. The scale jumps dramatically from 68px H1 to 36px subheadings, then into the 20–28px range for section heads. Buttons share sizes with headings (22px, 18px) — they’re not shy about big buttons.

This works because the brand’s color and spacing keep elements separated; tight headings don’t feel cramped. The custom font adds personality — NationalWeb’s geometric shapes keep the tone modern.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px, with some off‑grid micro‑adjustments. Common values:

pxremCount
20.13rem17
30.19rem100
40.25rem258
50.31rem34
70.44rem104
80.50rem105
8.50.53rem10
90.56rem92
9.50.59rem10
100.63rem138
110.69rem7
120.75rem290
130.81rem9
161.00rem9
201.25rem50
271.69rem6
281.75rem24
301.88rem6
402.50rem55
483.00rem8

Frequency shows heavy use of 4px, 8px, 12px — classic 8px grid. Odd values (8.5px, 9.5px) are rare and probably component quirks.

4.2 Layout

Breakpoints span from 98px (micro) to 1512px (large desktop). Key points: 375px (mobile), 768px (tablet), 992px (Bootstrap desktop), 1200px (wide), 1440px (large). This mix covers both marketing site and app UI.

Bootstrap’s grid (container, row, col) handles layout; Tailwind modifiers manage responsive tweaks.


5. Visual Elements

Border Radius

Values:

  • 0px — data tables, sharp edges
  • 1px — spans
  • 4px — default buttons, inputs, cards
  • 4.8px — modals
  • 5px — cards/buttons
  • 5px 5px 0px 0px — modal tops
  • 6px — lists, buttons, inputs
  • 6px 6px 0px 0px — anchors

The system is small‑radius — 4px and 6px dominate. No pill shapes.

Shadows

Three shadows:

  • rgba(0, 0, 0, 0.07) 0px 8px 10px — soft drop
  • rgba(0, 0, 0, 0.07) 0px 0px 8px 8px — ambient
  • rgba(0, 0, 0, 0.2) 0px 4px 10px — deeper, rare

Shadows are subtle — depth cues without drama.

Borders

Mix of hairlines (1px solid) in gray (#dee2e6), brand purple (#632ca6), or white, used for separation. Some triple‑style combos (3px solid none none) for emphasis.


6. Components

6.1 Buttons

Primary (js-cta-HeaderCTA btn tw-bg-primary tw-text-white)

  • Default: bg #632ca6, white text, padding 16px 24px, radius 4px, border 1px solid transparent, font 18px/700.
  • Hover: bg transparent, text vivid purple, border 1px solid rgb(16, 110, 180).
  • Active: bg light purple (rgb(204 173 255)), text dark purple, inset shadow, border white.
  • Focus: bg vivid purple (rgb(128 0 255)), white text, scale(0.85) + translate, border 1px solid rgb(16, 110, 180).

Secondary (btn tw-border tw-border-primary tw-text-primary)

  • Default: transparent bg, purple text, purple border, padding 14px 24px 16px.
  • States mirror primary.

White (corp-ui-button-cta-large corp-ui-button-cta-solid-)

  • Default: white bg, black text, padding 16px 24px, border none.
  • States mirror primary’s hover/active/focus.

Variants:

  • White text (footer/nav) — hover: vivid purple underline 2px.
  • Gray (#555555) — hover: vivid purple underline.
  • Dark gray (#212529) — hover: vivid purple underline.
  • Purple (#632ca6) — hover: vivid purple underline.
  • Black (#000000) — hover: vivid purple underline.

No default underlines; underline appears on hover.

6.3 Forms

Search input:

  • Default: transparent bg, dark gray text, no border, padding 0 10px.
  • Focus: border transparent, box‑shadow .25rem rgba(var(--bs-danger-rgb),.25) (danger red), color black.

6.4 Cards

Not explicitly in data, but border‑radius 4px–6px, subtle shadows (rgba(0,0,0,0.07)) or borders (#dee2e6).


7. Design Tokens

:root {
  /* Colors */
  --color-dark-gray: #333333;
  --color-medium-gray: #555555;
  --color-primary-purple: #632ca6;
  --color-vivid-purple: #7700ff;
  --color-border-gray: #dee2e6;
  --color-background-white: #ffffff;
  --color-success-green: #198754;
  --color-danger-red: #dc3545;
  --color-warning-text: #664d03;
  --color-info-text: #055160;
  --color-code-pink: #c7254e;
  --gradient-callout: linear-gradient(360deg, #8904FF, #110617);
  --color-light-gray-bg-subtle: #fcfcfd;
  --color-primary-bg-subtle: #cfe2ff;
  --color-secondary-bg: #e9ecef;
  --color-secondary-bg-subtle: #e2e3e5;
  --color-success-bg-subtle: #d1e7dd;
  --color-danger-bg-subtle: #f8d7da;
  --color-info-bg-subtle: #cff4fc;
  --color-dark-bg-subtle: #ced4da;

  /* Typography */
  --font-primary: "NationalWeb", Helvetica, Arial;
  --font-secondary: Helvetica, Arial;

  /* Spacing */
  --space-2: 2px;
  --space-3: 3px;
  --space-4: 4px;
  --space-5: 5px;
  --space-7: 7px;
  --space-8: 8px;
  --space-8_5: 8.5px;
  --space-9: 9px;
  --space-9_5: 9.5px;
  --space-10: 10px;
  --space-11: 11px;
  --space-12: 12px;
  --space-13: 13px;
  --space-16: 16px;
  --space-20: 20px;
  --space-27: 27px;
  --space-28: 28px;
  --space-30: 30px;
  --space-40: 40px;
  --space-48: 48px;

  /* Border Radius */
  --radius-none: 0px;
  --radius-1: 1px;
  --radius-4: 4px;
  --radius-4_8: 4.8px;
  --radius-5: 5px;
  --radius-6: 6px;

  /* Shadows */
  --shadow-soft: rgba(0, 0, 0, 0.07) 0px 8px 10px 0px;
  --shadow-ambient: rgba(0, 0, 0, 0.07) 0px 0px 8px 8px;
  --shadow-deep: rgba(0, 0, 0, 0.2) 0px 4px 10px 0px;
}

8. AI Coding Assistant Prompt

# Datadog Design System Specification

You are a Datadog design expert. Build UIs matching their visual language exactly.

## Brand Context
Datadog’s design is precise, developer‑oriented, and anchored in a distinctive purple brand color. Typography is clean and geometric via NationalWeb, with tight heading line heights and generous link spacing. Layout is structured on an 8px grid, with subtle shadows and small‑radius corners.

## Color Palette
- Dark Gray: #333333 — Body text
- Medium Gray: #555555 — Secondary text
- Primary Purple: #632ca6 — Primary buttons, key actions
- Vivid Purple: #7700ff — Hover states, accents
- Border Gray: #dee2e6 — Dividers, input borders
- Background White: #ffffff — Page backgrounds
- Success Green: #198754 — Success states
- Danger Red: #dc3545 — Error states
- Warning Text: #664d03 — Warning text
- Info Text: #055160 — Info text
- Code Pink: #c7254e — Code snippets
- Callout Gradient: linear-gradient(360deg, #8904FF, #110617) — Decorative sections
- Light Gray BG Subtle: #fcfcfd — Subtle backgrounds
- Primary BG Subtle: #cfe2ff — Light primary backgrounds
- Secondary BG: #e9ecef — Panels
- Secondary BG Subtle: #e2e3e5 — Panel variations
- Success BG Subtle: #d1e7dd — Success backgrounds
- Danger BG Subtle: #f8d7da — Error backgrounds
- Info BG Subtle: #cff4fc — Info backgrounds
- Dark BG Subtle: #ced4da — Dark mode surfaces

## Typography
Font Families:
- Primary: "NationalWeb", Helvetica, Arial
- Secondary: Helvetica, Arial

Sizes/Weights/Line Heights:
| Level | Size | Weight | LH | Use |
| H1 | 68px | 600 | 1.00 | Page titles |
| H2 | 36px | 700 | 1.11 | Section headings |
| H3 | 28px | 700 | 1.14 | Subsections |
| Body Large | 22px | 300 | 1.43 | Paragraphs |
| Body | 18px | 300–600 | 1.43 | UI text |
| Caption | 12px | 700 | 1.00 | Labels |
| Tiny | 9px | 300 | 3.33 | Footnotes |

## Spacing & Grid
Base: 8px grid.
Scale: 2, 3, 4, 5, 7, 8, 8.5, 9, 9.5, 10, 11, 12, 13, 16, 20, 27, 28, 30, 40, 48.
Buttons: padding 16px 24px (primary), 14px 24px 16px (secondary).
Cards: padding multiples of 12px.

## Border Radius
- none: 0px — tables
- sm: 4px — buttons, inputs
- md: 6px — lists, form fields
- modal: 4.8px, 5px — modal corners

## Shadows & Depth
- Soft: rgba(0,0,0,0.07) 0px 8px 10px
- Ambient: rgba(0,0,0,0.07) 0px 0px 8px 8px
- Deep: rgba(0,0,0,0.2) 0px 4px 10px

## Component Specifications

### Primary Button
Default: bg #632ca6, color #ffffff, padding 16px 24px, radius 4px, border 1px solid transparent, font 18px/700.
Hover: bg transparent, color #7700ff, border 1px solid rgb(16, 110, 180).
Active: bg rgb(204 173 255), color rgb(67 0 176), inset shadow, border white.
Focus: bg rgb(128 0 255), color white, transform scale(0.85) translate, border rgb(16, 110, 180).

### Secondary Button
Default: bg transparent, color #632ca6, border 1px solid #632ca6, padding 14px 24px 16px.
States mirror primary.

### Navigation Links
Default: no underline, color varies (#ffffff, #555555, #333333, #632ca6, #000000).
Hover: underline 2px, color #b37bff.

### Input Fields
Search:
Default: bg transparent, color #212529, no border, padding 0px 10px.
Focus: border-color transparent, box-shadow 0 0 0 .25rem rgba(220,53,69,.25), color #000000.

### Cards
Radius 4px–6px, bg #ffffff or panel gray, subtle shadow or border #dee2e6.

## Layout & Responsive Rules
Bootstrap grid for structure.
Breakpoints: 375px (mobile), 768px (tablet), 992px (desktop), 1200px (wide), 1440px (large).
Page padding: multiples of 8px.

## Interaction Rules
Transition: 150ms ease for state changes.
Focus indicators: border + box-shadow per state.
Loading: opacity changes, no spinner details in extracted data.

## DO List
- Use ONLY colors from palette.
- Maintain 8px grid — spacing in multiples.
- Use NationalWeb for headings, Helvetica for fallback.
- Keep corner radii at 4px or 6px — no pills.
- Keep shadows subtle — use provided values.
- Use hover underline for links — 2px solid.

## DON'T List
- Don’t invent new colors.
- Don’t mix large and small radii in same component.
- Don’t use heavy shadows.
- Don’t underline links by default.
- Don’t use gradients for functional UI elements.

## Code Examples

Primary Button:
```css
.btn-primary {
  background: #632ca6;
  color: #ffffff;
  padding: 16px 24px;
  border-radius: 4px;
  font-weight: 700;
  font-size: 18px;
  border: 1px solid transparent;
  transition: all 150ms ease;
}
.btn-primary:hover {
  background: transparent;
  color: #7700ff;
  border: 1px solid rgb(16, 110, 180);
}
.btn-primary:focus {
  background: rgb(128, 0, 255);
  color: #ffffff;
  border: 1px solid rgb(16, 110, 180);
}
```

Card:
```css
.card {
  background: #ffffff;
  border-radius: 6px;
  padding: 12px;
  box-shadow: rgba(0,0,0,0.07) 0px 8px 10px;
}
```

Input:
```css
.input-search {
  background: transparent;
  color: #212529;
  border: none;
  padding: 0 10px;
}
.input-search:focus {
  box-shadow: 0 0 0 .25rem rgba(220,53,69,.25);
  outline: none;
}
```

9. Summary

TL;DR — Datadog’s system is disciplined: deep purple primary, neutral grays, clean NationalWeb typography, 8px grid, small‑radius corners, subtle shadows. Buttons and links have clear, consistent states. It’s developer‑grade branding: precise, repeatable, minimal noise.

Brand Keywords:

  • developer‑precision
  • purple‑confidence
  • grid‑disciplined
  • subtle‑depth
  • functional‑minimalism