BrandToPrompt

WordPress Design System: Functional Content-First UI

Visit Site

Explore WordPress's design system - colors, typography, spacing, and components. Build clear, content-focused sites with WordPress's visual language.

6 min read1,114 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Inter
Secondary Font
EB Garamond

Design Style

Style
utilitarian, content-first flat design with restrained color palette
Visual Density
compact grid-based with tight vertical rhythm on 8px scale
Border Style
2px sharp corners for buttons and inputs, full pills for badges

Full Analysis

WordPress Brand Design System Deep Dive


1. Brand Overview

WordPress.org is the open-source heart of the WordPress ecosystem. It’s the community-driven platform powering a massive portion of the web, from personal blogs to enterprise sites. The design system here isn’t about selling a product—it’s about inviting participation. That changes the tone. This isn’t “slick startup branding” or “luxury corporate minimalism.” It’s functional, readable, and approachable, but still opinionated.

When you land on the site, the vibe is utilitarian with a touch of warmth. The typography swings between modern sans-serif (Inter) and classic serif (EB Garamond). That mix is deliberate—it signals both technical reliability and publishing heritage. The color palette is restrained: deep neutrals, a single strong blue (#3858e9), and functional accent colors for social and status contexts. You won’t see gradients or glossy effects; the system leans flat, relying on solid fills and clear typography.

This is for builders—developers, designers, writers—who need clarity and speed. Buttons aren’t ornamental; they’re rectangular with 2px radius, no shadows, and bold, saturated colors. Links are underlined and color-coded for clarity. The entire system sits on an 8px spacing scale, which keeps layouts tidy across dozens of breakpoints (seriously, they’ve got breakpoints from 419px up to 1440px).

It’s a design philosophy that respects the content first. The UI is the frame, not the painting. That means color usage is strict—blue for actions, neutrals for text, black for emphasis. The lack of decorative shadows and the use of pill shapes only in badges/avatars keeps the visual language consistent. Overall: this is a utilitarian, content-driven design system with subtle typographic personality.


2. Color System

2.1 Primary Colors

The main action color is #3858e9 (rgb(56, 88, 233)). This blue is saturated but not neon—comfortable for text contrast and accessible on white backgrounds. It’s used in primary buttons, links, and skip links. It’s not the “WordPress blue” you might remember from older branding (#007cba) in the admin; this is a slightly deeper, more modern hue for the front site.

This works because it’s distinct from the neutral grays and black used for text, so interactive elements pop. Compared to competitors like GitHub (which uses a more muted blue) or Medium (which uses green accents), WordPress.org’s blue is more assertive—helpful for a site with a lot of dense navigation and content.

2.2 Complete Palette

Color Name (Context)HexRoleUsage
White#ffffffBackground / textGlobal header, buttons text, body background
Neutral Dark#1e1e1eText / UI elementsButtons text, headings
Charcoal#23282dHeader background / bordersGlobal header, images
Black#000000Text emphasisSocial icons, links
Primary Blue#3858e9Primary actionsButtons, links, skip link
Social Blue 1#0a7affSocial linksTwitter, social anchors
Social Blue 2#3288d4Social linksLinkedIn
Social Blue 3#0866ffSocial linksFacebook
Accent Pink#f00075Social linksInstagram
Social Blue 4#0d66c2Social linksLinkedIn alternate
Red#ff0000Status / socialYouTube
Navy#011835Social linksGitHub
Light Gray#f6f6f6BackgroundHover/focus form backgrounds

These colors are functional, not decorative. Every hue has a context—social icons get their brand colors, actions get #3858e9, text sits in neutral darks.

2.3 Color Relationships

Contrast is generally strong. White text on #3858e9 passes WCAG AA for normal text. The neutrals (#1e1e1e, #23282d) are dark enough against white backgrounds to pass AAA. Social colors are brand-specific, so contrast depends on their usage (often on white or dark backgrounds). There’s no dedicated dark mode here—colors are chosen to work in a light theme.

2.4 Usage Guide

  • Works well: #3858e9 buttons on #ffffff background, #1e1e1e text on white, white text on charcoal.
  • Avoid: Putting social brand colors next to primary blue—they fight for attention.
  • Rule: Keep action color (#3858e9) for interactive elements only. Don’t use it for headings or body text.
  • Neutrals: Use #1e1e1e for text, #23282d for structural elements (headers, borders).

3. Typography

3.1 Font Families

Two main families:

  • Inter — Sans-serif, modern, variable weights. Used for UI, body text, most headings, links, buttons.
  • EB Garamond — Serif, classic, high contrast. Used for large headings, giving a publishing feel.

No Google Fonts or Adobe Fonts listed—likely self-hosted or CDN from WordPress.org.

3.2 Type Scale

ElementFontSizeWeightLine Height
H1Inter120px (7.50rem)3001.00
Link (large)Inter120px (7.50rem)3001.00
H1EB Garamond70px (4.38rem)4001.05
H1EB Garamond50px (3.13rem)4001.20
H1EB Garamond36px (2.25rem)4001.28
LinkInter24px (1.50rem)4000.00
H1Inter24px (1.50rem)4000.00
H1Inter21px (1.31rem)4001.90
LinkInter21px (1.31rem)4001.90
H1Inter18px (1.13rem)4001.88
LinkInter18px (1.13rem)6001.30
LinkInter16px (1.00rem)4001.88
ButtonInter16px (1.00rem)400
H1Inter16px (1.00rem)4001.88
LinkInter16px (1.00rem)6001.30
LinkInter14px (0.88rem)4001.71
CaptionInter14px (0.88rem)4001.71
ButtonInter14px (0.88rem)4001.71
LinkInter14px (0.88rem)7001.15
CaptionInter14px (0.88rem)7001.15
ButtonInter14px (0.88rem)6000.00
LinkInter14px (0.88rem)4001.88 (uppercase)
LinkInter12px (0.75rem)4001.00

3.3 Hierarchy

They use scale jumps—120px for hero headlines, then 70px/50px/36px for section heads. Body text sits around 16–18px, captions at 14px, small UI labels at 12px. This keeps readability high, especially given the content-heavy nature of the site. EB Garamond is reserved for high-impact headings, lending gravitas.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px. Common values:

ValueremCount
1.05px0.07rem4
5px0.31rem18
10px0.63rem59
15px0.94rem4
17px1.06rem2
18px1.13rem2
20px1.25rem23
22px1.38rem7
23px1.44rem13
30px1.88rem3
40px2.50rem4
50px3.13rem5
58px3.63rem1
60px3.75rem2
69px4.31rem1
80px5.00rem12

The high frequency of 10px and 20px values shows a tight vertical rhythm—small gaps for related content, larger for section breaks.

4.2 Layout

Breakpoints are granular: from 419px up to 1440px. This lets them tweak layouts at many device widths—mobile nav changes likely happen around 782px, larger content shifts at 1280px+. No max width provided, but the breakpoints suggest a responsive-first approach.


5. Visual Elements

Border radius:

  • 2px — Default for buttons, inputs. Sharp but softened corners.
  • 9999px — Pills for badges, avatars.
  • 2px 0px 0px 2px — Inputs with left-rounded corners only.

Shadows: None. This is flat design.

Borders:

  • 1px solid #1e1e1e — Minimal dividers.
  • Bottom border (#23282d) on headers/nav items.

6. Components

6.1 Buttons

Only one main variant in data: Primary Button.

Default:

  • Background: #3858e9
  • Text: #ffffff
  • Padding: 15px 33px
  • Radius: 2px
  • Border: none
  • Font weight: 600
  • Font size: 16px

Hover:

  • Background: var(--wp--preset--color--deep-blueberry)
  • Text: var(--wp--custom--button--hover--color--text)
  • Transform: translateX(0.176778em)

Active:

  • Background: var(--wp--preset--color--charcoal-1)
  • Text: var(--wp--custom--button--active--color--text)

Focus:

  • Background: var(--wp-global-header--background-color--hover)
  • Box shadow: 0 0 0 1.5px var(--wp-global-header--link-color--active)

No disabled state in extracted data—likely opacity reduction.

Eight link styles in data, each with unique colors:

  • Primary link: #3858e9, underline on hover.
  • Neutral text links: #1e1e1e, underline on hover.
  • White links: #ffffff, underline on hover (used on dark backgrounds).
  • Social links: their brand colors (#0a7aff, #3288d4, #0866ff, #f00075, #0d66c2, #ff0000).

6.3 Forms

No input styles in data except border-radius values and background (#f6f6f6 for search). Likely minimal styling with focus color changes.

6.4 Cards

No explicit card component in data—likely use neutral backgrounds with small radius and padding from spacing scale.


7. Design Tokens (CSS Variables)

:root {
  /* Colors */
  --color-white: #ffffff;
  --color-neutral-dark: #1e1e1e;
  --color-charcoal: #23282d;
  --color-black: #000000;
  --color-primary-blue: #3858e9;
  --color-social-blue-1: #0a7aff;
  --color-social-blue-2: #3288d4;
  --color-social-blue-3: #0866ff;
  --color-accent-pink: #f00075;
  --color-social-blue-4: #0d66c2;
  --color-red: #ff0000;
  --color-navy: #011835;
  --color-light-gray: #f6f6f6;

  /* WP Custom Variables */
  --wp-admin-theme-color-darker-20: #005a87;
  --wp-bound-block-color: #7a00df;
  --wp-admin-theme-color: #007cba;
  --wp-admin-theme-color-darker-10: #006ba1;
  --wp--custom--form--search--color--label: #656a71;
  --wp--custom--form--border--color: #979aa1;
  --wp--custom--button--outline--hover--color--background: #213fd4;

  /* Typography */
  --font-inter: 'Inter', sans-serif;
  --font-eb-garamond: 'EB Garamond', serif;

  /* Spacing */
  --space-1px: 1.05px;
  --space-5px: 5px;
  --space-10px: 10px;
  --space-15px: 15px;
  --space-17px: 17px;
  --space-18px: 18px;
  --space-20px: 20px;
  --space-22px: 22px;
  --space-23px: 23px;
  --space-30px: 30px;
  --space-40px: 40px;
  --space-50px: 50px;
  --space-58px: 58px;
  --space-60px: 60px;
  --space-69px: 69px;
  --space-80px: 80px;

  /* Radius */
  --radius-sm: 2px;
  --radius-full: 9999px;

  /* Borders */
  --border-1px-solid-neutral-dark: 1px solid #1e1e1e;
  --border-bottom-charcoal: 0px 0px 1px solid #23282d;
}

8. AI Coding Assistant Prompt

# WordPress.org Design System Specification

You are a WordPress.org design expert. Build UIs matching their visual language exactly.

## Brand Context
WordPress.org’s front-end design is content-first, utilitarian, and community-friendly. It uses a restrained color palette, flat design (no shadows), and a mix of modern sans-serif (Inter) with classic serif (EB Garamond) for headings. Spacing is on an 8px grid, with minimal border radii and strict color usage.

## Color Palette
- White: #ffffff — Backgrounds, button text, content areas
- Neutral Dark: #1e1e1e — Body text, headings
- Charcoal: #23282d — Headers, dividers
- Black: #000000 — Icons, emphasis text
- Primary Blue: #3858e9 — Primary buttons, links, skip link
- Social Blue 1: #0a7aff — Twitter link
- Social Blue 2: #3288d4 — LinkedIn link
- Social Blue 3: #0866ff — Facebook link
- Accent Pink: #f00075 — Instagram link
- Social Blue 4: #0d66c2 — LinkedIn alt
- Red: #ff0000 — YouTube link
- Navy: #011835 — GitHub link
- Light Gray: #f6f6f6 — Form backgrounds

## Typography
- Headings: "Inter", sans-serif; "EB Garamond", serif for high-impact titles
- Body: "Inter", sans-serif
| Element | Font | Size | Weight | Line Height | Use |
| H1 | Inter | 120px | 300 | 1.00 | Hero titles |
| H1 | EB Garamond | 70px | 400 | 1.05 | Large headings |
| H1 | EB Garamond | 50px | 400 | 1.20 | Section headings |
| H1 | EB Garamond | 36px | 400 | 1.28 | Subheadings |
| Body | Inter | 16–18px | 400 | 1.88 | Content text |
| Caption | Inter | 14px | 400/700 | 1.71/1.15 | Meta info |
| UI Label | Inter | 12px | 400 | 1.00 | Small labels |

## Spacing & Grid
Base: 8px scale
Values: 1.05px, 5px, 10px, 15px, 17px, 18px, 20px, 22px, 23px, 30px, 40px, 50px, 58px, 60px, 69px, 80px
Use multiples for all padding/margin

## Border Radius
- sm: 2px — Buttons, inputs
- full: 9999px — Pills, badges

## Shadows & Depth
Flat design — no shadows. Use borders for separation.

## Components
### Primary Button
Default:
- background: #3858e9
- color: #ffffff
- padding: 15px 33px
- radius: 2px
- font-weight: 600
- font-size: 16px
Hover:
- background: var(--wp--preset--color--deep-blueberry)
- color: var(--wp--custom--button--hover--color--text)
- transform: translateX(0.176778em)
Active:
- background: var(--wp--preset--color--charcoal-1)
Focus:
- box-shadow: 0 0 0 1.5px var(--wp-global-header--link-color--active)

### Navigation Links
- Color: varies (#3858e9 for primary, #1e1e1e for neutral)
- Hover: underline

### Input Fields
- Background: #f6f6f6
- Border: 1px solid #1e1e1e
- Radius: 2px

## Layout & Responsive Rules
Breakpoints: 419px, 499px, 599px, 600px, 700px, 767px, 768px, 782px, 800px, 889px, 900px, 960px, 1080px, 1100px, 1152px, 1199px, 1280px, 1300px, 1400px, 1440px
Adjust layout at these widths — mobile nav around 782px, content shifts at 1280px+

## Interaction Rules
- Transition: 150ms ease for hover/focus
- Focus: visible box-shadow or border change
- Hover: underline for links, color shift for buttons

## DO
- Use only palette colors
- Stick to 8px spacing multiples
- Keep border radius consistent (2px or full)
- Use EB Garamond for large headings
- Keep buttons flat — no shadows

## DON'T
- Invent new colors
- Mix rounded and sharp corners inconsistently
- Add gradients or shadows
- Use action blue for non-interactive text

## Code Examples
```css
.btn-primary {
  background: #3858e9;
  color: #ffffff;
  padding: 15px 33px;
  border-radius: 2px;
  font-weight: 600;
  font-size: 16px;
  border: none;
  transition: background 150ms ease;
}
.btn-primary:hover {
  background: var(--wp--preset--color--deep-blueberry);
  transform: translateX(0.176778em);
}
.btn-primary:focus {
  box-shadow: 0 0 0 1.5px var(--wp-global-header--link-color--active);
}
.link-primary {
  color: #3858e9;
  text-decoration: underline;
}
.input {
  background: #f6f6f6;
  border: 1px solid #1e1e1e;
  border-radius: 2px;
}
```

9. Summary

TL;DR — WordPress.org’s design system is flat, functional, and content-first. Blue = action, neutrals = text, serif headings = heritage. Stick to the 8px grid, keep corners at 2px or full pills, and never add shadows.

Brand Keywords — community-functional, content-first, flat-minimal, heritage-modern, strict-color-discipline