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) | Hex | Role | Usage |
|---|---|---|---|
| White | #ffffff | Background / text | Global header, buttons text, body background |
| Neutral Dark | #1e1e1e | Text / UI elements | Buttons text, headings |
| Charcoal | #23282d | Header background / borders | Global header, images |
| Black | #000000 | Text emphasis | Social icons, links |
| Primary Blue | #3858e9 | Primary actions | Buttons, links, skip link |
| Social Blue 1 | #0a7aff | Social links | Twitter, social anchors |
| Social Blue 2 | #3288d4 | Social links | |
| Social Blue 3 | #0866ff | Social links | |
| Accent Pink | #f00075 | Social links | |
| Social Blue 4 | #0d66c2 | Social links | LinkedIn alternate |
| Red | #ff0000 | Status / social | YouTube |
| Navy | #011835 | Social links | GitHub |
| Light Gray | #f6f6f6 | Background | Hover/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
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| H1 | Inter | 120px (7.50rem) | 300 | 1.00 |
| Link (large) | Inter | 120px (7.50rem) | 300 | 1.00 |
| H1 | EB Garamond | 70px (4.38rem) | 400 | 1.05 |
| H1 | EB Garamond | 50px (3.13rem) | 400 | 1.20 |
| H1 | EB Garamond | 36px (2.25rem) | 400 | 1.28 |
| Link | Inter | 24px (1.50rem) | 400 | 0.00 |
| H1 | Inter | 24px (1.50rem) | 400 | 0.00 |
| H1 | Inter | 21px (1.31rem) | 400 | 1.90 |
| Link | Inter | 21px (1.31rem) | 400 | 1.90 |
| H1 | Inter | 18px (1.13rem) | 400 | 1.88 |
| Link | Inter | 18px (1.13rem) | 600 | 1.30 |
| Link | Inter | 16px (1.00rem) | 400 | 1.88 |
| Button | Inter | 16px (1.00rem) | 400 | — |
| H1 | Inter | 16px (1.00rem) | 400 | 1.88 |
| Link | Inter | 16px (1.00rem) | 600 | 1.30 |
| Link | Inter | 14px (0.88rem) | 400 | 1.71 |
| Caption | Inter | 14px (0.88rem) | 400 | 1.71 |
| Button | Inter | 14px (0.88rem) | 400 | 1.71 |
| Link | Inter | 14px (0.88rem) | 700 | 1.15 |
| Caption | Inter | 14px (0.88rem) | 700 | 1.15 |
| Button | Inter | 14px (0.88rem) | 600 | 0.00 |
| Link | Inter | 14px (0.88rem) | 400 | 1.88 (uppercase) |
| Link | Inter | 12px (0.75rem) | 400 | 1.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:
| Value | rem | Count |
|---|---|---|
| 1.05px | 0.07rem | 4 |
| 5px | 0.31rem | 18 |
| 10px | 0.63rem | 59 |
| 15px | 0.94rem | 4 |
| 17px | 1.06rem | 2 |
| 18px | 1.13rem | 2 |
| 20px | 1.25rem | 23 |
| 22px | 1.38rem | 7 |
| 23px | 1.44rem | 13 |
| 30px | 1.88rem | 3 |
| 40px | 2.50rem | 4 |
| 50px | 3.13rem | 5 |
| 58px | 3.63rem | 1 |
| 60px | 3.75rem | 2 |
| 69px | 4.31rem | 1 |
| 80px | 5.00rem | 12 |
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.
6.2 Links
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