---
name: framer-design-reference
provider: DesignSkill (https://designskill.dev)
reference: framer.com
source_url: https://www.framer.com/
tool: designskill-extract/3.2.0
extracted_at: 2026-07-27T07:59:59.474Z
mode: full-render
classification: reference_only
---

# Framer — Design Reference (measured)

Measured design tokens extracted from `https://www.framer.com/` 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), 814 observation records.
- Primary action color observed as `#0066ff` (basis: inferred, confidence 0.58).
- Dominant font family: **Inter Variable** (×960; secondary Inter ×708).
- Type scale observed at 8 sizes from 9px to 28px.
- Corner radius values in use: 8px, 6px, 15px, 10px….
- Not observed in this extraction: 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}` | `#0066ff` | inferred | 0.58 | ×2 |
| `{color.background}` | `#ffffff` | cross-validated | 0.95 | ×1066 |
| `{color.ink}` | `#000000` | cross-validated | 0.95 | ×840 |
| `{color.muted}` | `#999999` | inferred | 0.7 | ×383 |
| `{color.surface}` | `#eeeeee` | inferred | 0.7 | ×22 |
| `{color.accent}` | `#00bb88` | inferred | 0.65 | ×50 |

### 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` | 25.5% | background-color, border-color, color, lv | ×1066 (cross-validated, 0.95) |
| `#000000` | 20.1% | background-color, color, border-color, --framer-font-open-type-features, --framer-text-color | ×840 (cross-validated, 0.95) |
| `#ffffff` | 13.8% | color, background-color | ×577 (observed, 0.79) |
| `#999999` | 9.2% | border-color, color, background-color, lv | ×383 (cross-validated, 0.94) |
| `#0099ff` | 7.8% | background-color, border-color, --framer-link-text-color, color | ×327 (cross-validated, 0.93) |
| `#242424` | 6.1% | background-color, border-color, --framer-font-open-type-features, custom-property, --border-top-width | ×254 (cross-validated, 0.93) |
| `#141414` | 5.1% | background-color, --border-color, custom-property, --framer-text-color, a | ×214 (cross-validated, 0.93) |
| `#ffffff` | 2.5% | background-color, border-color, color | ×105 (observed, 0.77) |
| `#666666` | 2.0% | border-color, color, --framer-font-open-type-features, background-color | ×83 (cross-validated, 0.91) |
| `#00bb88` | 1.2% | border-color, --border-top-width, color | ×50 (cross-validated, 0.91) |
| `#0099ff` | 0.9% | background-color, border-color | ×38 (observed, 0.75) |
| `#303030` | 1.1% | background-color, --border-color, custom-property, border-color, padding | ×46 (cross-validated, 0.91) |
| `#878787` | 0.7% | background-color, yetw, c | ×30 (cross-validated, 0.9) |
| `#eeeeee` | 0.5% | --border-color, background-color | ×22 (cross-validated, 0.9) |
| `#00bb88` | 0.5% | background-color | ×20 (observed, 0.74) |
| `#d67a5c` | 0.4% | --framer-text-color, color | ×19 (cross-validated, 0.89) |

## Typography

### Font Families

| Family | Observed |
|---|---|
| `Inter Variable` | ×960 |
| `Inter` | ×708 |
| `&quot` | ×418 |
| `Inter Display` | ×126 |
| `GT Walsheim Medium` | ×63 |
| `Input Mono Regular` | ×37 |

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

### Type Scale

| Token | Size | Observed |
|---|---|---|
| `{type.display}` | 28px | ×20 |
| `{type.h1}` | 18px | ×178 |
| `{type.h2}` | 15px | ×86 |
| `{type.h3}` | 14px | ×602 |
| `{type.body-lg}` | 13px | ×114 |
| `{type.body}` | 12px | ×554 |
| `{type.body-sm}` | 10px | ×48 |
| `{type.caption}` | 9px | ×29 |

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

## Spacing

| Value | Observed |
|---|---|
| `10px` | ×1110 |
| `5px` | ×874 |
| `20px` | ×290 |
| `15px` | ×219 |
| `25px` | ×205 |
| `8px` | ×182 |
| `6px` | ×162 |
| `40px` | ×146 |
| `3px` | ×96 |
| `4px` | ×64 |
| `60px` | ×49 |
| `7px` | ×44 |

## Shape (Border Radius)

| Value | Observed |
|---|---|
| `8px` | ×935 |
| `6px` | ×234 |
| `15px` | ×174 |
| `10px` | ×104 |
| `20px` | ×88 |
| `5px` | ×62 |
| `18px` | ×61 |
| `3px` | ×48 |

## Elevation

| Shadow | Observed |
|---|---|
| `rgba(0, 0, 0, 0.1) 0px 1px 2px 0px` | ×18 |
| `var(--9xgf7k)` | ×15 |
| `rgb(17, 17, 17) 0px 0px 0px 1.5px` | ×8 |
| `rgba(0, 0, 0, 0.25) 0px 2px 4px 0px` | ×6 |
| `rgba(0, 0, 0, 0.25) 0px 4px 8px 0px` | ×6 |
| `rgba(0, 0, 0, 0.2) 0px 2px 6px 0px` | ×6 |

## Motion

| Duration | Observed |
|---|---|
| `.3s` | ×1 |
| `.2s` | ×1 |
| `.15s` | ×1 |
| `0.3s` | ×1 |
| `0s` | ×1 |

## Components

Measured computed styles of representative components (desktop viewport).

| Component | Measured spec | Samples |
|---|---|---|
| button.primary | bg `#ffffff` · text `#0000ee` · radius `8px` · padding `10px 14px` · font `12px/400` | ×1 |
| form.input | bg `#000000` · text `#ffffff` · border `0px solid rgba(0, 0, 0, 0)` · radius `0px` · padding `0px` · height `70` | ×3 |
| nav | height `64px` · position `relative` · link `#0000ee` | — |

### Hero Gradient (observed)

```css
background-image: linear-gradient(rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0) 100%);
```

### Interaction States (observed)

| State | Property | From | To |
|---|---|---|---|
| focus | outline-color | `rgb(0, 0, 238)` | `rgb(0, 95, 204)` |
| focus | outline-width | `3px` | `1px` |
| focus | outline-color | `rgb(0, 0, 238)` | `rgb(0, 95, 204)` |

## Accessibility (WCAG Contrast)

| FG | BG | Ratio | AA | Source |
|---|---|---|---|---|
| `#ffffff` | `#000000` | 21 | pass | observed ×482 |
| `#999999` | `#111111` | 6.63 | pass | observed ×77 |
| `#ffffff` | `#111111` | 18.88 | pass | observed ×37 |
| `#999999` | `#000000` | 7.37 | pass | observed ×27 |
| `#ffffff` | `#242424` | 15.52 | pass | observed ×26 |
| `#666666` | `#111111` | 3.29 | fail | observed ×20 |
| `#999999` | `#1e1e1e` | 5.85 | pass | observed ×16 |
| `#ffffff` | `#171717` | 17.93 | pass | observed ×14 |
| `#999999` | `#171717` | 6.29 | pass | observed ×12 |
| `#000000` | `#ffffff` | 21 | pass | observed ×10 |
| `#00bb88` | `#111111` | 7.61 | pass | observed ×10 |
| `#050505` | `#878787` | 5.67 | pass | observed ×9 |
| `#000000` | `#ffffff` | 21 | pass | ink_on_background |
| `#ffffff` | `#0066ff` | 4.83 | pass | white_on_primary |
| `#999999` | `#ffffff` | 2.85 | fail | muted_on_background |

2 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}` (`#0066ff`) for primary actions only — that is where it was observed.
- Default text pairing: `{color.ink}` (`#000000`) on `{color.background}` (`#ffffff`).
- Set all text in `Inter Variable` (fallbacks only for glyph coverage).
- Pick corner radii from the measured set (8px, 6px, 15px, 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 (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.
- Treat `{color.primary}` with caution — confidence below 0.6.

## Provenance

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

---

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