#ff385c
June 12, 2026
airbnb.com
A reading of the visual language at https://airbnb.com. Every token, every rule, every component — captured from the live site.
About
Logo
Colour
1 primary · 1 secondary · 6 neutrals · 8 total
Neutrals
#222222#6A6A6A#000000#FFFFFF#DDDDDD#EBEBEBFull palette
#222222#6A6A6A#000000#FFFFFF#FF385C#DDDDDD#EBEBEB#E00B41WCAG 100% · 0 passing pairs · 0 failing. Full breakdown in §11.
Typography
2 families · 7 sizes · 3 weights
Specimen
Scale
| Step | Size | Sample |
|---|---|---|
t00 |
28px |
Site Footer |
t01 |
22px |
Site Footer |
t02 |
21px |
Site Footer |
t03 |
16px |
Site Footer |
t04 |
14px |
Site Footer |
t05 |
12px |
Site Footer |
t06 |
8px |
Site Footer |
Spacing
Base 2px · 8 steps captured
Rhythm
2px
15px
20px
32px
35px
48px
80px
131px
Shape
6 radii · 2 elevation tiers
Border radii
2px
8px
20px
32px
50px
100px
Elevation
xs
sm
Iconography
unknown · 10 captured
iconiconiconiconiconiconiconiconiconiconMotion
Feel: mixed · 4 durations · 3 easings
Duration scale
100ms
175ms
300ms
451754000ms
Easings
customease-in-outlinear
Components
unknown · 1 component patterns captured
Mocks
Built from these tokens
Radius, primary, surface, text — all sampled from the live site.
Read more →Detected patterns
button
Voice
friendly · — · —
Headlines from the site
- Site Footer
- Support
- Hosting
- Airbnb
CTA verbs
×1×1×1×1×1×1×1×1
Accessibility
0 passing · 0 failing
No failing contrast pairs detected.
Tokens
Drop-in code for the most common stacks. All values from the live extraction.
:root {
--color-primary: #ff385c;
--font-display: "Airbnb Cereal VF";
--space-base: 2px;
--radius-md: 8px;
}
// tailwind.config.js
module.exports = {
theme: {
extend: {
colors: { brand: '#ff385c' },
fontFamily: { display: ['Airbnb Cereal VF', 'serif'] },
spacing: { base: '2px' },
borderRadius: { md: '8px' },
},
},
};
Run npx designlang pack airbnb.com for the full bundle (DTCG, shadcn, Figma vars, motion, anatomy, Storybook).
Usage
-
Lead with the primary.
It belongs on calls-to-action and one accent moment per screen. Not on body copy.
-
Two type families, three weights.
Display for headlines, body for paragraphs. Resist a third unless there is a real reason.
-
Snap to the spacing scale.
Padding, margin, and gap should land on the values in §05. One-off pixels accumulate into noise.
-
Treat accessibility as a hard constraint.
When a colour pair fails WCAG, fix the colour — not the contrast check.