W3C Design Tokens
3 filesCross-tool design-token spec (DTCG/W3C). Light + dark mode siblings.
xAI is Elon Musk's AI research company — maker of the Grok conversational model family and the Colossus training-cluster build. The brand voice is stark and engineering-spec terse: short technical paragraphs, model cards, infrastructure disclosures, no marketing flourish. Visually, xAI is the most reductive identity in the modern AI-lab cohort — a pure-black "Void" canvas, the white X mark as monogram, a calibrated five- stop Ash neutral ramp for surfaces, and two restrained signature accents (a bright lime "Spark" for active state and an ember "Pulse" orange for the Grok mark) used sparingly. Typography is the proprietary universalSans / universalSansDisplay family paired with the licensed GeistMono distribution for code.
Use the [email protected] brand from brand-atoms.com.
Fetch https://brand-atoms.com/dist/brands/xai/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/xai/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.
xAI is Elon Musk's AI research company — maker of the Grok conversational model family and the Colossus training-cluster build. The brand voice is stark and engineering-spec terse: short technical paragraphs, model cards, infrastructure disclosures, no marketing flourish. Visually, xAI is the most reductive identity in the modern AI-lab cohort — a pure-black "Void" canvas, the white X mark as monogram, a calibrated five- stop Ash neutral ramp for surfaces, and two restrained signature accents (a bright lime "Spark" for active state and an ember "Pulse" orange for the Grok mark) used sparingly. Typography is the proprietary universalSans / universalSansDisplay family paired with the licensed GeistMono distribution for code.
Tags: xai, grok, ai, brand, dark-first, monochrome, minimal, stark
xAI · [email protected] · Proprietary — All Rights Reserved
xAI's brand palette as captured from the live site (x.ai). The brand is stark dark-first by construction: a pure-black "Void" canvas (#0A0A0A) with pure-white inverse, a calibrated five-stop neutral ramp for surfaces and quiet emphasis, and a deliberately minimal set of accent colors. The brand reads as engineering-spec minimal — closer to a research paper than a marketing site — with the white-on-black X mark as the dominant visual signature. Two restrained signature accents appear in the live CSS — a bright lime "Spark" (#75FBA6) used for active state and a deep ember "Pulse" (#FF6308) used for the Grok product mark — but the brand's identity is defined first by its absence of color, not its presence.
| Role | Font | License | Classification |
|---|---|---|---|
heading |
Geist Sans ([email protected]) |
OFL-1.1 | sans-serif |
body |
Geist Sans ([email protected]) |
OFL-1.1 | sans-serif |
mono |
Geist Mono ([email protected]) |
OFL-1.1 | monospace |
| ID | Name | Value |
|---|---|---|
void |
Void | #0A0A0A |
void-deep |
Void Deep | #0C0C0B |
void-pure |
Void Pure | #000000 |
ash-100 |
Ash 100 | #171717 |
ash-200 |
Ash 200 | #18181B |
ash-300 |
Ash 300 | #262626 |
ash-400 |
Ash 400 | #27272A |
ash-500 |
Ash 500 | #2B2B2B |
ash-600 |
Ash 600 | #404040 |
ash-700 |
Ash 700 | #525252 |
ash-800 |
Ash 800 | #545454 |
ash-900 |
Ash 900 | #696969 |
paper-pure |
Paper Pure | #FFFFFF |
paper-warm |
Paper Warm | #FEFEFE |
paper-cream |
Paper Cream | #F8F7F5 |
spark |
Spark | #75FBA6 |
pulse |
Pulse | #FF6308 |
pulse-soft |
Pulse Soft | #FFA07A |
link-blue |
Link Blue | #2563EB |
ember-warning |
Ember Warning | #F5AB35 |
ember-error |
Ember Error | #D91E18 |
ink-body |
Ink Body | #374151 |
ink-heading |
Ink Heading | #111827 |
ink-quiet |
Ink Quiet | #6B7280 |
ink-border |
Ink Border | #E5E7EB |
| Role | Swatch | Hex |
|---|---|---|
background |
paper-pure |
#FFFFFF |
surface |
paper-cream |
#F8F7F5 |
surface-elevated |
paper-pure |
#FFFFFF |
text-primary |
ink-heading |
#111827 |
text-secondary |
ink-body |
#374151 |
text-tertiary |
ink-quiet |
#6B7280 |
primary |
void |
#0A0A0A |
primary-hover |
ash-300 |
#262626 |
accent |
link-blue |
#2563EB |
accent-hover |
link-blue |
#2563EB |
warning |
ember-warning |
#F5AB35 |
warning-hover |
pulse |
#FF6308 |
error |
ember-error |
#D91E18 |
success |
spark |
#75FBA6 |
border |
ink-border |
#E5E7EB |
| Role | Swatch | Hex |
|---|---|---|
background |
void |
#0A0A0A |
surface |
ash-100 |
#171717 |
surface-elevated |
ash-300 |
#262626 |
text-primary |
paper-pure |
#FFFFFF |
text-secondary |
ash-900 |
#696969 |
text-tertiary |
ash-700 |
#525252 |
primary |
paper-pure |
#FFFFFF |
primary-hover |
ash-600 |
#404040 |
accent |
spark |
#75FBA6 |
accent-hover |
spark |
#75FBA6 |
warning |
ember-warning |
#F5AB35 |
warning-hover |
pulse |
#FF6308 |
error |
ember-error |
#D91E18 |
success |
spark |
#75FBA6 |
border |
ash-200 |
#18181B |
| Role | Swatch | Hex |
|---|---|---|
identity |
void |
#0A0A0A |
on-identity |
paper-pure |
#FFFFFF |
primary |
paper-pure |
#FFFFFF |
primary-hover |
ash-600 |
#404040 |
accent |
spark |
#75FBA6 |
accent-hover |
spark |
#75FBA6 |
mark |
paper-pure |
#FFFFFF |
success |
spark |
#75FBA6 |
warning |
ember-warning |
#F5AB35 |
error |
ember-error |
#D91E18 |
text-primary-light |
ink-heading |
#111827 |
text-primary-dark |
paper-pure |
#FFFFFF |
background-light |
paper-pure |
#FFFFFF |
background-dark |
void |
#0A0A0A |
surface-light |
paper-cream |
#F8F7F5 |
surface-dark |
ash-100 |
#171717 |
text-secondary-light |
ink-body |
#374151 |
text-tertiary-light |
ink-quiet |
#6B7280 |
border-light |
ink-border |
#E5E7EB |
border-dark |
ash-200 |
#18181B |
| Role | Font role key |
|---|---|
display |
heading |
prose |
body |
code |
mono |
contrastRatio → text-primarybackground7WCAG-AAAPure white (#FFFFFF) on Void (#0A0A0A) gives roughly 20:1 — the brand's monochrome construction clears AAA by design. This rule guards against consumers swapping in mid-Ash neutrals that would defeat the property.
colorChoice → roles.colors.primaryxAI's primary brand color is monochrome — white-on-Void in dark mode, Void-on-paper in light mode. The Spark / Pulse / Link-blue accents are reserved for active state, the Grok product mark, and long-form prose links — never as the brand interactive primary.
colorChoice → roles.colors.identityxAI is dark-first by construction; the documented site canvas is #0A0A0A. The identity surface is the Void canvas — the Spark and Pulse accents flow ACROSS it sparingly as state and product marks, but never replace the Void as the identity ground.
forbiddenTreatment → logoxAI's X mark is monochrome and geometric. Recolored, skewed, drop-shadowed, or outlined variants conflict with the brand's stark engineering-spec posture. The mark is white on Void, or Void on Paper — no other treatment is documented on x.ai.
fontPairing → typography.headingbody1.5universalSans / universalSansDisplay is the only display face on x.ai; the visual hierarchy is established entirely by size and weight within a single family (paired with GeistMono for inline code). A 1.5× minimum heading-to-body ratio preserves the hierarchy without introducing a second family.
contextRestriction → roles.colors.accentSpark (#75FBA6) appears at small sizes — active state, live- data indicator, focus ring — never as a large background fill. Large Spark fills conflict with the brand's monochrome Void canvas where bright accents are signals, not surfaces.
compositionConstraint → roles.colors.identityThe identity block is white-on-Void or Void-on-paper. Placing the brand identity surface directly against a Spark or Pulse background breaks the documented monochrome treatment — the accents are signals atop the identity, not backgrounds behind it.
enumMembership → typography.heading.fontWeightuniversalSansDisplay on x.ai is delivered with Regular (400), Medium (500), SemiBold (600), and Bold (700) cuts. The stark editorial composition of x.ai uses 400 for body and 700 for hero headings almost exclusively; weights outside this band are not in the licensed variable-font cut.
accessibilityRequirement → *WCAG-AAA1.4.6WCAG 2.1 Success Criterion 1.4.6 (Contrast Enhanced) — Level AAA. The brand's monochrome construction clears AAA effortlessly; consumers must preserve the property when composing Ash neutrals against the Void canvas (mid-Ash tokens between Ash-400 and Ash-700 fail AAA against Void and must not stand in for primary text).
Proprietary — All Rights Reserved2026-05-18Generated 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.
→ spark #75FBA6 → spark #75FBA6 → void #0A0A0A → paper-pure #FFFFFF → ash-200 #18181B → ink-border #E5E7EB → ember-error #D91E18 → void #0A0A0A → paper-pure #FFFFFF → paper-pure #FFFFFF → paper-pure #FFFFFF → ash-600 #404040 → spark #75FBA6 → ash-100 #171717 → paper-cream #F8F7F5 → paper-pure #FFFFFF → ink-heading #111827 → ink-body #374151 → ink-quiet #6B7280 → ember-warning #F5AB35 → mono Geist Mono → heading Geist Sans → body Geist Sans → link-blue → link-blue → paper-pure → ink-border → ember-error → void → ash-300 → spark → paper-cream → paper-pure → ink-heading → ink-body → ink-quiet → ember-warning → pulse → spark → spark → void → ash-200 → ember-error → paper-pure → ash-600 → spark → ash-100 → ash-300 → paper-pure → ash-900 → ash-700 → ember-warning → pulse contrastRatio text-primary against background minRatio 7 standard WCAG-AAA Pure white (#FFFFFF) on Void (#0A0A0A) gives roughly 20:1 — the brand's monochrome construction clears AAA by design. This rule guards against consumers swapping in mid-Ash neutrals that would defeat the property.
colorChoice roles.colors.primary allowed paper-pure, void forbidden spark, pulse, link-blue, ember-warning, ember-error xAI's primary brand color is monochrome — white-on-Void in dark mode, Void-on-paper in light mode. The Spark / Pulse / Link-blue accents are reserved for active state, the Grok product mark, and long-form prose links — never as the brand interactive primary.
colorChoice roles.colors.identity allowed void, void-pure, void-deep forbidden paper-pure, spark, pulse, link-blue xAI is dark-first by construction; the documented site canvas is #0A0A0A. The identity surface is the Void canvas — the Spark and Pulse accents flow ACROSS it sparingly as state and product marks, but never replace the Void as the identity ground.
forbiddenTreatment logo treatments stretched, rotated, recolored, drop-shadow, gradient-fill, outlined, on-busy-photo xAI's X mark is monochrome and geometric. Recolored, skewed, drop-shadowed, or outlined variants conflict with the brand's stark engineering-spec posture. The mark is white on Void, or Void on Paper — no other treatment is documented on x.ai.
fontPairing typography.heading requires body minSizeRatio 1.5 universalSans / universalSansDisplay is the only display face on x.ai; the visual hierarchy is established entirely by size and weight within a single family (paired with GeistMono for inline code). A 1.5× minimum heading-to-body ratio preserves the hierarchy without introducing a second family.
contextRestriction roles.colors.accent forbiddenContexts large-fill, background, hero allowedContexts link, focus-ring, active-state, live-data, data-viz-primary Spark (#75FBA6) appears at small sizes — active state, live- data indicator, focus ring — never as a large background fill. Large Spark fills conflict with the brand's monochrome Void canvas where bright accents are signals, not surfaces.
compositionConstraint roles.colors.identity pairsWith paper-pure, paper-warm, ash-100, ash-200 doesNotPairWith spark, pulse, link-blue, ember-error The identity block is white-on-Void or Void-on-paper. Placing the brand identity surface directly against a Spark or Pulse background breaks the documented monochrome treatment — the accents are signals atop the identity, not backgrounds behind it.
enumMembership typography.heading.fontWeight allowed 400, 500, 600, 700 universalSansDisplay on x.ai is delivered with Regular (400), Medium (500), SemiBold (600), and Bold (700) cuts. The stark editorial composition of x.ai uses 400 for body and 700 for hero headings almost exclusively; weights outside this band are not in the licensed variable-font cut.
accessibilityRequirement * standard WCAG-AAA criterion 1.4.6 WCAG 2.1 Success Criterion 1.4.6 (Contrast Enhanced) — Level AAA. The brand's monochrome construction clears AAA effortlessly; consumers must preserve the property when composing Ash neutrals against the Void canvas (mid-Ash tokens between Ash-400 and Ash-700 fail AAA against Void and must not stand in for primary text).
Proprietary — All Rights Reserved2026-05-18