Travel & Transportation

Airbnb

Airbnb Light

coral-anchored brand identityvariable-font single-family systempill-radius card gridspring-physics motion layerinformation-dense listing layout

Airbnb's design system is built around a single custom variable font (Airbnb Cereal VF), a near-monochromatic neutral palette punctuated by a signature coral-red (#FF385C), and a card-grid layout system with generous rounded corners. The UI is light-themed with white surfaces, subtle multi-layer elevation shadows, and a structured search bar as the primary interaction hub. Listing cards dominate the content area with photo-first presentation, badge overlays, and compact metadata typography.

8Colors
9Type styles
13Spacing
7Radii

Colors

Brand

Whiteprimary
Primary page and card surface background

Surface

Grey 200background
Subtle surface fills for hover states, skeleton loaders, and secondary backgrounds

Text

Rauschtext
Brand color used on the search CTA button, logo, active nav underline, and key interactive highlights
Near Blacktext
Primary text color for headings, body copy, nav labels, and card metadata
Foggytext
Secondary text color for supporting labels, pricing subtext, and placeholder text

Border

Decoborder
Dividers, search bar separators, card outlines, and input borders
Grey 500border
Disabled state borders, placeholder icons, and muted UI chrome
Boboborder
Secondary border color for subtle separators and tertiary UI elements

Typography

Hero display text and large promotional headings
The quick brown fox jumps
Airbnb Cereal VF28px · 700 · 40.04px
Section titles such as 'Popular homes in Paris' and 'Great hotels for your next trip'
The quick brown fox jumps
Airbnb Cereal VF20px · 600 · 24px · -0.18px
Section headings, search bar field labels, and medium-emphasis UI labels
The quick brown fox jumps
Airbnb Cereal VF16px · 500 · 20px
Primary body text, card descriptions, nav labels, and general UI copy
The quick brown fox jumps
Airbnb Cereal VF14px · 400 · 20.02px
Emphasized body text, card titles, and interactive link labels
The quick brown fox jumps
Airbnb Cereal VF14px · 600 · 20.02px
Supporting metadata, pricing subtext, and secondary card information
The quick brown fox jumps
Airbnb Cereal VF12px · 400 · 16px
Badge text (e.g. 'Guest favorite'), strong emphasis labels, and tag chips
The quick brown fox jumps
Airbnb Cereal VF12px · 700 · 16px
Compact badge labels, status chips, and tight caption text
The quick brown fox jumps
Airbnb Cereal VF11px · 600 · 13px
'NEW' badge labels on nav items
The quick brown fox jumps
Airbnb Cereal VF8px · 700 · 10px · 0.32px

Spacing & Shape

Spacing

spacing-1
2px
spacing-2
4px
spacing-3
6px
spacing-4
8px
spacing-5
10px
spacing-6
12px
spacing-7
14px
spacing-8
16px
spacing-9
24px
spacing-10
28px
spacing-11
32px
spacing-12
40px
spacing-13
48px

Border Radius

radius-tiny4px
radius-small8px
radius-medium14px
radius-large20px
radius-xlarge32px
radius-pill50px
radius-full100px
---
version: alpha
name: "Airbnb Light"
description: "Airbnb's design system is built around a single custom variable font (Airbnb Cereal VF), a near-monochromatic neutral palette punctuated by a signature coral-red (#FF385C), and a card-grid layout system with generous rounded corners. The UI is light-themed with white surfaces, subtle multi-layer elevation shadows, and a structured search bar as the primary interaction hub. Listing cards dominate the content area with photo-first presentation, badge overlays, and compact metadata typography."
colors:
  white: "#ffffff"
  grey-200: "#f2f2f2"
  foggy: "#6a6a6a"
  near-black: "#222222"
  rausch: "#ff385c"
  bobo: "#b0b0b0"
  deco: "#dddddd"
  grey-500: "#c1c1c1"
typography:
  body-default:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "14px"
    fontWeight: "400"
    lineHeight: "20.02px"
  body-small:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "12px"
    fontWeight: "400"
    lineHeight: "16px"
  label-medium:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "16px"
    fontWeight: "500"
    lineHeight: "20px"
  label-bold-small:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "12px"
    fontWeight: "700"
    lineHeight: "16px"
  body-semibold:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "14px"
    fontWeight: "600"
    lineHeight: "20.02px"
  caption-bold:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "11px"
    fontWeight: "600"
    lineHeight: "13px"
  section-heading:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "20px"
    fontWeight: "600"
    lineHeight: "24px"
    letterSpacing: "-0.18px"
  display:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "28px"
    fontWeight: "700"
    lineHeight: "40.04px"
  micro-badge:
    fontFamily: "Airbnb Cereal VF"
    fontSize: "8px"
    fontWeight: "700"
    lineHeight: "10px"
    letterSpacing: "0.32px"
rounded:
  radius-tiny: "4px"
  radius-small: "8px"
  radius-medium: "14px"
  radius-large: "20px"
  radius-xlarge: "32px"
  radius-pill: "50px"
  radius-full: "100px"
spacing:
  spacing-1: "2px"
  spacing-2: "4px"
  spacing-3: "6px"
  spacing-4: "8px"
  spacing-5: "10px"
  spacing-6: "12px"
  spacing-7: "14px"
  spacing-8: "16px"
  spacing-9: "24px"
  spacing-10: "28px"
  spacing-11: "32px"
  spacing-12: "40px"
  spacing-13: "48px"
---

## Overview

Airbnb's design system is built around a single custom variable font (Airbnb Cereal VF), a near-monochromatic neutral palette punctuated by a signature coral-red (#FF385C), and a card-grid layout system with generous rounded corners. The UI is light-themed with white surfaces, subtle multi-layer elevation shadows, and a structured search bar as the primary interaction hub. Listing cards dominate the content area with photo-first presentation, badge overlays, and compact metadata typography.

**Signature traits:**
- Single-family weight hierarchy: Builds hierarchy from Airbnb Cereal VF across 4 weights rather than multiple families.
- Soft, rounded geometry: Generous corner rounding up to 100px.
- Single-accent color discipline: A neutral-led palette reserves #ff385c as the lone accent.

## Colors

The palette uses 8 validated color tokens across 1 theme profile. Semantic roles stay attached to observed usage so generation agents can choose accents without inventing new color meaning.

**Semantic naming:**
- **action-text** maps to `rausch`: Role "text" is grounded by usage context "Brand color used on the search CTA button, logo, active nav underline, and key interactive highlights".
- **content-text** maps to `near-black`: Role "text" is grounded by usage context "Primary text color for headings, body copy, nav labels, and card metadata".
- **surface-primary** maps to `white`: Role "primary" is grounded by usage context "Primary page and card surface background".
- **border-border** maps to `deco`: Role "border" is grounded by usage context "Dividers, search bar separators, card outlines, and input borders".

### Primary Brand
- **White** (#ffffff): Primary page and card surface background. Role: primary. {authored: rgb(255, 255, 255), space: rgb, alpha: 0.5}

### Text Scale
- **Foggy** (#6a6a6a): Secondary text color for supporting labels, pricing subtext, and placeholder text. Role: text. {authored: rgb(106, 106, 106), space: rgb}
- **Near Black** (#222222): Primary text color for headings, body copy, nav labels, and card metadata. Role: text. {authored: rgb(34, 34, 34), space: rgb}
- **Rausch** (#ff385c): Brand color used on the search CTA button, logo, active nav underline, and key interactive highlights. Role: text. {authored: rgb(255, 56, 92), space: rgb}

### Interactive
- **Bobo** (#b0b0b0): Secondary border color for subtle separators and tertiary UI elements. Role: border. {authored: rgb(176, 176, 176), space: rgb}
- **Deco** (#dddddd): Dividers, search bar separators, card outlines, and input borders. Role: border. {authored: rgb(221, 221, 221), space: rgb}
- **Grey 500** (#c1c1c1): Disabled state borders, placeholder icons, and muted UI chrome. Role: border. {authored: rgb(193, 193, 193), space: rgb}

### Surface & Shadows
- **Grey 200** (#f2f2f2): Subtle surface fills for hover states, skeleton loaders, and secondary backgrounds. Role: background. {authored: rgb(242, 242, 242), space: rgb}

## Typography

Typography uses Airbnb Cereal VF across extracted hierarchy roles. Keep hierarchy mapped to these token rows before adding decorative type styles.

Uses Airbnb Cereal VF throughout for a uniform feel. Weight range spans regular, medium, bold, semi-bold. Sizes range from 8px to 28px.

### Type Scale Evidence
| Role | Font | Size | Weight | Line Height | Letter Spacing | Stack / Features | Notes |
|------|------|------|--------|-------------|----------------|------------------|-------|
| Primary body text, card descriptions, nav labels, and general UI copy | Airbnb Cereal VF | 14px | 400 | 20.02px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Supporting metadata, pricing subtext, and secondary card information | Airbnb Cereal VF | 12px | 400 | 16px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Section headings, search bar field labels, and medium-emphasis UI labels | Airbnb Cereal VF | 16px | 500 | 20px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Badge text (e.g. 'Guest favorite'), strong emphasis labels, and tag chips | Airbnb Cereal VF | 12px | 700 | 16px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Emphasized body text, card titles, and interactive link labels | Airbnb Cereal VF | 14px | 600 | 20.02px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Compact badge labels, status chips, and tight caption text | Airbnb Cereal VF | 11px | 600 | 13px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Section titles such as 'Popular homes in Paris' and 'Great hotels for your next trip' | Airbnb Cereal VF | 20px | 600 | 24px | -0.18px | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| Hero display text and large promotional headings | Airbnb Cereal VF | 28px | 700 | 40.04px | normal | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |
| 'NEW' badge labels on nav items | Airbnb Cereal VF | 8px | 700 | 10px | 0.32px | Airbnb Cereal VF, Circular, -apple-system, BlinkMacSystemFont, Roboto, Helvetica Neue, sans-serif | Extracted token |

## Layout

Responsive system uses 4 breakpoint tier(s): mobile, tablet, desktop, wide.

This system uses a 4px base grid with scale values 2, 4, 6, 8, 10, 12, 16, 24, 28, 32, 40, 48.

### Responsive Strategy
- **mobile (300-1127.99px)**: Constrain layout for small viewports and prioritize vertical stacking.
- **tablet (667-1128px)**: Increase spacing and column structure for medium-width viewports.
- **desktop (1024-1600px)**: Expand layout density and horizontal composition for wide viewports.
- **wide (>= 1440px)**: Stretch composition with generous gutters and wider layout spans.

### Spacing System
| Token | Value | Px | Notes |
|------|-------|----|-------|
| spacing-1 | 2px | 2 | Extracted spacing token |
| spacing-2 | 4px | 4 | Mapped to --corner-radius-tiny4px-border-radius |
| spacing-3 | 6px | 6 | Extracted spacing token |
| spacing-4 | 8px | 8 | Mapped to --corner-radius-small8px-border-radius |
| spacing-5 | 10px | 10 | Extracted spacing token |
| spacing-6 | 12px | 12 | Mapped to --corner-radius-medium12px-border-radius |
| spacing-7 | 14px | 14 | Extracted spacing token |
| spacing-8 | 16px | 16 | Mapped to --corner-radius-large16px-border-radius |
| spacing-9 | 24px | 24 | Mapped to --corner-radius-xxlarge24px-border-radius |
| spacing-10 | 28px | 28 | Mapped to --corner-radius-xxlarge28px-border-radius |
| spacing-11 | 32px | 32 | Mapped to --corner-radius-xxxlarge32px-border-radius |
| spacing-12 | 40px | 40 | Extracted spacing token |
| spacing-13 | 48px | 48 | Extracted spacing token |

## Elevation & Depth

Keep depth flat unless validated shadow or interaction evidence appears in the extraction payload. Do not invent shadows beyond this evidence boundary.

### Shadow Evidence
| Shadow Token | Layers | Details |
|--------------|--------|---------|
| n/a | 0 | No validated shadow payload |

### Interaction Signals
| Theme | Signal | Evidence |
|-------|--------|----------|
| Light | backdrop-filter | blur(32px) |
| Light | outline-color | rgb(34, 34, 34) ; rgb(106, 106, 106) ; rgb(193, 193, 193) |
| Light | outline-width | 3px |
| Light | outline-offset | 0px |
| Light | transform | matrix(2, 0, 0, 2, 0, 0) ; matrix(1, 0, 0, -1, 0, 6.6) ; matrix(1, 0, 0, 1, -425, 0) |

## Shapes

Shape language maps directly to rounded tokens. Keep component corners consistent with the role mapping below before introducing bespoke geometry.

### Radius Roles
| Token | Value | Px | Role Mapping |
|------|-------|----|--------------|
| radius-tiny | 4px | 4 | Subtle corner |
| radius-small | 8px | 8 | Control corner |
| radius-medium | 14px | 14 | Card corner |
| radius-large | 20px | 20 | Card corner |
| radius-xlarge | 32px | 32 | Large surface corner |
| radius-pill | 50px | 50 | Large surface corner |
| radius-full | 100px | 100 | Large surface corner |

### Geometry Evidence
| Radius Token | Shape | Units |
|--------------|-------|-------|
| radius-tiny | 4px | px |
| radius-small | 8px | px |
| radius-medium | 14px | px |
| radius-large | 20px | px |
| radius-xlarge | 32px | px |
| radius-pill | 50px | px |
| radius-full | 100px | px |

## Components

(none detected)

## Do's and Don'ts

Guardrails protect Single-family weight hierarchy, Soft, rounded geometry, Single-accent color discipline without adding unsupported visual claims.

| Do | Don't |
|----|---------|
| Do maintain consistent spacing using the base grid | Don't make unsupported claims about absent visual features |
| Do maintain WCAG AA contrast ratios (4.5:1 for normal text) | Don't mix rounded and sharp corners in the same view |
| Do use the primary color only for the single most important action per screen |  |
| Do verify evidence before writing new design-system guidance |  |

## Responsive Evidence

### Breakpoints
| Name | Width | Key Changes |
|------|-------|-------------|
| Mobile | <= 300px | (max-width: 300px) |
| Mobile | <= 320px | (max-width: 320px) |
| Mobile | <= 330px | (max-width: 330px) |
| Mobile | <= 375px | (max-width: 375px) |
| Mobile | <= 395px | screen and (max-width: 395px) |
| Mobile | <= 499px | (max-width: 499px) |
| Mobile | <= 743px | (max-width: 743px) |
| Mobile | <= 744px | (max-width: 744px) |
| Breakpoint 9 | <= 768px | (max-width: 768px) |
| Breakpoint 10 | <= 880px | only screen and (max-width: 880px) |
| Breakpoint 11 | <= 895px | (max-width: 895px) |
| Breakpoint 12 | <= 949px | (max-width: 949px) |
| Breakpoint 13 | <= 1127px | (max-width: 1127px) |
| Breakpoint 14 | <= 1127.99px | (max-width: 1127.99px) and (max-height: 479.99px) |
| Mobile | >= 300px | (min-width: 300px) |
| Mobile | >= 375px | (min-width: 375px) |
| Mobile | >= 376px | (min-width: 376px) |
| Mobile | >= 403px | (min-width: 403px) |
| Mobile | >= 412px | (min-width: 412px) |
| Mobile | >= 420px | (min-width: 420px) |

## Agent Prompt Guide

### Example Component Prompts
- Create button component using validated primary color role and spacing tokens.
- Create card component with mapped radius role and evidence-backed elevation.
- Create form input component using inferred typography hierarchy and border roles.

### Iteration Guide
1. Start with extracted palette and typography roles only.
2. Map spacing and radius directly from token tables before visual polish.
3. Apply component patterns one section at a time and compare against source intent.
4. Keep elevation claims tied to explicit evidence in output.
5. Iterate with smallest diffs and re-check section hierarchy after each change.
Design Extractor

Turn any website into a structured design spec that AI coding agents can use to build pixel-perfect UI.

© 2026 Design Extractor. All rights reserved.

Airbnb — Design Tokens & System | Design Extractor