W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Cursor is an AI-first code editor — a fork of VS Code engineered around long-context model reasoning, project-wide edit operations, and an agentic terminal. The marketing surface at cursor.com reads as quietly editorial rather than loud-tech: a warm "Sand" near-paper canvas, deep "Cursor Ink" text, and a single hot "Cursor Orange" (#F54E00) accent. Product chrome inverts to a "Cursor Night" dark canvas with ANSI-aligned semantic greens and reds. Typography on the marketing site is Cursor's proprietary "CursorGothic" sans with a "BerkeleyMono" mono pair; neither is publicly distributed.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/cursor/1.0.0/json/brand.json
and apply its role mappings (primary, accent, identity, etc.),
reference the fonts in references.fonts, and honor every rule where
severity is "error". Surface any deviation you choose to make.
All converter outputs for [email protected]. Served from
/dist/brands/cursor/1.0.0/.
Cross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
Plain JSON mirror of the resolved brand — palette, fonts, roles, rules.
CSS custom properties on :root with prefers-color-scheme dark.
SCSS variables + Sass maps for swatches, roles, and fonts.
Tailwind v3 theme.extend.colors + fontFamily.
Figma Tokens plugin JSON (Tokens Studio compatible).
Swift enums for SwiftUI / UIKit color + font tokens.
Kotlin objects for Jetpack Compose color + typography tokens.
Human-readable brand guide. Same source as the on-page Brand Guide.
Inline rendering of the Markdown brand guide. Same source as the
markdown/brand-guide.md download.
Cursor is an AI-first code editor — a fork of VS Code engineered around long-context model reasoning, project-wide edit operations, and an agentic terminal. The marketing surface at cursor.com reads as quietly editorial rather than loud-tech: a warm "Sand" near-paper canvas, deep "Cursor Ink" text, and a single hot "Cursor Orange" (#F54E00) accent. Product chrome inverts to a "Cursor Night" dark canvas with ANSI-aligned semantic greens and reds. Typography on the marketing site is Cursor's proprietary "CursorGothic" sans with a "BerkeleyMono" mono pair; neither is publicly distributed.
Tags: cursor, ai, developer-tools, code-editor, warm, light-first, paper
Cursor · [email protected] · Proprietary — All Rights Reserved
Cursor's brand palette, captured directly from the live cursor.com marketing site where the design system exposes named color tokens on :root (--color-theme-bg, --color-theme-text, --color-theme-accent, --color-theme-product-ansi-*). Cursor presents a warm light-first canvas — a near-paper "Sand" surface, a deep ink "Cursor Ink" text, and a saturated orange "Cursor Orange" (#F54E00) as the primary accent — supported by an ANSI-aligned green and red used by the product UI. The brand reads as quietly editorial: small palette, warm neutrals, a single hot accent.
| Role | Font | License | Classification |
|---|---|---|---|
heading |
Inter ([email protected]) |
OFL-1.1 | sans-serif |
body |
Inter ([email protected]) |
OFL-1.1 | sans-serif |
mono |
JetBrainsMono Nerd Font ([email protected]) |
OFL-1.1 | monospace |
| ID | Name | Value |
|---|---|---|
sand-canvas |
Sand Canvas | #F7F7F4 |
sand-card |
Sand Card | #F2F1ED |
sand-card-hover |
Sand Card Hover | #EBEAE5 |
sand-border |
Sand Border | #E1E0DB |
cursor-ink |
Cursor Ink | #26251E |
cursor-ink-secondary |
Cursor Ink Secondary | #4A443B |
cursor-ink-tertiary |
Cursor Ink Tertiary | #76716A |
cursor-orange |
Cursor Orange | #F54E00 |
cursor-orange-pressed |
Cursor Orange Pressed | #DB7042 |
cursor-green |
Cursor Green | #1F8A65 |
cursor-red |
Cursor Red | #CF2D56 |
cursor-night |
Cursor Night | #1A1A17 |
cursor-night-elevated |
Cursor Night Elevated | #26251E |
cursor-night-border |
Cursor Night Border | #3C3933 |
| Role | Swatch | Hex |
|---|---|---|
background |
sand-canvas |
#F7F7F4 |
surface |
sand-card |
#F2F1ED |
surface-elevated |
sand-card-hover |
#EBEAE5 |
text-primary |
cursor-ink |
#26251E |
text-secondary |
cursor-ink-secondary |
#4A443B |
text-tertiary |
cursor-ink-tertiary |
#76716A |
primary |
cursor-orange |
#F54E00 |
primary-hover |
cursor-orange-pressed |
#DB7042 |
accent |
cursor-orange |
#F54E00 |
accent-hover |
cursor-orange-pressed |
#DB7042 |
success |
cursor-green |
#1F8A65 |
warning |
cursor-orange |
#F54E00 |
error |
cursor-red |
#CF2D56 |
border |
sand-border |
#E1E0DB |
| Role | Swatch | Hex |
|---|---|---|
background |
cursor-night |
#1A1A17 |
surface |
cursor-night-elevated |
#26251E |
surface-elevated |
cursor-ink-secondary |
#4A443B |
text-primary |
sand-canvas |
#F7F7F4 |
text-secondary |
sand-card-hover |
#EBEAE5 |
text-tertiary |
cursor-ink-tertiary |
#76716A |
primary |
cursor-orange |
#F54E00 |
primary-hover |
cursor-orange-pressed |
#DB7042 |
accent |
cursor-orange |
#F54E00 |
accent-hover |
cursor-orange-pressed |
#DB7042 |
success |
cursor-green |
#1F8A65 |
warning |
cursor-orange |
#F54E00 |
error |
cursor-red |
#CF2D56 |
border |
cursor-night-border |
#3C3933 |
| Role | Swatch | Hex |
|---|---|---|
identity |
sand-canvas |
#F7F7F4 |
on-identity |
cursor-ink |
#26251E |
primary |
cursor-orange |
#F54E00 |
primary-hover |
cursor-orange-pressed |
#DB7042 |
accent |
cursor-orange |
#F54E00 |
accent-hover |
cursor-orange-pressed |
#DB7042 |
mark |
cursor-ink |
#26251E |
success |
cursor-green |
#1F8A65 |
warning |
cursor-orange |
#F54E00 |
error |
cursor-red |
#CF2D56 |
text-primary-light |
cursor-ink |
#26251E |
text-primary-dark |
sand-canvas |
#F7F7F4 |
background-light |
sand-canvas |
#F7F7F4 |
background-dark |
cursor-night |
#1A1A17 |
surface-light |
sand-card |
#F2F1ED |
surface-dark |
cursor-night-elevated |
#26251E |
text-secondary-light |
cursor-ink-secondary |
#4A443B |
text-tertiary-light |
cursor-ink-tertiary |
#76716A |
border-light |
sand-border |
#E1E0DB |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
code |
mono |
contrastRatio → text-primarybackground4.5WCAG-AACursor Ink (#26251E) on Sand Canvas (#F7F7F4) reads at ~15:1 — comfortably above WCAG AA. The brand's editorial posture and long-form documentation rewards holding the AA floor decisively rather than nudging into AAA-only territory.
colorChoice → roles.colors.primaryCursor Orange (#F54E00) is the single hot accent on the cursor.com marketing surface (--color-theme-accent on the live site). The product greens and reds are reserved for ANSI semantic states and must not stand in for the primary brand action color; the inks are text, not action.
colorChoice → roles.colors.markThe Cursor wordmark on the live marketing site renders in Cursor Ink on light canvas or Sand Canvas on the night canvas — monochromatic, not orange. The orange is an action accent, not a logo fill.
forbiddenTreatment → logoCursor's identity is restrained by design. Recolored, skewed, or gradient-filled marks conflict with the quiet, editorial voice of the cursor.com surface.
contextRestriction → roles.colors.warningCursor Orange does double duty as accent + warning on the live site (--color-warning aliases to --color-theme-accent). The error state is the separate Cursor Red (#CF2D56) — orange must not stand in for destructive or failure states.
accessibilityRequirement → *WCAG-AA1.4.3WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The sand canvas and Cursor Ink combination starts well above AA; consumers must hold that floor when adapting the palette.
enumMembership → typography.heading.fontWeightThe live cursor.com surface renders display headings in the 400–600 weight band on the proprietary CursorGothic face. Heavier weights (700+) push the brand into a louder marketing voice than the editorial baseline supports.
fontPairing → typography.codeprose0.875Cursor pairs its proprietary BerkeleyMono with the sans for inline code on the marketing site; JetBrains Mono Nerd Font (the open-source substitute) reads cleanly at 0.875× of the body size and preserves the editorial rhythm.
compositionConstraint → roles.colors.primaryCursor Orange is calibrated to read on the warm sand canvas and on the cursor-night dark canvas. Pairing it adjacent to the ANSI green or red introduces a chromatic conflict — three saturated hues competing — that breaks the calm one-accent voice of the brand.
Proprietary — All Rights Reserved2026-05-19identity is therefore mapped to the sand canvas rather than the night canvas.Generated by the brand-atoms converter. Source: [email protected] from the encyclopedia.
Every block below renders from the resolved palette + font references on this brand. Swap the brand and the same template re-themes — no per-brand component code required.
Body copy renders in the brand's prose font on the brand's background.
Inline links and highlighted phrases pick up
the brand's primary and highlight roles. Code spans like brand.references.palette
fall back to the monospace face.
A blockquote uses the brand's accent color as its rule. Useful for pulling tagline copy out of running prose.
Neutral status — provides supplemental context without urgency. Uses the brand's primary as the rule.
Confirms a completed action — palette role success determines the rule color.
Calls out something that needs attention but isn't an error — palette role warning.
Surfaces a failure that blocks progress — palette role error. Use sparingly.
| Role | Resolves to | Mode |
|---|---|---|
| primary | brand color #1 | light + dark |
| accent | brand color #2 | light + dark |
| warning | brand warning | light + dark |
| error | brand error | light + dark |
Brand-level role overrides on top of palette-default mappings. Each role resolves to a concrete swatch or font reference.
→ cursor-orange #F54E00 → cursor-orange-pressed #DB7042 → cursor-night #1A1A17 → sand-canvas #F7F7F4 → sand-border #E1E0DB → cursor-red #CF2D56 → sand-canvas #F7F7F4 → cursor-ink #26251E → cursor-ink #26251E → cursor-orange #F54E00 → cursor-orange-pressed #DB7042 → cursor-green #1F8A65 → cursor-night-elevated #26251E → sand-card #F2F1ED → sand-canvas #F7F7F4 → cursor-ink #26251E → cursor-ink-secondary #4A443B → cursor-ink-tertiary #76716A → cursor-orange #F54E00 → mono JetBrainsMono Nerd Font → heading Inter → body Inter → cursor-orange → cursor-orange-pressed → sand-canvas → sand-border → cursor-red → cursor-orange → cursor-orange-pressed → cursor-green → sand-card → sand-card-hover → cursor-ink → cursor-ink-secondary → cursor-ink-tertiary → cursor-orange → cursor-orange → cursor-orange-pressed → cursor-night → cursor-night-border → cursor-red → cursor-orange → cursor-orange-pressed → cursor-green → cursor-night-elevated → cursor-ink-secondary → sand-canvas → sand-card-hover → cursor-ink-tertiary → cursor-orange contrastRatio text-primary against background minRatio 4.5 standard WCAG-AA Cursor Ink (#26251E) on Sand Canvas (#F7F7F4) reads at ~15:1 — comfortably above WCAG AA. The brand's editorial posture and long-form documentation rewards holding the AA floor decisively rather than nudging into AAA-only territory.
colorChoice roles.colors.primary allowed cursor-orange, cursor-orange-pressed forbidden cursor-green, cursor-red, cursor-ink, sand-card Cursor Orange (#F54E00) is the single hot accent on the cursor.com marketing surface (--color-theme-accent on the live site). The product greens and reds are reserved for ANSI semantic states and must not stand in for the primary brand action color; the inks are text, not action.
colorChoice roles.colors.mark allowed cursor-ink, sand-canvas forbidden cursor-orange, cursor-green, cursor-red The Cursor wordmark on the live marketing site renders in Cursor Ink on light canvas or Sand Canvas on the night canvas — monochromatic, not orange. The orange is an action accent, not a logo fill.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, gradient-fill, on-busy-photo Cursor's identity is restrained by design. Recolored, skewed, or gradient-filled marks conflict with the quiet, editorial voice of the cursor.com surface.
contextRestriction roles.colors.warning forbiddenContexts error-state, destructive-action allowedContexts call-to-action, inline-highlight, product-emphasis Cursor Orange does double duty as accent + warning on the live site (--color-warning aliases to --color-theme-accent). The error state is the separate Cursor Red (#CF2D56) — orange must not stand in for destructive or failure states.
accessibilityRequirement * standard WCAG-AA criterion 1.4.3 WCAG 2.1 Success Criterion 1.4.3 (Contrast Minimum) — Level AA. The sand canvas and Cursor Ink combination starts well above AA; consumers must hold that floor when adapting the palette.
enumMembership typography.heading.fontWeight allowed 400, 500, 600 The live cursor.com surface renders display headings in the 400–600 weight band on the proprietary CursorGothic face. Heavier weights (700+) push the brand into a louder marketing voice than the editorial baseline supports.
fontPairing typography.code requires prose minSizeRatio 0.875 Cursor pairs its proprietary BerkeleyMono with the sans for inline code on the marketing site; JetBrains Mono Nerd Font (the open-source substitute) reads cleanly at 0.875× of the body size and preserves the editorial rhythm.
compositionConstraint roles.colors.primary pairsWith sand-canvas, sand-card, cursor-night, cursor-ink doesNotPairWith cursor-red, cursor-green Cursor Orange is calibrated to read on the warm sand canvas and on the cursor-night dark canvas. Pairing it adjacent to the ANSI green or red introduces a chromatic conflict — three saturated hues competing — that breaks the calm one-accent voice of the brand.
Proprietary — All Rights Reserved2026-05-19