BrandToPrompt

Nytimes Design System: Heritage-Driven Digital UI

Visit Site

Explore Nytimes' design system - muted colors, typography, and disciplined grid. Learn how heritage shapes its trusted digital experience.

6 min read1,140 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
nyt-cheltenham
Secondary Font
nyt-franklin

Design Style

Style
heritage editorial with muted functional colors and disciplined grid
Visual Density
compact grid-based with disciplined 8px spacing scale
Border Style
sharp 0px edges with occasional 3px or 4px rounding, 50% for circular elements

Full Analysis

New York Times Design System Deep-Dive


1. Brand Overview

The New York Times website is a masterclass in editorial design translated into digital form. This is not a flashy tech brand trying to wow you with gradients and animations. This is a century-old institution with a visual language steeped in print traditions — serif headlines, restrained color, and strict typographic hierarchy.

The vibe is serious, authoritative, and meticulously structured. Every decision is in service of legibility and editorial clarity. You can feel the weight of the brand's history in the typography choices: nyt-cheltenham, nyt-karnak, Times — fonts that scream newspaper heritage. The sans-serif nyt-franklin steps in for utility roles: captions, labels, UI components.

The audience is broad — from casual readers skimming headlines to deeply engaged subscribers. The design system needs to accommodate breaking news urgency, long-form investigative pieces, and interactive visual journalism, all without losing cohesion. That’s why the palette is muted, the spacing grid is disciplined, and decorative elements are minimal.

The philosophy here is: content first. The UI is there to serve the story. Headlines dominate. Images are framed, not flooded. Colors are functional, not ornamental — blues for links, reds/oranges for signals, greys for structure. Even the buttons are understated; hover states rely more on subtle color shifts than dramatic effects.

The Times isn’t chasing design trends. It’s enforcing its own visual grammar, honed over decades. This works because it builds trust: you know you’re looking at The New York Times, whether it’s on a phone at 6am or a desktop at midnight.


2. Color System

2.1 Primary Colors

The primary brand color for interactive elements is #326891 (--g-color-anchor). It’s a muted, deep blue — not the electric blue of tech brands, but a sober, credible hue. This color shows up in links, anchors, and certain CTAs. It’s calm, avoids the “clickbait” vibe, and aligns with the brand’s journalistic integrity.

They also have strong functional reds (--color-signal-negative hsla(354.29,98.83%,33.34%,1)) and oranges (--color-signal-developing hsla(20.19,91.67%,47.06%,1)) for alert signals. These aren’t used for decoration — they’re reserved for breaking news, warnings, or developing stories.

Greys dominate the palette: from near-black #121212 to light greys like #ebebeb. This keeps the canvas neutral, letting photos and illustrations provide color diversity.

Competitor comparison: Compared to BBC’s bright red primary, NYT’s palette is far more restrained. It’s closer to The Guardian’s deep blues, but with less saturation and more greyscale flexibility.

2.2 Complete Palette

Color NameHexRoleUsage
Body Text#121212--g-body-colorMain content text
Anchor Blue#326891--g-color-anchorLinks, CTAs
Content Quintary#8b8b8b--color-content-quintaryTertiary text
Overlay Black#000000--color-overlay-blackOverlays
Signal Breaking#d0151d--color-signal-breakingBreaking news
Signal Negative#aa0a14--color-signal-negativeNegative alerts
Background Quaternary#c7c7c7--color-background-quaternaryUI backgrounds
Signal Developing#f26a1d--color-signal-developingDeveloping news
Signal Highlight#faf8e4--color-signal-highlightHighlight backgrounds
Content Tertiary#5a5a5a--color-content-tertiarySecondary text
Content Inverse Primary#ffffff--color-content-inversePrimaryText on dark backgrounds
Stroke Quaternary#dfdfdf--color-stroke-quaternaryDividers
Loading Background#ebebeb--g-color-loading-backgroundLoading skeletons
Content Primary#121212--color-content-primaryPrimary text
Background Overlayrgba(31,31,31,0.58)--color-background-overlayModal overlays
Background Secondary#f8f8f8--color-background-secondarySection backgrounds
Signal Accent#2f6fc7--color-signal-accentAccent highlights
Signal Positive#227b4f--color-signal-positiveSuccess states
Signal Editorial#4d728f--color-signal-editorialEditorial highlights
Background Inverse Secondary#363636--color-background-inverseSecondaryDark UI surfaces
Content Quaternary#727272--color-content-quaternaryMuted text

Also from palette detection:

  • Neutral greys: #5a5a5a, #363636, #ebebeb, #727272, #f8f8f8, #272727
  • Rare deep navy: #001833 (hover/focus states)

2.3 Color Relationships

Contrast is strong between text (#121212) and backgrounds (#ffffff or #f8f8f8). Links (#326891) on white easily pass WCAG AA for normal text. Signal colors (reds, oranges) are vivid against neutral backgrounds, ensuring alerts are noticeable.

Dark mode elements exist (--color-background-inverseSecondary #363636) with inverse text (#ffffff). Overlay black is full #000000 opacity for immersive modals.

2.4 Usage Guide

  • Pair #121212 text with #f8f8f8 or white backgrounds for maximum readability.
  • Use #326891 only for interactive elements — never as a decorative tint.
  • Reserve reds/oranges for alerts and signals; don’t dilute their urgency.
  • Greys (#727272, #5a5a5a) are for secondary or muted text — avoid using them for clickable items unless explicitly styled.
  • Dark navy #001833 is rare — keep for focus rings or subtle hover states.

3. Typography

3.1 Font Families

Four custom NYT families dominate:

  • nyt-cheltenham (serif): Headlines, links, some body. Fallbacks: cheltenham-fallback-georgia, cheltenham-fallback-noto, georgia, times new roman, times.
  • nyt-karnak (serif): Secondary headlines. Fallbacks: georgia, times new roman, times.
  • nyt-franklin (sans-serif): UI elements, captions, buttons. Fallbacks: helvetica, arial.
  • nyt-imperial (serif): Captions with multilingual support. Fallbacks include Songti SC, simsun.

No Google or Adobe fonts — all custom.

3.2 Type Scale

ElementFontSizeWeightLine Height
heading-1nyt-cheltenham28px3001.15
heading-1nyt-cheltenham24px3001.15
heading-1nyt-cheltenham22px7001.15
heading-1nyt-karnak20px4001.20
heading-1nyt-cheltenham-text-cond20px7001.15
linknyt-cheltenham18px4001.20
heading-1nyt-cheltenham18px7001.20
linkTimes16px4001.00
heading-1Times16px4001.00
heading-1nyt-cheltenham16px7001.20
buttonnyt-franklin16px400
heading-1nyt-cheltenham16px4001.25
linknyt-cheltenham16px4001.25
buttonTimes16px4001.00
heading-1nyt-karnak16px7001.15
captionnyt-franklin14px4001.43
linknyt-franklin14px4001.43
linknyt-franklin14px5001.00
buttonnyt-franklin14px400
captionnyt-imperial14px4001.36
captionnyt-franklin14px7001.30
captionnyt-franklin14px7001.21
linknyt-franklin14px7001.00
captionnyt-cheltenham-small14px4001.25
link/captionnyt-franklin13px5001.38
linknyt-franklin13px7001.38
captionnyt-franklin13px4001.15
captionnyt-franklin12px5001.30
link/captionnyt-franklin11px7001.00
buttonnyt-franklin11px7001.00
linknyt-franklin11px6001.00
linknyt-franklin11px5001.00
captionnyt-franklin11px7001.00
captionnyt-franklin11px5001.82
linknyt-franklin11px5001.64
captionnyt-cheltenham-small11px7001.35
captionTimes11px4001.00
linknyt-franklin11px4001.00
captionnyt-franklin11px4001.00
caption/linknyt-franklin10px4001.00
captionnyt-franklin10px5001.25
captionnyt-franklin10px6001.25
captionnyt-franklin10px4001.25
captionnyt-franklin10px4001.00
captionnyt-franklin8.96px4001.20
captionnyt-franklin8.96px5001.56

3.3 Hierarchy

Large serif headlines grab attention; smaller sans-serif captions and labels keep UI clean. The scale is tight — jumps of 2-4px between levels — which maintains visual rhythm and avoids jarring shifts. Line heights are generous for captions, tighter for headlines.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px. Values are multiples or fractions (2px, 3px, 4px).

ValueCountUsage
2px5Hairline gaps
3px101Icon spacing
4px142Tight padding
6px8Small gaps
7px13Icon+text
8px55Button padding
10px160Compact UI padding
11px46Labels
12px421Default padding
15px4Odd cases
16px169Content spacing
20px86Section padding
24px69Larger gaps
30px40Container padding
40px28Large section gaps
90.3px12Hero banners
103px6Special layouts
213.39px5Large vertical spacing
347.91px12Major whitespace blocks

4.2 Layout

Breakpoints from 320px to 1920px — extremely granular, allowing fine-tuned responsive adjustments. Likely a fluid grid with dozens of media queries for editorial layouts.


5. Visual Elements

  • Border Radius: 0px default, 3px for small UI, 4px for some containers, 50% for circular buttons/avatars.
  • Shadows: Minimal — only two values:
    • rgba(0,0,0,0.1) 0px 10px 10px
    • Rare: rgba(0,0,0,0.28) 0px 0px 5px 1px
  • Borders: Common 1px solid dividers in light greys (#ebebeb, #dfdfdf). Buttons sometimes get darker borders (#424242).

6. Components

6.1 Buttons

Variant 1 (.css-19wyrnd)

  • Default: bg #fff, text #000, no radius, no border.
  • Hover: text var(--tpl-color-content-primary, #121212), subtle box-shadow from tokens.
  • Active: removes shadow.

Variant 2 (.kyt-ULlAU) — circular

  • Default: bg rgba(18,18,18,0.6), border 1px solid #424242, radius 50%.
  • Hover: border 2px solid rgba(255,255,255,0.32).
  • Active: bg rgba(90,90,90,0.6).
  • Focus: outline #346eb7 solid 2px.

Variant 3 (.kyt-+KMUM.kyt-gO4MU) — circular outline

  • Default: transparent bg, border 1px solid #c7c7c7, radius 50%.
  • Hover: no bg change, text var(--tpl-color-content-primary).
  • Active: no shadow.

4 styles:

  • Black (#000), weight 700 — hover to grey (#727272).
  • Dark grey (#121212), weight 600 — hover to grey.
  • Grey (#5a5a5a), weight 500 — hover to grey.
  • Mid grey (#666666), weight 400 — hover to grey.

No underlines, hover color shift only.

6.3 Forms

No input styles extracted — likely minimal, border-based.

6.4 Cards

No explicit card component, but shadows (#000, 0.1 opacity) suggest lightweight elevation for certain elements.


7. Design Tokens

:root {
  /* Colors */
  --g-body-color: #121212;
  --g-color-anchor: #326891;
  --color-content-quintary: hsla(0,0%,54.51%,1);
  --color-overlay-black: hsla(0,0%,0%,1);
  --color-signal-breaking: hsla(352.72,98.1%,41.18%,1);
  --color-signal-negative: hsla(354.29,98.83%,33.34%,1);
  --color-background-quaternary: hsla(0,0%,78.04%,1);
  --color-signal-developing: hsla(20.19,91.67%,47.06%,1);
  --color-signal-highlight: hsla(54.67,95.75%,90.79%,1);
  --color-content-tertiary: hsla(0,0%,35.3%,1);
  --color-content-inversePrimary: hsla(0,0%,100%,1);
  --color-stroke-quaternary: hsla(0,0%,87.46%,1);
  --g-color-loading-background: hsla(0,0%,92.16%,1);
  --color-content-primary: hsla(0,0%,7.06%,1);
  --color-background-overlay: hsla(0,0%,7.06%,0.58);
  --color-background-secondary: hsla(0,0%,97.26%,1);
  --color-signal-accent: hsla(215.28,72.23%,50.59%,1);
  --color-signal-positive: hsla(126.98,53.09%,31.77%,1);
  --color-signal-editorial: hsla(205.9,48.72%,38.24%,1);
  --color-background-inverseSecondary: hsla(0,0%,21.18%,1);
  --color-content-quaternary: hsla(0,0%,44.71%,1);

  /* Spacing */
  --space-2: 2px;
  --space-3: 3px;
  --space-4: 4px;
  --space-6: 6px;
  --space-7: 7px;
  --space-8: 8px;
  --space-10: 10px;
  --space-11: 11px;
  --space-12: 12px;
  --space-15: 15px;
  --space-16: 16px;
  --space-20: 20px;
  --space-24: 24px;
  --space-30: 30px;
  --space-40: 40px;

  /* Border Radius */
  --radius-sm: 3px;
  --radius-md: 4px;
  --radius-full: 50%;

  /* Shadows */
  --shadow-md: rgba(0, 0, 0, 0.1) 0px 10px 10px 0px;
  --shadow-sm: rgba(0, 0, 0, 0.28) 0px 0px 5px 1px;
}

8. AI Coding Assistant Prompt

# New York Times Design System Specification

You are a New York Times design expert. Build UIs matching their visual language exactly.

## Brand Context
The NYT design language is rooted in print traditions: serif headlines, restrained color, disciplined spacing. It prioritizes clarity, trust, and editorial hierarchy.

## Color Palette
- Body Text: #121212 — Main content text
- Anchor Blue: #326891 — Links, CTAs
- Content Quintary: #8b8b8b — Tertiary text
- Overlay Black: #000000 — Overlays
- Signal Breaking: #d0151d — Breaking news alerts
- Signal Negative: #aa0a14 — Negative alerts
- Background Quaternary: #c7c7c7 — UI backgrounds
- Signal Developing: #f26a1d — Developing news
- Signal Highlight: #faf8e4 — Highlight backgrounds
- Content Tertiary: #5a5a5a — Secondary text
- Content Inverse Primary: #ffffff — Text on dark backgrounds
- Stroke Quaternary: #dfdfdf — Dividers
- Loading Background: #ebebeb — Loading skeletons
- Background Secondary: #f8f8f8 — Section backgrounds
- Signal Accent: #2f6fc7 — Accent highlights
- Signal Positive: #227b4f — Success states
- Signal Editorial: #4d728f — Editorial highlights
- Background Inverse Secondary: #363636 — Dark UI surfaces
- Content Quaternary: #727272 — Muted text

## Typography
- Headings: "nyt-cheltenham", cheltenham-fallback-georgia, cheltenham-fallback-noto, georgia, times new roman, times
- Secondary Headings: "nyt-karnak", georgia, times new roman, times
- UI & Captions: "nyt-franklin", helvetica, arial
- Captions (serif): "nyt-imperial", georgia, times new roman, times, Songti SC, simsun

| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 28px | 300 | 1.15 | Main headlines |
| H2 | 24px | 300 | 1.15 | Section headlines |
| H3 | 22px | 700 | 1.15 | Sub-headlines |
| ... (full table from section 3.2) ...

## Spacing & Grid
Base: 8px
Scale: 2px, 3px, 4px, 6px, 7px, 8px, 10px, 11px, 12px, 15px, 16px, 20px, 24px, 30px, 40px

## Border Radius
- none: 0 — default
- sm: 3px — small UI
- md: 4px — containers
- full: 50% — circular buttons, avatars

## Shadows & Depth
- md: rgba(0,0,0,0.1) 0px 10px 10px
- sm: rgba(0,0,0,0.28) 0px 0px 5px 1px

## Components

### Primary Button
```css
.btn-primary {
  background: #fff;
  color: #000;
  padding: 0;
  border-radius: 0;
  border: none;
  font-weight: 400;
  font-size: 14px;
}
.btn-primary:hover {
  color: #121212;
  box-shadow: 0 0 0 var(--button-shadowSpread) hsla(var(--button-strokeHover),var(--button-opacityHover));
}
.btn-primary:active {
  box-shadow: none;
}

Circular Button

.btn-circle {
  background: rgba(18,18,18,0.6);
  border: 1px solid #424242;
  border-radius: 50%;
  font-size: 16px;
}
.btn-circle:hover {
  border: 2px solid rgba(255,255,255,0.32);
}
.btn-circle:focus {
  outline: 2px solid #346eb7;
}
.link-strong {
  color: #000;
  font-weight: 700;
  text-decoration: none;
}
.link-strong:hover {
  color: #727272;
}

Layout & Responsive Rules

  • Max width: fluid up to 1920px
  • Breakpoints: multiple from 320px to 1920px
  • Mobile padding: 12px
  • Desktop padding: 20px

Interaction Rules

  • Hover: subtle color shift
  • Focus: visible outline for circular buttons
  • Transitions: ~150ms ease

DO

  • Use only palette colors
  • Maintain 8px grid
  • Use serif for headlines, sans for UI
  • Keep hover states subtle
  • Reserve red/orange for alerts

DON'T

  • Add custom shadows
  • Mix serif and sans inconsistently
  • Use underlines for links
  • Use bright saturated colors

Code Examples

(see above CSS snippets)


---

## 9. Summary

**TL;DR** — NYT’s design language is print heritage translated into digital: muted palette, strong typographic hierarchy, disciplined spacing. Buttons and links are understated, colors are functional, and content is king.

**Brand Keywords**:  
- heritage-editorial  
- muted-functional  
- typography-driven  
- disciplined-grid  
- trust-centric