BrandToPrompt

Airbnb Design System: Warm Human-First Global UI

Visit Site

Explore Airbnb's design system - warm colors, custom typography, and global UI standards. Build trust and inspiration with Airbnb's visual language.

5 min read837 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Airbnb Cereal VF
Secondary Font
Circular

Design Style

Style
warm, human-first with rounded corners, subtle shadows, and precise scalable layout
Visual Density
compact grid-based with precise fractional spacing
Border Style
mixed: 8px cards, 20px buttons, 50% avatars

Full Analysis

Airbnb Brand Design System Deep Dive

1. Brand Overview

Airbnb’s design system is built to feel warm, human, and approachable — but with precision that makes it scale globally. This isn’t a tech company that hides behind sterile grids and corporate blues. It’s a hospitality brand that sells experiences, not just rooms. The design language has to make you feel safe enough to book a stranger’s apartment yet inspired enough to dream about adventures.

The vibe: bright primary red-pink (#FF385C) that’s unmistakable in the marketplace. Soft neutrals. Rounded corners everywhere — nothing feels sharp or hostile. Typography is custom (“Airbnb Cereal VF”), which gives them control over personality and legibility in every language. There’s a clear 8px spacing logic, but they sneak in half-steps like 5.5px and 2px for micro-alignment. That’s a sign of obsessive refinement.

Who’s this for? Travelers, hosts, and anyone who interacts with the platform on any device. The system has to work from mobile app to web to email. They need consistent tokens so that a “Book” button feels the same in Tokyo as it does in Paris.

Design philosophy: human-first, detail-obsessed, scalable. Every color, radius, and shadow plays a role in building trust and emotional connection. Nothing is purely decorative — even gradients have semantic meaning (core, luxe, plus tiers).


2. Color System

2.1 Primary Colors

The primary brand color is #FF385C — a saturated pinkish-red. It’s not pure red (too aggressive) and not pure pink (too soft). This is a confident, emotional color. It conveys warmth, excitement, and passion without drifting into danger or romance clichés.

Compared to competitors:

  • Booking.com leans into deep blue (trust, stability).
  • Expedia uses yellow (optimism).
  • Airbnb’s red-pink stands out in feeds and app grids. It’s instantly recognizable.

They use gradients (#E61E4D → #D70466) to add depth and tier differentiation. Luxe offerings get a deep purple gradient (#59086E → #440589).

2.2 Complete Palette

Color NameHexRoleUsage
Bg Primary Core#FF385CPrimary brandCTAs, primary buttons
Bg Secondary Core RTLlinear-gradient(to left,#E61E4D 0%,#E31C5F 50%,#D70466 100%)Gradient brand variantLarge hero buttons, premium CTAs
Bg Tertiary Core#E00B41AccentAlternate actions, hover states
Text Secondary Error Hover#B32505FunctionalHover state for error links
Bg Secondary Core Hoverradial-gradient(circle at center,#FF385C → #BD1E59)InteractionHover effects
Bg Quaternary#F2F2F2Neutral backgroundCards, secondary surfaces
Bg Primary Luxe#460479Premium tierLuxe category CTAs
Bg Secondary Luxe RTLlinear-gradient(to left,#59086E → #440589)Premium gradientLuxe hero banners
Text Primary Corelinear-gradient(to right,#E61E4D → #D70466)Gradient textPremium headings
Bg Secondary Plus Hoverradial-gradient(circle at center,#D70466 → #6C0D63)InteractionPlus tier hover states
Bg Quaternary Hover#EBEBEBNeutral hoverCard hover
Material Thick BGrgba(240,240,240,0.86)OverlayModal backgrounds
Text Material Disabledrgba(0,0,0,0.24)Disabled textInputs, buttons
Text Primary Error#C13515ErrorError messages
Bg Tertiary#B0B0B0Neutral mid-toneDividers
Bg Tertiary Hover#6A6A6AHover neutralIcon hovers
Bg Secondary Pluslinear-gradient(to right,#BD1E59 → #861453)GradientPlus tier CTAs
Bg Primary Plus#92174DAccentPlus tier solid buttons
Text Legal#428BFFLegal linksFooter legal links
Bg Secondary Luxelinear-gradient(to right,#59086E → #440589)Premium gradientLuxe CTAs
Bg Secondary Luxe Hoverradial-gradient(circle at center,#6C0D63 → #3B07BB)Premium hoverLuxe hover states
Text Link Disabled#929292Disabled linksFooter, disabled nav
Text Focused#3F3F3FFocus stateActive input text
Text Primary#222222Body textMain content
rgb(193,193,193)#C1C1C1NeutralIcons, borders
rgb(255,255,255)#FFFFFFSurfaceBackgrounds, text on dark
rgb(221,221,221)#DDDDDDDividerThin lines
rgb(247,247,247)#F7F7F7Hover backgroundSoft hover

2.3 Color Relationships

Contrast: Primary text #222222 on #FFFFFF background is 15.9:1 — plenty of contrast. Primary buttons (#FF385C) on white meet WCAG AA easily. Gradients are strong; need careful text color pairing (usually white).

Dark mode: Not explicitly in extracted data, but gradients and high-contrast neutrals suggest they could invert easily.

2.4 Usage Guide

  • Pair #FF385C with white for maximum CTA clarity.
  • Gradients for premium tiers — don’t use them for everyday buttons.
  • Neutral grays (#C1C1C1, #DDDDDD) for dividers and icons — avoid mixing with bright brand colors unless for disabled states.
  • Error red (#C13515) only for error messaging, not warnings.

3. Typography

3.1 Font Families

Primary: Airbnb Cereal VF — custom variable font. Fallbacks: Circular, -apple-system, system-ui, Roboto, Helvetica Neue. No Google or Adobe fonts; full control.

3.2 Type Scale

ElementFontSizeWeightLine Height
heading-1Airbnb Cereal VF28px7001.43
heading-1Airbnb Cereal VF22px5001.18
heading-1Airbnb Cereal VF21px7001.43
heading-1Airbnb Cereal VF20px6001.20
buttonAirbnb Cereal VF16px5001.25
heading-1Airbnb Cereal VF16px5001.25
linkAirbnb Cereal VF14px4001.43
captionAirbnb Cereal VF14px4001.43
captionAirbnb Cereal VF14px6001.29
buttonAirbnb Cereal VF14px4001.43
buttonAirbnb Cereal VF14px5001.29
captionAirbnb Cereal VF14px5001.29
captionAirbnb Cereal VF13px4001.23
captionAirbnb Cereal VF12px4001.33
captionAirbnb Cereal VF12px7001.33
captionAirbnb Cereal VF11px6001.18
captionAirbnb Cereal VF8px4001.43
captionAirbnb Cereal VF8px7001.25

3.3 Hierarchy

Headings jump from 28px bold to 20px semi-bold — clear steps. Body and captions hover around 14px for UI density. Micro text at 8px (!) for badges — uppercase with letter spacing for legibility.


4. Spacing & Layout

4.1 Spacing Scale

Base: 8px grid. But they use fractional values (5.5px) for fine-tuning.

ValueCountUsage
2px80Icon spacing, hairline gaps
3px4Rare micro-alignments
4px176Small padding, tight UI
5.5px134Button icon gaps
6px24Icon padding
7px2Rare
8px19Base spacing
10px14Small component padding
11px2Rare
12px174Button padding, card gaps
15px2Rare
16px3Medium padding
24px2Section padding
28px2Section headings
32px16Card padding
48px4Large spacing
49px1Odd case
80px1Hero spacing

4.2 Layout

Breakpoints from 99px to 2560px — highly responsive. They clearly test for dozens of specific device widths.


5. Visual Elements

Border Radius

ValueCountElements
0px 1.5px 1.5px 0px1span
1.5px 0px 0px 1.5px1span
2px28a
4px1button
4px 40px 40px 4px1button
8px28a, tab, button
10px 10px 10px 2px2span
14px67div
20px241button, group, a, div
24px1div
40px2search, div
40px 4px 4px 40px1button
50%111avatars, icons

Rounded corners are everywhere. 20px is the workhorse radius.

Shadows

Primary shadow: rgba(0,0,0,0.02) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 6px, rgba(0,0,0,0.1) 0px 4px 8px — subtle depth. No heavy drop shadows.


6. Components

6.1 Buttons

Variant 1 (Pill-ish with asymmetric radius):

Default: transparent bg, #222 text, 40px 4px 4px 40px radius, no shadow.

Hover: #EBEBEB bg, shadow, border.

Active: same bg, scale down, white + gray outline rings.

Focus: transparent border, 2px shadow, bg var(--palette-bg-primary-error).

Variant 2 (Circular icon button):

Default: #F2F2F2 bg, #222 text, 50% radius.

Hover/Active/Focus: same as above.

Three styles:

  • Black (#222) text, no decoration.
  • Brand red (#FF385C), no decoration.
  • Gray (#6A6A6A), no decoration.

Hover: color inheritance, still no underline.

6.3 Forms

No text inputs in extracted data — likely styled similarly to neutral buttons with clear focus rings.


7. Design Tokens

:root {
  /* Colors */
  --palette-bg-primary-core: #FF385C;
  --palette-bg-tertiary-core: #E00B41;
  --palette-text-secondary-error-hover: #B32505;
  --palette-bg-quaternary: #F2F2F2;
  --palette-bg-primary-luxe: #460479;
  --palette-text-primary-error: #C13515;
  --palette-bg-tertiary: #B0B0B0;
  --palette-bg-tertiary-hover: #6A6A6A;
  --palette-bg-primary-plus: #92174D;
  --palette-text-legal: #428BFF;
  --palette-text-link-disabled: #929292;
  --palette-text-focused: #3F3F3F;
  --palette-text-primary: #222222;
  --neutral-c1: #C1C1C1;
  --neutral-white: #FFFFFF;
  --neutral-dd: #DDDDDD;
  --neutral-f7: #F7F7F7;

  /* Typography */
  --font-family-primary: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue";
  --font-size-h1: 28px;
  --font-size-h2: 22px;
  --font-size-body: 14px;
  --font-size-caption: 12px;
  --font-size-micro: 8px;

  /* Spacing */
  --space-2: 2px;
  --space-4: 4px;
  --space-5_5: 5.5px;
  --space-8: 8px;
  --space-12: 12px;
  --space-16: 16px;
  --space-24: 24px;
  --space-32: 32px;
  --space-48: 48px;
  --space-80: 80px;

  /* Radius */
  --radius-sm: 2px;
  --radius-md: 8px;
  --radius-lg: 14px;
  --radius-xl: 20px;
  --radius-full: 50%;

  /* Shadows */
  --shadow-primary: rgba(0, 0, 0, 0.02) 0px 0px 0px 1px, rgba(0, 0, 0, 0.04) 0px 2px 6px, rgba(0, 0, 0, 0.1) 0px 4px 8px;
}

8. AI Coding Assistant Prompt

# Airbnb Design System Specification

You are an Airbnb design expert. Build UIs matching their visual language exactly.

## Brand Context
Airbnb’s design language is human-first, warm, and detail-oriented. Rounded corners, subtle shadows, and a strong primary red-pink define its look. Typography is custom and consistent across all touchpoints.

## Color Palette
- Primary Core: #FF385C — CTAs, primary buttons
- Tertiary Core: #E00B41 — Accent actions
- Secondary Error Hover: #B32505 — Error link hover
- Quaternary: #F2F2F2 — Surfaces
- Primary Luxe: #460479 — Luxe tier CTAs
- Primary Error: #C13515 — Error messages
- Tertiary: #B0B0B0 — Neutral dividers
- Tertiary Hover: #6A6A6A — Neutral hover
- Primary Plus: #92174D — Plus tier buttons
- Legal: #428BFF — Legal footer links
- Link Disabled: #929292 — Disabled links
- Focused: #3F3F3F — Focus text
- Text Primary: #222222 — Body text
- Neutral C1: #C1C1C1 — Icons, borders
- White: #FFFFFF — Background
- Neutral DD: #DDDDDD — Dividers
- Neutral F7: #F7F7F7 — Hover background

## Typography
Font: "Airbnb Cereal VF", Circular, -apple-system, system-ui, Roboto, "Helvetica Neue"

| Level | Size | Weight | Line Height | Use |
|-------|------|--------|-------------|-----|
| H1 | 28px | 700 | 1.43 | Page titles |
| H2 | 22px | 500 | 1.18 | Section headings |
| Body | 14px | 400 | 1.43 | Paragraphs |
| Caption | 12px | 400/700 | 1.33 | Labels |
| Micro | 8px | 700 | 1.25 | Badges |

## Spacing & Grid
Base: 8px. Values: 2, 4, 5.5, 8, 12, 16, 24, 32, 48, 80
Use multiples for padding, margins, gaps.

## Border Radius
- sm: 2px — small links
- md: 8px — cards, tabs
- lg: 14px — div containers
- xl: 20px — buttons, groups
- full: 50% — avatars, circular buttons

## Shadows & Depth
Primary: rgba(0,0,0,0.02) 0px 0px 0px 1px, rgba(0,0,0,0.04) 0px 2px 6px, rgba(0,0,0,0.1) 0px 4px 8px

## Components

### Primary Button
Default:
```css
background: transparent;
color: #222222;
border-radius: 40px 4px 4px 40px;
border: 1px solid transparent;
font-size: 14px;
font-weight: 400;
```
Hover: background #EBEBEB, shadow var(--shadow-primary), border 1px solid #DDDDDD
Active: scale(0.9375), outline rings
Focus: outline 0, box-shadow 0 0 0 2px #3F3F3F, background #C13515

### Secondary Button
Circular:
Default: background #F2F2F2, radius 50%, no border
Same hover/active/focus as primary

### Navigation Links
Default: color #222 or #FF385C, no underline
Hover: inherit color, no underline

## Layout & Responsive Rules
Breakpoints: 99px → 2560px. Test at all common device widths.

## Interaction Rules
State changes: 150ms ease
Focus: 2px solid #3F3F3F or box-shadow token
Hover: subtle bg change, no drastic color shifts

## DO
- Use only palette colors
- Maintain 8px grid with fine adjustments
- Keep rounded corners consistent
- Use Airbnb Cereal VF for all text
- Apply shadows sparingly

## DON'T
- Invent new colors
- Use heavy drop shadows
- Mix sharp and rounded corners
- Underline links
- Overuse gradients outside tiered CTAs

## Code Examples

Primary Button:
```css
.btn-primary {
  background: #FF385C;
  color: #FFFFFF;
  padding: 12px 24px;
  border-radius: 20px;
  font-weight: 500;
  font-size: 14px;
  border: none;
  transition: background 150ms ease;
}
.btn-primary:hover { background: #E61E4D; }
```

Card:
```css
.card {
  background: #FFFFFF;
  border-radius: 14px;
  padding: 32px;
  box-shadow: var(--shadow-primary);
}
```

Input:
```css
.input {
  border: 1px solid #DDDDDD;
  border-radius: 8px;
  padding: 8px 12px;
  font-size: 14px;
}
.input:focus { border-color: #FF385C; outline: none; }
```

9. Summary

TL;DR Airbnb’s design system is emotional but disciplined. Primary red-pink dominates CTAs, custom typography keeps brand voice consistent, and rounded corners plus subtle shadows make it feel friendly.

Brand Keywords: warm-humanist, global-scalable, rounded-friendly, detail-obsessive