
IBM's website is the digital embodiment of enterprise authority built on the Carbon Design System — a design language so methodically structured it reads like an engineering specification rendered as a webpage. The page operates on a stark duality: a bright white (#ffffff) canvas with near-black (#161616) text, punctuated by a single, unwavering accent — IBM Blue 60 (#0f62fe). This isn't playful tech-startup minimalism; it's corporate precision distilled into pixels. Every element exists within Carbon's rigid 2x grid, every color maps to a semantic token, every spacing value snaps to the 8px base unit.
The IBM Plex type family is the system's backbone. IBM Plex Sans at light weight (300) for display headlines creates an unexpectedly airy, almost delicate quality at large sizes — a deliberate counterpoint to IBM's corporate gravity. At body sizes, regular weight (400) with 0.16px letter-spacing on 14px captions introduces the meticulous micro-tracking that makes Carbon text feel engineered rather than designed. IBM Plex Mono serves code, data, and technical labels, completing the family trinity alongside the rarely-surfaced IBM Plex Serif.
What defines IBM's visual identity beyond monochrome-plus-blue is the reliance on Carbon's component token system. Every interactive state maps to a CSS custom property prefixed with --cds- (Carbon Design System). Buttons don't have hardcoded colors; they reference --cds-button-primary, --cds-button-primary-hover, --cds-button-primary-active. This tokenized architecture means the entire visual layer is a thin skin over a deeply systematic foundation — the design equivalent of a well-typed API.
Key Characteristics:
#0f62fe) — every interactive element, every CTA, every link--cds-*) driving all semantic colors, enabling theme-switching at the variable level#f4f4f4 Gray 10 surface — depth through background-color layering, not shadows#0f62fe): The singular interactive color. Primary buttons, links, focus states, active indicators. This is the only chromatic hue in the core UI palette.#ffffff): Page background, card surfaces, button text on blue, --cds-background.#161616): Primary text, headings, dark surface backgrounds, nav bar, footer. --cds-text-primary.#161616): Primary text, headings, dark UI chrome, footer background.#262626): Secondary dark surfaces, hover states on dark backgrounds.#393939): Tertiary dark, active states.#525252): Secondary text, helper text, descriptions. --cds-text-secondary.#6f6f6f): Placeholder text, disabled text.#8d8d8d): Disabled icons, muted labels.#c6c6c6): Borders, divider lines, input bottom-borders. --cds-border-subtle.#e0e0e0): Subtle borders, card outlines.#f4f4f4): Secondary surface background, card fills, alternating rows. --cds-layer-01.#e8e8e8): Hover state for Gray 10 surfaces.#0f62fe): Primary interactive — buttons, links, focus. --cds-link-primary, --cds-button-primary.#0043ce): Link hover state. --cds-link-primary-hover.#002d9c): Active/pressed state for blue elements.#edf5ff): Blue tint surface, selected row background.#0f62fe): --cds-focus — 2px inset border on focused elements.#ffffff): --cds-focus-inset — white inner ring for focus on dark backgrounds.#da1e28): Error, danger. --cds-support-error.#24a148): Success. --cds-support-success.#f1c21b): Warning. --cds-support-warning.#0f62fe): Informational. --cds-support-info.#161616). --cds-background.#262626). Card and container surfaces.#393939). Elevated surfaces.#f4f4f4). --cds-text-primary.#c6c6c6). --cds-text-secondary.#393939). --cds-border-subtle.#78a9ff). Links and interactive elements shift lighter for contrast.IBM Plex Sans, with fallbacks: Helvetica Neue, Arial, sans-serifIBM Plex Mono, with fallbacks: Menlo, Courier, monospaceIBM Plex Serif, for editorial/expressive contextsibm_icons — proprietary icon glyphs at 20px| Role | Font | Size | Weight | Line Height | Letter Spacing | Notes |
|---|---|---|---|---|---|---|
| Display 01 | IBM Plex Sans | 60px (3.75rem) | 300 (Light) | 1.17 (70px) | 0 | Maximum impact, light weight for elegance |
| Display 02 | IBM Plex Sans | 48px (3.00rem) | 300 (Light) | 1.17 (56px) | 0 | Secondary hero, responsive fallback |
| Heading 01 | IBM Plex Sans | 42px (2.63rem) | 300 (Light) | 1.19 (50px) | 0 | Expressive heading |
| Heading 02 | IBM Plex Sans | 32px (2.00rem) | 400 (Regular) | 1.25 (40px) | 0 | Section headings |
| Heading 03 | IBM Plex Sans | 24px (1.50rem) | 400 (Regular) | 1.33 (32px) | 0 | Sub-section titles |
| Heading 04 | IBM Plex Sans | 20px (1.25rem) | 600 (Semibold) | 1.40 (28px) | 0 | Card titles, feature headers |
| Heading 05 | IBM Plex Sans | 20px (1.25rem) | 400 (Regular) | 1.40 (28px) | 0 | Lighter card headings |
| Body Long 01 | IBM Plex Sans | 16px (1.00rem) | 400 (Regular) | 1.50 (24px) | 0 | Standard reading text |
| Body Long 02 | IBM Plex Sans | 16px (1.00rem) | 600 (Semibold) | 1.50 (24px) | 0 | Emphasized body, labels |
| Body Short 01 | IBM Plex Sans | 14px (0.88rem) | 400 (Regular) | 1.29 (18px) | 0.16px | Compact body, captions |
| Body Short 02 | IBM Plex Sans | 14px (0.88rem) | 600 (Semibold) | 1.29 (18px) | 0.16px | Bold captions, nav items |
| Caption 01 | IBM Plex Sans | 12px (0.75rem) | 400 (Regular) | 1.33 (16px) | 0.32px | Metadata, timestamps |
| Code 01 | IBM Plex Mono | 14px (0.88rem) | 400 (Regular) | 1.43 (20px) | 0.16px | Inline code, terminal |
| Code 02 | IBM Plex Mono | 16px (1.00rem) | 400 (Regular) | 1.50 (24px) | 0 | Code blocks |
| Mono Display | IBM Plex Mono | 42px (2.63rem) | 400 (Regular) | 1.19 (50px) | 0 | Hero mono decorative |
Primary Button (Blue)
#0f62fe (Blue 60) → --cds-button-primary#ffffff (White)#0353e9 (Blue 60 Hover) → --cds-button-primary-hover#002d9c (Blue 80) → --cds-button-primary-active2px solid #0f62fe inset + 1px solid #ffffff innerSecondary Button (Gray)
#393939 (Gray 80)#ffffff#4c4c4c (Gray 70)#6f6f6f (Gray 60)Tertiary Button (Ghost Blue)
#0f62fe (Blue 60)#0f62fe#0353e9 text + Blue 10 background tintGhost Button
#0f62fe (Blue 60)#e8e8e8 background tintDanger Button
#da1e28 (Red 60)#ffffff#b81921 (Red 70)#ffffff on white theme, #f4f4f4 (Gray 10) for elevated cards#e8e8e8 (Gray 10 Hover) for clickable cards#f4f4f4 (Gray 10) — --cds-field#161616 (Gray 100)2px solid transparent bottom2px solid #161616 (Gray 100)2px solid #0f62fe (Blue 60) bottom-border — --cds-focus2px solid #da1e28 (Red 60) bottom-border#6f6f6f)#161616 (Gray 100) — full-width dark masthead#c6c6c6 (Gray 30) default#ffffff text#ffffff with bottom-border indicator#0f62fe (Blue 60) with no underline#0043ce (Blue 70) with underlineContent Block (Hero/Feature)
Tile (Clickable Card)
#f4f4f4 or #ffffffTag / Label
Notification Banner
| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No shadow, #ffffff background | Default page surface |
| Layer 01 | No shadow, #f4f4f4 background | Cards, tiles, alternating sections |
| Layer 02 | No shadow, #e0e0e0 background | Elevated panels within Layer 01 |
| Raised | 0 2px 6px rgba(0,0,0,0.3) | Dropdowns, tooltips, overflow menus |
| Overlay | 0 2px 6px rgba(0,0,0,0.3) + dark scrim | Modal dialogs, side panels |
| Focus | 2px solid #0f62fe inset + 1px solid #ffffff | Keyboard focus ring |
| Bottom-border | 2px solid #161616 on bottom edge | Active input, active tab indicator |
Shadow Philosophy: Carbon is deliberately shadow-averse. IBM achieves depth primarily through background-color layering — stacking surfaces of progressively darker grays rather than adding box-shadows. This creates a flat, print-inspired aesthetic where hierarchy is communicated through color value, not simulated light. Shadows are reserved exclusively for floating elements (dropdowns, tooltips, modals) where the element genuinely overlaps content. This restraint gives the rare shadow meaningful impact — when something floats in Carbon, it matters.
--cds-* token names when implementing (e.g., --cds-button-primary, --cds-text-primary)#0f62fe) as the sole accent — one blue to rule them all| Name | Width | Key Changes |
|---|---|---|
| Small (sm) | 320px | Single column, hamburger nav, 16px margins |
| Medium (md) | 672px | 2-column grids begin, expanded content |
| Large (lg) | 1056px | Full navigation visible, 3-4 column grids |
| X-Large (xlg) | 1312px | Maximum content density, wide layouts |
| Max | 1584px | Maximum content width, centered with margins |
max-width: 100%#0f62fe)#ffffff)#161616)#161616)#525252)#f4f4f4)#c6c6c6)#0f62fe)#0043ce)#0f62fe)#da1e28)#24a148)--cds- prefix for token naming to stay Carbon-compatibleIBM's voice is enterprise-technical and Carbon-systematic. Carbon Design System discipline shows up in every surface — uppercase labels, IBM Plex font, 0px-radius buttons, IBM Blue #0f62fe primary. The voice is closer to a research lab + enterprise contract than to consumer marketing.
| Context | Tone |
|---|---|
| CTA | Verb. "Get started", "Try free", "Talk to sales" |
| Marketing | Enterprise-fluent. SOC 2 / FedRAMP / ISO references |
| Documentation | Carbon-component-named; deep-linked component docs |
| Error | Specific. "Authentication failed (HTTP 401). Check API key." |
Voice samples
Forbidden phrases. "Revolutionary AI" without specifics. Casual emoji.
IBM was founded June 16 1911 as the Computing-Tabulating-Recording Company (CTR) by Charles Ranlett Flint — a Wall Street financier who amalgamated four companies (Tabulating Machine Company, International Time Recording Company, Computing Scale Company of America, Bundy Manufacturing Company) (Charles Ranlett Flint — Wikipedia, IBM — The origins of IBM). Renamed "International Business Machines" 1924 under Thomas J. Watson Sr., who had joined CTR in 1914. The contemporary brand identity was established through Paul Rand, hired by Thomas J. Watson Jr. in 1956 — Rand replaced Beton Bold with City Medium and created the iconic 8-bar (later 13-bar) striped IBM logo, with a directive to "herald a new era of IBM while also communicating continuity" (History of IBM logo — Hatchwise). The Rand→Eddy Opara design legacy continues today through the Carbon Design System (open-sourced 2018, carbondesignsystem.com) — IBM Plex font, IBM Blue #0f62fe, 0px-radius buttons. Carbon makes IBM one of the few enterprise vendors with a publicly documented design system that's also adopted by external teams. In 2024-2025 IBM acquired HashiCorp ($6.4B announced April 24 2024, closed February 27 2025), folding HashiCorp's products into IBM's hybrid cloud strategy.
#0f62fe IBM Blue is THE accent. UI implication: other Carbon tokens carry semantic meaning; IBM Blue is for "primary action" only.Personas are fictional archetypes informed by IBM user segments (enterprise IT architects, watsonx AI/ML platform users, regulated-industry compliance), not individual people.
Catherine Liu, 47, Toronto. Principal architect at a global insurance company. IBM Cloud + watsonx the chosen path for compliant AI deployment.
Hiroshi Tanaka, 52, Tokyo. CIO at multinational logistics. IBM partnership for hybrid cloud modernization.
Aisha Khan, 35, Dubai. Senior consultant at IBM Consulting. Translates client needs into Carbon-compliant deliverables.
| State | Treatment |
|---|---|
| Empty (no resources) | "Create your first resource" Carbon Button.Primary |
| Empty (no data) | Carbon EmptyState component pattern + CTA |
| Loading | Carbon InlineLoading or Loading component, never custom |
| Error | Carbon Notification.error variant; persistent until dismissed |
| Success | Carbon Notification.success; auto-dismiss 4s |
| Skeleton | Carbon SkeletonText / SkeletonPlaceholder components |
| Disabled | Carbon disabled state — explicit visual contrast (not just opacity) |
| Loading (long) | Carbon ProgressBar with explicit ETA |
Carbon Motion tokens: productive (110ms / 240ms / 400ms), expressive (175ms / 240ms / 400ms / 700ms). Curves: standard / entrance / exit / expressive.
Motion rules.
prefers-reduced-motion: reduce collapses to instantVerified: 2026-05-08 (omd:migrate run 28 — Apple-tier)
Tier 1 sources: ibm.com/us-en home + /products (live DOM via playwright — Primary #0f62fe IBM Blue 0px / asymmetric 14-15×15-16 / 48px / 14px·400; triple-confirmed against Carbon DS $blue-60 token ✓).
Tier 1 (DS-official): carbondesignsystem.com — Carbon Design System open-source spec, the rare case where a brand publishes its own DS as authoritative.
Tier 2 (Philosophy/history): Wikipedia (Charles Flint, IBM, CTR, History of IBM), IBM corporate history (ibm.com/history/ctr-and-ibm), Hatchwise IBM logo timeline.
Style ref: stripe. Conflicts unresolved: none.

IBM's website is the digital embodiment of enterprise authority built on the Carbon Design System — a design language so methodically structured it reads like an engineering specification rendered as a webpage. The page operates on a stark duality: a bright white (#ffffff) canvas with near-black (#161616) text, punctuated by a single, unwavering accent —
Brand
Accent
Neutrals
Semantic
Type Scale
Rendered in system-ui to clearly show scale & weight.
Fonts
Spacing
| Purpose | Value | Preview |
|---|---|---|
| Density | comfortable | |
| Base unit | 8px | |
| Section gap | 32px | |
| Card padding | 12px | |
| Element gap | 8px |
Border Radius
| Element | Value | Preview |
|---|---|---|
| buttons | 14px | |
| inputs | 14px | |
| cards | 14px | |
| dialogs | 14px | |
| badges | 8px |
Borders
| Element | Value | Preview |
|---|---|---|
| Border Active | 2px solid #161616 | |
| Focus | 2px solid #0f62fe | |
| Bottom-Border Active | 2px solid #161616 |
Elevation
Do and Don't guidelines parsed from DESIGN.md.
Do
Don't
Buttons
Cards
Inputs
Tabs