← Back to all designs

IBM

An enterprise-marketing canvas faithful to Carbon Design System: white surfaces, charcoal type, IBM Blue (#0f62fe) as the single confident accent, and a deliberately flat-square aesthetic where corners stay at 0–4px. Type runs IBM Plex Sans at light weight 300 for display sizes (a brand signature) and 400/600 for body and emphasis. Cards live as thin-bordered tiles with no shadow; sections separat

Homepage Example

Welcome to IBM

A modern, elegant design system built for the digital age. Clean lines, thoughtful spacing, and purposeful color choices define every interaction.

Get Started Learn More

Pixel Perfect

Every element is carefully crafted to ensure consistency across all platforms and devices.

Design Tokens

A comprehensive token system that makes scaling and maintaining your design effortless.

Built for Teams

Collaborate seamlessly with designers and developers using a shared design language.

Color Palette (21)

primary#0f62fe
on-primary#ffffff
ink#161616
ink-muted#525252
ink-subtle#8c8c8c
canvas#ffffff
surface-1#f4f4f4
surface-2#e0e0e0
inverse-canvas#161616
inverse-surface-1#262626
inverse-ink#ffffff
inverse-ink-muted#c6c6c6
hairline#e0e0e0
hairline-strong#161616
blue-60#0043ce
blue-80#002d9c
blue-hover#0050e6
semantic-success#24a148
semantic-warning#f1c21b
semantic-error#da1e28
semantic-info#0f62fe

Typography (13)

IBM
display-xl76px · weight 300
IBM
display-lg60px · weight 300
IBM
display-md42px · weight 300
IBM
headline32px · weight 400
IBM
card-title24px · weight 400
IBM
subhead20px · weight 400
IBM
body-lg18px · weight 400
IBM
body16px · weight 400
IBM
body-sm14px · weight 400
IBM
body-emphasis14px · weight 600
IBM
caption12px · weight 400
IBM
button14px · weight 400
IBM
eyebrow14px · weight 400

Components (22)

button-primary
button-primary
button-primary-pressed
button-primary-pressed
button-secondary
button-secondary
button-tertiary
button-tertiary
button-ghost
button-ghost
button-danger
button-danger
feature-card
feature-card
feature-card-elevated
feature-card-elevated
product-card
product-card
hero-card
hero-card
cta-banner
cta-banner
text-input
text-input
text-input-focused
text-input-focused
text-input-error
text-input-error
newsletter-input
newsletter-input
product-tab
product-tab
product-tab-selected
product-tab-selected
resource-tile
resource-tile
customer-logo-tile
customer-logo-tile
top-nav
top-nav
utility-bar
utility-bar
footer
footer

Border Radius

none (0px)
xs (2px)
sm (4px)
md (6px)
lg (8px)
pill (9999px)
full (9999px)

Design Philosophy

Overview

IBM's marketing system is a faithful application of **Carbon Design System** — IBM's open-source enterprise design system. The dominant surface is `{colors.canvas}` pure white with `{colors.surface-1}` light gray for elevation, charcoal `{colors.ink}` (#161616) for text, and IBM Blue `{colors.primary}` (#0f62fe) as the single brand accent.

The defining choice is **flat geometry**: every CTA, every card, every input, every container uses square corners (`{rounded.none}` 0px) with thin 1px borders. There are no rounded pills, no soft shadows, no atmospheric gradients. The system is engineered, not stylized.

**IBM Plex Sans** carries the entire type hierarchy. Display sizes (76 / 60 / 42px) run at weight **300** — IBM's signature light display treatment that makes 76px feel calmer than competing brands' 700-weight display. Body type sits at weight 400 with `letter-spacing: 0.16px` (a Carbon precision detail) and line-height 1.50. The voice reads as careful, technical, and trustworthy.

The system reaches for color rarely — IBM Blue marks links, primary CTAs, and the rare full-bleed CTA banner. Charcoal carries every other surface that isn't white. The result is enterprise gravitas without the enterprise stiffness: rigorous, light-weighted, and intentionally restrained.

**Key Characteristics:**

Colors

> Source pages: ibm.com (home), /software/ai-productivity, /consulting, /products/cloud-pak-for-aiops, /products/bare-metal-servers, community.ibm.com.

Brand & Accent

Surface

Text

Semantic

Typography

Font Family

The same family carries display, body, and caption — there is no display + body pairing. Hierarchy is carried by **size + weight** rather than by family change. Plex Sans is also free / open-source under the SIL Open Font License — making it the easiest custom face on this list to substitute for in implementation.

Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |

|---|---|---|---|---|---|

| `{typography.display-xl}` | 76px | 300 | 1.17 | -0.5px | Largest hero headline |

| `{typography.display-lg}` | 60px | 300 | 1.17 | -0.4px | Section opener headlines |

| `{typography.display-md}` | 42px | 300 | 1.20 | 0 | Sub-section headlines, hero card title |

| `{typography.headline}` | 32px | 400 | 1.25 | 0 | Card collection heading, FAQ category |

| `{typography.card-title}` | 24px | 400 | 1.33 | 0 | Feature card title |

| `{typography.subhead}` | 20px | 400 | 1.40 | 0 | Lead body next to display headlines |

| `{typography.body-lg}` | 18px | 400 | 1.50 | 0 | Hero subhead, lead paragraphs |

| `{typography.body}` | 16px | 400 | 1.50 | 0.16px | Default body |

| `{typography.body-sm}` | 14px | 400 | 1.29 | 0.16px | Card body, footer columns |

| `{typography.body-emphasis}` | 14px | 600 | 1.29 | 0.16px | Selected tab label, emphasized body line |

| `{typography.caption}` | 12px | 400 | 1.33 | 0.32px | Captions, meta, utility bar |

| `{typography.button}` | 14px | 400 | 1.29 | 0.16px | All button labels |

| `{typography.eyebrow}` | 14px | 400 | 1.29 | 0.16px | Section eyebrows (Carbon avoids strong eyebrows; uses sentence case 14px) |

Principles

Note on Font Substitutes

IBM Plex Sans is **free and open-source** (SIL OFL license) and available on Google Fonts. It is the recommended implementation. The Plex family also includes Plex Mono and Plex Serif if expanded typographic needs arise.

Layout

Spacing System

Grid & Container

Whitespace Philosophy

Carbon uses precise alignment to a 4-pixel grid as its whitespace system. Sections separate via thin gray rows (`{colors.surface-1}`) rather than via large vertical gaps. Content is dense by design — IBM's customers expect to see a lot on a page, not a lot of air.

Elevation & Depth

| Level | Treatment | Use |

|---|---|---|

| 0 (flat) | No shadow, no border | Default for body type, hero text, footer body |

| 1 (hairline) | 1px `{colors.hairline}` border on canvas | Feature cards, inputs, list items |

| 2 (surface lift) | `{colors.surface-1}` background on canvas | Alternate-row banners, hovered cards |

| 3 (focus ring) | 2px `{colors.primary}` outline + 1px `{colors.hairline-strong}` underline | Focused input, focused button |

Carbon resists drop shadows on marketing — depth is carried by surface change and 1px hairlines. The exception is product / app surfaces (Carbon documents shadow tokens for elevated panels), but the marketing site barely uses them.

Decorative Depth

Shapes

Border Radius Scale

| Token | Value | Use |

|---|---|---|

| `{rounded.none}` | 0px | Default — every button, card, input, container |

| `{rounded.xs}` | 2px | Small badges (rare exception) |

| `{rounded.sm}` | 4px | Avatar circles squared, dropdown menus |

| `{rounded.md}` | 6px | (Used rarely; documented for completeness) |

| `{rounded.lg}` | 8px | (Used rarely; documented for completeness) |

| `{rounded.pill}` | 9999px | Status pills, badges in product UI (rare on marketing) |

The brand commits to flat 0px corners. The other tokens exist for product / mobile surfaces but rarely surface on marketing.

Photography & Illustration Geometry

Components

Buttons

**`button-primary`** — Blue solid CTA. The default primary across all pages.

**`button-secondary`** — Charcoal solid button — Carbon's "secondary" treatment.

**`button-tertiary`** — White button with blue 1px border + blue text. Used for tertiary CTAs.

**`button-ghost`** — Plain text + chevron, no background until hover.

**`button-danger`** — Carbon's destructive variant.

Cards & Containers

**`feature-card`** — Default feature highlight tile on the home and product pages.

**`feature-card-elevated`** — Same shape on `{colors.surface-1}` ground — used for "Recommended" cards in the latest-content carousel.

**`product-card`** — Larger product showcase tile.

**`hero-card`** — Hero composition card with light-weight title, body, and CTA.

**`cta-banner`** — Full-width blue CTA panel near the bottom of the page.

**`resource-tile`** — Smaller article / case-study tile.

**`customer-logo-tile`** — Single tile in the customer marquee on the home page (Ferrari, Pfizer, etc.).

Inputs & Forms

**`text-input`** + **`text-input-focused`** + **`text-input-error`** — Carbon's input chrome.

**`newsletter-input`** — The "Stay connected" newsletter capture on the home page.

Tabs

**`product-tab`** + **`product-tab-selected`** — The horizontal tab strip on product pages and the home "Recommended" carousel.

Navigation

**`top-nav`** — Sticky white bar with the IBM logomark left, nav categories center, and search / sign-in icons right.

**`utility-bar`** — Slim gray ribbon above the top nav with location switch, contact, search shortcuts.

Footer

**`footer`** — Charcoal footer (`{colors.inverse-canvas}`) with the IBM wordmark left and 5–6 columns of caption-sized links. The only inverted surface above the page break.

Do's and Don'ts

Do

Don't

Responsive Behavior

Breakpoints

| Name | Width | Key Changes |

|---|---|---|

| Max | 1584px | Carbon max grid; gutters expand |

| Desktop-XL | 1312px | Default desktop layout |

| Desktop | 1056px | Card grid 4-up maintained |

| Tablet | 672px | Card grid 4-up → 2-up; nav becomes hamburger |

| Mobile | 320px | Single-column; display-xl scales 76px → ~32px |

Touch Targets

Collapsing Strategy

Image Behavior

Iteration Guide

1. Focus on ONE component at a time and reference it by its `components:` token name.

2. Default body to `{typography.body}` at weight 400 with `letter-spacing: 0.16px`. Don't remove the tracking.

3. When introducing a new section, decide whether it sits on `{colors.canvas}` (default) or on `{colors.surface-1}` (alternate band). The two-surface rhythm is the rhythm.

4. Run `npx @google/design.md lint DESIGN.md` after edits.

5. Add new variants as separate component entries (`button-primary-pressed`, `text-input-error`, `text-input-focused`).

6. Treat IBM Blue as scarce: links, primary CTA, CTA banner, focus underline. Anything beyond that is drift.

7. Resist rounded corners. If a designer pushes for 4px rounding, the brand is shifting away from Carbon.

Known Gaps