BrandToPrompt

X Design System: Minimalist Blue-Accented UI Language

Visit Site

Explore X's design system - minimalist palette, custom typography, pill-shaped components. Learn how X crafts a clear, serious visual identity.

5 min read996 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
TwitterChirp
Secondary Font
TwitterChirpExtendedHeavy

Design Style

Style
minimalist, flat, and utilitarian with high contrast and a single vivid blue accent
Visual Density
compact grid-based with 8px spacing and micro 4px adjustments
Border Style
full 9999px pill shapes for buttons and links

Full Analysis

X Brand Design System Deep Dive

1. Brand Overview

X (formerly Twitter) has rebuilt its public-facing design language into something stripped-down, dark, and unapologetically utilitarian. If you land on x.com, you're not greeted by ornate gradients or playful flourishes. It's stark. Black, deep grays, a few cool blues, and white where it matters. The brand has shifted from "friendly social network" to "serious communications infrastructure," and the design reflects that.

The vibe is functional-first. Typography is heavy and custom (TwitterChirp family), colors are muted except for a single bright blue accent, and components are pill-shaped with extreme border radii. There's almost no shadow usage — depth comes from contrast instead of drop shadows. This gives the UI a flat, modern feel and keeps attention on the content rather than ornamental effects.

The audience is global, but the tone feels aimed at power users, journalists, and communities who value immediacy over decoration. The design is minimal without being sterile; the pill buttons and the occasional blue give just enough personality to avoid feeling like an admin dashboard.

From a systems perspective, this is a tight design language. The spacing grid is locked to an 8px scale with some 4px increments for micro-alignment. Breakpoints are clearly defined across six tiers from 600px to 1536px, suggesting careful responsive handling. Typography hierarchy is built on a few decisive size jumps rather than a sprawling scale.

In short: X's design system is about control. Controlled palette, controlled spacing, controlled type. The result is a brand that communicates clarity and seriousness, with a single accent color as the flagpole for interaction.


2. Color System

2.1 Primary Colors

The primary action color is #1d9bf0 — a vivid, slightly electric blue (RGB 29, 155, 240). This is the only truly saturated color in the palette. It draws the eye immediately and is reserved for interactive elements like links and primary buttons. The psychology here is straightforward: blue is associated with trust, clarity, and digital interaction. Compared to competitors like Facebook (#1877f2), X's blue is lighter and less corporate, but still professional.

Oddly, the default button background is white (#ffffff), not blue. Blue appears more in links and highlights, making it more of a secondary CTA color than a default fill.

2.2 Complete Palette

Color NameHexRole/Usage
Cool Gray Light#829aabSecondary text, icons, muted UI elements
Cool Gray Medium#536471Primary text in muted contexts, secondary buttons
Deep Charcoal#0f1419Main text on light backgrounds, dark mode surface
Primary Blue#1d9bf0Links, highlights, interactive states
White#ffffffBackgrounds, buttons
Light Gray Border#cfd9deBorders on buttons, inputs
Link Blue#0000eeDefault link color (system blue)
Light Neutral Gray#eaeaeaHover backgrounds
Dark Blue Hover#005fccHover states for blue links/buttons
Charcoal Hover#23282cHover states for dark buttons
Charcoal Transparentrgba(15, 20, 25, 0.086) → #0f1419Hover overlays
Charcoal Transparentrgba(15, 20, 25, 0.08) → #0f1419Hover overlays

2.3 Color Relationships

The palette is dominated by cool grays and charcoals, with blue as the only accent. This makes contrast management straightforward. White text on #1d9bf0 passes WCAG AA easily. #0f1419 text on white background is high-contrast. The risk is in using #536471 or #829aab for text — these lighter grays should only be used for secondary content, as they may fail contrast ratios on white backgrounds for small text.

Dark mode is essentially a background of #0f1419 with lighter grays for text, and blue accent remains the same. This keeps brand consistency across modes.

2.4 Usage Guide

  • Safe combos: #ffffff background + #0f1419 text; #1d9bf0 background + #ffffff text; #0f1419 background + #cfd9de text.
  • Avoid: #829aab on #ffffff for body text — too low contrast for accessibility.
  • Accent restraint: Use #1d9bf0 only for interactive elements; don't flood layouts with it.
  • Hover states: Darken backgrounds slightly (#23282c or transparent charcoal) rather than changing hue drastically.

3. Typography

3.1 Font Families

The hero here is TwitterChirpExtendedHeavy (custom), backed by Verdana, then system fonts (-apple-system, Segoe UI, Roboto, Helvetica, Arial). For body and smaller headings, TwitterChirp is used with the same fallback stack. Links and some buttons oddly use Times — possibly a legacy or user-agent style leak.

No Google Fonts or Adobe Fonts — this is entirely custom/self-hosted.

3.2 Type Scale

ElementFontSizeWeightLine HeightSpacing
Heading-1TwitterChirpExtendedHeavy64px (4.00rem)7001.31-1.2px
Heading-1TwitterChirpExtendedHeavy31px (1.94rem)7001.16
Heading-1TwitterChirp17px (1.06rem)7001.18
ButtonTimes15px (0.94rem)400
Heading-1TwitterChirp15px (0.94rem)4001.33
LinkTimes15px (0.94rem)400
Heading-1TwitterChirp15px (0.94rem)7001.33
Heading-1TwitterChirp15px (0.94rem)5001.33
LinkTwitterChirp11px (0.69rem)4001.09
CaptionTwitterChirp11px (0.69rem)4001.09

3.3 Hierarchy

They don't go crazy with type sizes. The jump from 64px to 31px is dramatic for hero vs subhead. Everything else hovers between 15px and 17px, except captions at 11px. This keeps body content compact and consistent. Heavy weights (700) are used for headings, with 400–500 for body. That weight control plus the custom font gives the brand its sharpness.


4. Spacing & Layout

4.1 Spacing Scale

Base unit is 8px. But they also use 4px for micro-gaps.

ValueRemCountUsage
2px0.13rem2Hairline spacing
4px0.25rem42Icon gaps, tight component padding
12px0.75rem2Small component padding
16px1.00rem6Button horizontal padding
20px1.25rem4Section gaps
32px2.00rem3Card padding, grid gaps
40px2.50rem1Large section spacing
48px3.00rem2Hero padding

4.2 Layout

Breakpoints:

  • 600px
  • 640px
  • 768px
  • 1024px
  • 1280px
  • 1536px

This is a standard Tailwind-like set. Expect mobile-first with step-ups at each breakpoint. Container widths likely align to these.


5. Visual Elements

Border Radius

Only one radius value: 9999px. Full pill. Used on buttons and links. This is extreme — ensures perfect pill shape regardless of height.

Shadows

None. Depth is created via borders (1px solid #cfd9de) and contrast shifts.

Borders

Light gray #cfd9de borders at 1px solid. Used on buttons and links.


6. Components

6.1 Buttons

Default:

  • Background: #ffffff
  • Text: #000000
  • Padding: 0px 16px
  • Radius: 9999px
  • Border: 1px solid #cfd9de
  • No shadow
  • Font: Times, 15px, weight 400

Hover:

  • Background: #272c30 (RGB 39, 44, 48)

No active/focus defined in extracted states.

Opinion: White pill buttons with black text are unusual for a brand with a strong blue — they clearly want blue reserved for links.

Three styles:

  1. #0000ee — classic link blue, no underline.
  2. #1d9bf0 — brand blue, no underline.
  3. #536471 — muted gray for secondary links.

No hover styles extracted — likely underline or color darken on hover.

6.3 Forms

No form input styles extracted — possibly styled via native defaults.

6.4 Cards

No dedicated card component styles in data — likely built from spacing + border tokens.


7. Design Tokens (CSS Variables)

:root {
  /* Colors */
  --color-gray-light: #829aab;
  --color-gray-medium: #536471;
  --color-charcoal: #0f1419;
  --color-blue-primary: #1d9bf0;
  --color-white: #ffffff;
  --color-gray-border: #cfd9de;
  --color-blue-link: #0000ee;
  --color-gray-hover: #eaeaea;
  --color-blue-hover: #005fcc;
  --color-charcoal-hover: #23282c;
  --color-charcoal-translucent-1: rgba(15, 20, 25, 0.086);
  --color-charcoal-translucent-2: rgba(15, 20, 25, 0.08);

  /* Typography */
  --font-primary-extended: "TwitterChirpExtendedHeavy", Verdana, -apple-system, system-ui, Segoe UI, Roboto, Helvetica, Arial;
  --font-primary: "TwitterChirp", -apple-system, system-ui, Segoe UI, Roboto, Helvetica, Arial;
  --font-times: Times;

  /* Font sizes */
  --font-size-h1-xl: 64px;
  --font-size-h1-md: 31px;
  --font-size-h1-sm: 17px;
  --font-size-base: 15px;
  --font-size-caption: 11px;

  /* Spacing */
  --space-2: 2px;
  --space-4: 4px;
  --space-12: 12px;
  --space-16: 16px;
  --space-20: 20px;
  --space-32: 32px;
  --space-40: 40px;
  --space-48: 48px;

  /* Borders */
  --border-radius-pill: 9999px;
  --border-width: 1px;
  --border-color: #cfd9de;
}

8. AI Coding Assistant Prompt

# X Design System Specification

You are an X design expert. Build UIs matching their visual language exactly.

## Brand Context
X's design language is minimal, flat, and interaction-focused. The palette is dominated by cool grays and charcoals, with a single vivid blue for interactive elements. Typography is custom, heavy for headings, compact for body, and consistent across breakpoints.

## Color Palette
- Gray Light: #829aab — Secondary text, icons
- Gray Medium: #536471 — Muted text, secondary links
- Charcoal: #0f1419 — Main text, dark backgrounds
- Primary Blue: #1d9bf0 — Links, primary interactive elements
- White: #ffffff — Backgrounds, buttons
- Gray Border: #cfd9de — Borders for buttons/inputs
- Link Blue: #0000ee — Default link color
- Gray Hover: #eaeaea — Hover background for light surfaces
- Blue Hover: #005fcc — Hover for blue links/buttons
- Charcoal Hover: #23282c — Hover for dark buttons
- Charcoal Transparent 1: rgba(15, 20, 25, 0.086) — Hover overlays
- Charcoal Transparent 2: rgba(15, 20, 25, 0.08) — Hover overlays

## Typography
- Headings XL: TwitterChirpExtendedHeavy, 64px, 700, line-height 1.31, letter-spacing -1.2px
- Headings MD: TwitterChirpExtendedHeavy, 31px, 700, line-height 1.16
- Small Heading: TwitterChirp, 17px, 700, line-height 1.18
- Body/Base: TwitterChirp, 15px, 400, line-height 1.33
- Button: Times, 15px, 400
- Link Small: TwitterChirp, 11px, 400, line-height 1.09
- Caption: TwitterChirp, 11px, 400, line-height 1.09

## Spacing & Grid
Base: 8px grid with micro 4px steps.
Values: 2px, 4px, 12px, 16px, 20px, 32px, 40px, 48px.
Map: Button horizontal padding 16px, section gaps 20px, card padding 32px.

## Border Radius
- Full: 9999px — pill buttons, links

## Shadows & Depth
Flat design—no shadows. Use 1px solid #cfd9de for depth.

## Component Specifications

### Primary Button
Default:
- background: #ffffff
- color: #000000
- padding: 0px 16px
- border-radius: 9999px
- border: 1px solid #cfd9de
- font-family: Times
- font-size: 15px
- font-weight: 400
Hover:
- background: #272c30

### Link Styles
- Style 1: color #0000ee, no underline
- Style 2: color #1d9bf0, no underline
- Style 3: color #536471, no underline

### Inputs
No custom styles extracted—use border 1px solid #cfd9de, radius 9999px for consistency.

## Layout & Responsive Rules
Breakpoints: 600px, 640px, 768px, 1024px, 1280px, 1536px.
Mobile-first. Scale spacing with breakpoints.

## Interaction Rules
- Transition: 150ms ease for hover/focus changes
- Focus: outline 2px solid #1d9bf0 for interactive elements

## DO
- Use ONLY colors from the palette
- Maintain 8px grid with allowed micro 4px
- Reserve #1d9bf0 for interactive elements
- Apply 9999px radius to buttons/links
- Keep typography weights consistent with extracted data

## DON'T
- Add shadows
- Use colors outside palette
- Mix rounded and sharp corners
- Change link underline behavior arbitrarily

## Code Examples

### Primary Button
```css
.btn-primary {
  background: #ffffff;
  color: #000000;
  padding: 0 16px;
  border-radius: 9999px;
  border: 1px solid #cfd9de;
  font-family: Times;
  font-size: 15px;
  font-weight: 400;
  transition: background 150ms ease;
}
.btn-primary:hover {
  background: #272c30;
}
```

### Link
```css
.link-brand {
  color: #1d9bf0;
  text-decoration: none;
}
.link-brand:hover {
  color: #005fcc;
}
```

### Card
```css
.card {
  background: #ffffff;
  border: 1px solid #cfd9de;
  border-radius: 8px;
  padding: 32px;
}
```

9. Summary

TL;DR — X’s design system is flat, controlled, and minimal. One bright blue accent does all the interactive work. Typography is custom and tight, spacing locked to an 8px grid, and buttons are pill-shaped with extreme radius.

Brand Keywords:

  • flat-minimalist
  • controlled-palette
  • pill-radius
  • content-first
  • blue-accent