---
name: twilio-design-reference
provider: DesignSkill (https://designskill.dev)
reference: twilio.com
source_url: https://www.twilio.com/en-us
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T09:13:19.469Z
mode: full-render
classification: reference_only
---

# Twilio — Design Reference (measured)

Measured design tokens extracted from `https://www.twilio.com/en-us` by designskill-extract/3.2.0.
Every value below was observed in the live page (×N = observation count). Values not listed were **not observed** — do not invent them.
This document is `reference_only`: an analysis of a third-party site, not a license to its brand assets.

## Overview

- Extraction mode: **full-render** (viewports 390/768/1440px × light/dark), 1 page(s), 488 observation records.
- Primary action color observed as `#1866ee` (basis: cross-validated, confidence 0.7).
- Dominant font family: **Whitney SSm** (×877; secondary Buffalo ×97).
- Type scale observed at 8 sizes from 12px to 72px.
- Corner radius values in use: 50px, 4px, 20px, 10px….
- Not observed in this extraction: forms, cards, badges.

## Colors

### Role Tokens

Semantic roles inferred from observed usage. `basis` tells how the role was established (declared CSS var > cross-validated > inferred).

| Token | Value | Basis | Confidence | Observed |
|---|---|---|---|---|
| `{color.primary}` | `#1866ee` | cross-validated | 0.7 | ×66 |
| `{color.background}` | `#ffffff` | cross-validated | 0.94 | ×660 |
| `{color.ink}` | `#000d25` | cross-validated | 0.94 | ×415 |
| `{color.muted}` | `#7e869c` | inferred | 0.7 | ×32 |
| `{color.surface}` | `#cacdd8` | inferred | 0.7 | ×149 |
| `{color.accent}` | `#ef223a` | inferred | 0.65 | ×247 |

### Observed Palette

Full measured palette ordered by usage share. `Used in` lists the CSS properties the color appeared on.

| Hex | Share | Used in | Observed |
|---|---|---|---|
| `#ffffff` | 35.1% | background-color, color, -webkit-mask, border-color | ×660 (cross-validated, 0.94) |
| `#000d25` | 22.1% | background-color, color, -webkit-box-shadow, border-color | ×415 (cross-validated, 0.94) |
| `#ef223a` | 13.2% | color, border-color, background-color | ×247 (cross-validated, 0.93) |
| `#cacdd8` | 7.9% | background-color, color | ×149 (cross-validated, 0.92) |
| `#ef223a` | 4.0% | background-color | ×76 (observed, 0.76) |
| `#1866ee` | 3.5% | background-color, color, border-color | ×66 (cross-validated, 0.91) |
| `#000000` | 2.5% | background-color, color, border-color, box-shadow | ×46 (cross-validated, 0.91) |
| `#191f36` | 2.0% | background-color, color | ×38 (cross-validated, 0.9) |
| `#7e869c` | 1.7% | color, border-color | ×32 (observed, 0.75) |
| `#e82c24` | 1.1% | background-color | ×20 (inferred, 0.59) |
| `#e6e6e6` | 0.9% | border-color, -webkit-box-shadow, color | ×16 (cross-validated, 0.89) |
| `#081f47` | 0.6% | background-color | ×12 (observed, 0.74) |
| `#393939` | 0.6% | color, border-color | ×11 (inferred, 0.59) |
| `#f3f4f7` | 0.5% | color, background-color, border-color | ×10 (cross-validated, 0.88) |
| `#aeb2c1` | 0.3% | border-color, stroke | ×6 (inferred, 0.58) |
| `#01148a` | 0.4% | background-color, color, border-color | ×8 (cross-validated, 0.88) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Whitney SSm` | ×877 |
| `Buffalo` | ×97 |
| `Twilio_Sans_Text` | ×6 |
| `Consolas` | ×1 |
| `Twilio Sans Mono` | ×1 |
| `Twilio_Sans_Mono` | ×1 |

Use **Whitney SSm** as the default family — it accounts for the overwhelming majority of observed text nodes.

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 72px | ×64 |
| `{type.h1}` | 40px | ×56 |
| `{type.h2}` | 26px | ×91 |
| `{type.h3}` | 22px | ×89 |
| `{type.body-lg}` | 18px | ×138 |
| `{type.body}` | 16px | ×144 |
| `{type.body-sm}` | 14px | ×269 |
| `{type.caption}` | 12px | ×128 |

The most frequently observed size is **14px** (×269) — treat it as the default body size.

## Spacing

| Value | Observed |
|---|---|
| `8px` | ×777 |
| `32px` | ×678 |
| `12px` | ×452 |
| `48px` | ×316 |
| `4px` | ×258 |
| `16px` | ×253 |
| `24px` | ×240 |
| `6px` | ×42 |
| `64px` | ×38 |
| `38.5px` | ×27 |
| `51px` | ×25 |
| `6.5px` | ×20 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `50px` | ×184 |
| `4px` | ×80 |
| `20px` | ×48 |
| `10px` | ×14 |
| `80px` | ×10 |
| `2px` | ×10 |

## Elevation

| Shadow | Observed |
|---|---|
| `rgb(255, 255, 255) 0px 0px 0px 2px inset` | ×24 |
| `var(--shadow-card)` | ×16 |
| `#000000` | ×9 |
| `0 .8rem 2.4rem rgba(18,28,45,.1)` | ×8 |
| `0 1rem 2.4rem rgb(var(--color-blue-110)/10%)` | ×4 |
| `inset 0 -.1rem 0 rgb(var(--color-gray-100))` | ×4 |

## Motion

| Duration | Observed |
|---|---|
| `0.3s` | ×126 |
| `.3s` | ×96 |
| `0.2s` | ×36 |
| `0.18s` | ×32 |
| `.2s` | ×26 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#1866ee` · text `#ffffff` · radius `50px` · padding `6px 24px` · font `16px/500` | ×9 |
| nav | height `112px` · position `fixed` · link `#000d25` | — |

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| hover | color | `rgb(2, 99, 224)` | `rgb(4, 60, 181)` |
| hover | border-color | `rgb(2, 99, 224)` | `rgb(4, 60, 181)` |
| hover | outline-color | `rgb(2, 99, 224)` | `rgb(4, 60, 181)` |
| focus | color | `rgb(2, 99, 224)` | `rgb(0, 20, 137)` |
| focus | border-color | `rgb(2, 99, 224)` | `rgb(0, 20, 137)` |
| focus | outline-color | `rgb(2, 99, 224)` | `rgb(11, 42, 96)` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#ffffff` | `#000d25` | 19.37 | pass | observed ×256 |
| `#cacdd8` | `#000d25` | 12.21 | pass | observed ×73 |
| `#ef223a` | `#000d25` | 4.57 | pass | observed ×67 |
| `#ffffff` | `#1866ee` | 5.03 | pass | observed ×27 |
| `#7e869c` | `#000d25` | 5.33 | pass | observed ×12 |
| `#ef223a` | `#191f36` | 3.84 | pass | observed ×9 |
| `#ffffff` | `#191f36` | 16.27 | pass | observed ×9 |
| `#000d25` | `#f3f4f7` | 17.61 | pass | observed ×7 |
| `#191f36` | `#191f36` | 1 | fail | observed ×6 |
| `#000d25` | `#ffffff` | 19.37 | pass | observed ×5 |
| `#0263e0` | `#000d25` | 3.56 | fail | observed ×3 |
| `#ffffff` | `#ef223a` | 4.23 | fail | observed ×3 |
| `#000d25` | `#ffffff` | 19.37 | pass | ink_on_background |
| `#ffffff` | `#1866ee` | 5.03 | pass | white_on_primary |
| `#7e869c` | `#ffffff` | 3.63 | fail | muted_on_background |

4 measured pair(s) fail AA — if you reuse those pairs, adjust lightness until the ratio reaches 4.5:1.

## Usage Rules

### Do
- Use `{color.primary}` (`#1866ee`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#000d25`) on `{color.background}` (`#ffffff`).
- Set all text in `Whitney SSm` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (50px, 4px, 20px, 10px) — no intermediate values were observed.
- Cite this file's token names (`{color.*}`, `{type.*}`) when generating UI so output stays traceable to observations.

### Don't
- Don't invent colors, sizes, shadows, or spacing not listed above — absence means *not observed*, and this document records observations only.
- Don't assume the missing blocks (forms, cards, badges) don't exist on the site — they were simply not captured in this run.
- Don't copy brand assets (logo, wordmark, imagery, copy) — `reference_only` covers measured style values, not brand identity.

## Provenance

- Source: https://www.twilio.com/en-us (1 page(s))
- Tool: designskill-extract/3.2.0 · extracted 2026-07-27T09:13:19.469Z
- Mode: full-render — 풀렌더 모드 — 3뷰포트 × 라이트/다크 computed style + 상태 관측.
- Blocks observed: 00, 01, 02, 03, 04, 05, 09, 10, 11, 12 · missing: forms, cards, badges
- Warning: primary 불일치: static=#e82c24 vs render=#1866ee — render 채택

---

<sub>Generated & served by [DesignSkill](https://designskill.dev)</sub>
