BrandToPrompt

Youtu Design System: Utilitarian Content-First UI

Visit Site

Explore Youtu's design system - utilitarian colors, typography, and responsive layouts. Build content-first UIs with Youtu's visual framework.

6 min read1,141 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
YouTube Noto
Secondary Font
YouTube Sans

Design Style

Style
utilitarian, content-first with minimal decorative elements and high contrast
Visual Density
compact grid-based with consistent tight spacing
Border Style
mixed: 2-12px for UI, 18px pill buttons, 50% avatars

Full Analysis

Youtu (YouTube) Design System Deep Dive

1. Brand Overview

YouTube’s interface is a study in utilitarian brand design. It’s not here to win beauty awards — it’s here to hold up an infinite scroll of video content without getting in the way. The vibe: functional, slightly corporate, with flashes of brand personality in the reds and blues.

If you strip away the thumbnails, YouTube’s UI is a stark monochrome scaffold. Black (#000000) and near-black (#0f0f0f) dominate, providing a high-contrast backdrop for vivid media. The reds (#ff0000, #ff0033, #c00) are reserved for brand anchors — the logo, play buttons, notification badges. Blues (#065fd4, #005fcc) show up in CTAs and links, and they’re bright enough to stand out against the dark shell.

The philosophy here is minimal chrome. Buttons are lean, typography is clean, spacing is tight but consistent, and the grid adapts across an absurd number of breakpoints (literally hundreds). YouTube’s design system is built for scale — every pixel has to survive in dozens of layouts, languages, and contexts.

Who’s this for? Heavy content consumers. Creators tracking analytics. Casual browsers. The design system has to work for all three without alienating any. That’s why it leans neutral — the content carries the emotion, not the UI.

I love how ruthlessly they limit decorative elements. Shadows are rare. Gradients are nonexistent. Borders are functional, not ornamental. This works because YouTube’s brand is built on utility. It’s a container brand — the “frame” for billions of pieces of user-generated art, comedy, news, and noise.


2. Color System

2.1 Primary Colors

The primary brand color is pure black (#000000). This is unusual — most brands pick a chromatic hue. YouTube uses black as the structural base, letting the famous red (#ff0000) do the brand signaling. Black conveys authority, neutrality, and makes thumbnails pop.

The red family is the emotional hook:

  • Brand Red (#ff0000) — logo, play icon, key brand anchors.
  • Static Brand Red (#ff0033) — alternative brand red, used in component states.
  • Medium Red (#cc0000) — darker variant, likely for hover/active states.
  • Brand Red Contrast (#c30027) — used for text or elements on red backgrounds.

Blue is the action color:

  • Action Blue (#065fd4) — links, CTAs.
  • Dark Blue (#005fcc) — hover/focus states for blue actions.
  • Enabled Send Button Blue (#4285f4) — live chat send button.

The rest of the palette is neutral grays and functional colors (error, warning, success).

2.2 Complete Palette

Color NameHexRoleUsage
Primary Black#000000BaseBackgrounds, text
Near Black#0f0f0fBaseSurfaces, buttons
Light Gray#eeeeeeNeutralText on dark, icons
Medium Gray#606060NeutralSecondary text
Action Blue#065fd4AccentLinks, CTAs
Light Neutral Gray#e3e3e3NeutralMenus, skeleton loading
White#ffffffBaseText on dark, surfaces
Dark Blue#005fccAccentHover/focus actions
Very Light Gray#f0f0f0NeutralHover/focus surfaces
Mid Gray#c6c6c6NeutralHover/focus borders
Transparent Black 10%rgba(0,0,0,0.1)OverlayHover/focus states
Light Blue Tint#def1ffAccentHover/focus backgrounds
Transparent Black 5%rgba(0,0,0,0.05)OverlayHover/focus surfaces
Static Brand Red#ff0033BrandBrand states
Brand Medium Red Alpha 30rgba(204,0,0,0.3)OverlayRed overlays
Brand Light Red Alpha 30rgba(255,78,69,0.3)OverlayRed overlays
Brand Medium Red#cc0000BrandDarker red variant
Brand YouTube Red#ff0000BrandPrimary logo red
Brand Red Contrast#c30027BrandContrast text on red
Enabled Send Button Blue#4285f4AccentLive chat send button
Light Accent Pink#ff80abAccentLight theme accents
Dark Accent Pink#f50057AccentDark theme accents
Primary Indigo#3f51b5AccentPrimary theme color
Accent Pink#ff4081AccentLinks/highlights
Error Orange#dd2c00FunctionalError states
Dark Theme Background#212121BaseDark mode background
Light Primary Indigo#c5cae9AccentLight theme variant
Dark Primary Indigo#303f9fAccentDark theme variant
Live Chat Sponsor Green#107516FunctionalSponsor badge
Live Chat Moderator Bluehsl(225,84%,66%)FunctionalModerator badge
Live Interactivity BG#264c8aFunctionalInteractivity component

2.3 Color Relationships

Black and white give maximum contrast. Reds are saturated — they scream for attention. Blues are bright enough to stand out on black but still WCAG-compliant for text. Grays are carefully stepped: #606060 is readable on white, #eeeeee works on black.

Dark mode is native: #212121 background, light grays for text. The same palette adapts — just swap background and text colors.

2.4 Usage Guide

  • Primary actions: Use Action Blue (#065fd4) for links and buttons. Hover to Dark Blue (#005fcc).
  • Brand anchors: Use Brand Red (#ff0000) for logo/play buttons. Avoid overusing red — it’s for brand, not generic actions.
  • Text: On dark backgrounds, use white (#ffffff) or light gray (#eeeeee). On light backgrounds, use near black (#0f0f0f).
  • Error states: Use Error Orange (#dd2c00) for validation.
  • Avoid mixing red and blue in the same button — it looks like conflicting actions.
  • Keep overlays translucent — use alpha variants for focus rings or hover states.

3. Typography

3.1 Font Families

Two main custom families: YouTube Noto and YouTube Sans. Both fall back to Roboto, then system fonts (Arial, Helvetica). Roboto Mono is also loaded.

Sources:

  • Google Fonts: Roboto, YouTube Sans, Roboto Mono.
  • Variable fonts: Yes.
  • Adobe Fonts: No.

3.2 Type Scale

ElementFontSizeWeightLine Height
heading-1YouTube Noto23.98px5001.30
heading-1Roboto20px700
heading-1YouTube Noto20px4001.30
heading-1YouTube Sans20px7001.40
heading-1YouTube Noto19.25px4001.30
heading-1YouTube Noto18px4001.30
heading-1YouTube Noto18px7001.30
heading-1Roboto18px4001.44
heading-1YouTube Noto17.05px4001.17
heading-1Roboto16px4001.38
heading-1YouTube Noto16px4001.30
heading-1YouTube Noto14.96px4001.34
buttonYouTube Noto14.96px4001.34
heading-1YouTube Noto14.3px5001.30
captionRoboto14px5001.43
buttonRoboto14px5002.57
linkRoboto14px5002.57
captionRoboto14px4001.43
captionYouTube Noto14px4001.30
captionYouTube Noto14px5001.30
buttonYouTube Noto14px5001.30 (uppercase)
buttonYouTube Noto14px5002.86
captionYouTube Noto13.97px5001.30 (uppercase)
buttonArial13.33px4000.00
captionArial13.33px4000.00
buttonYouTube Noto13.0691px4003.60
captionYouTube Noto13.0691px5001.84
linkRoboto13px5001.38
captionYouTube Noto13px4001.00
captionYouTube Noto12px4001.30
captionYouTube Noto12px5001.30
captionRoboto12px4001.25
buttonYouTube Noto11.99px4004.67
captionYouTube Noto11.99px4004.67
captionRoboto11.7px700
captionYouTube Noto11px4001.30
buttonYouTube Noto11px4001.30
captionRoboto10px400
linkRoboto10px400
buttonRoboto10px400
captionRoboto0px400— (uppercase transform)

3.3 Hierarchy

Headings hover around 18–24px. Buttons and captions are tight at 14px or smaller. Line heights are generally compact (1.30), except buttons with large vertical padding (line height > 2). This keeps the UI dense without feeling cramped. The uppercase transform on some captions and buttons adds emphasis without changing size.


4. Spacing & Layout

4.1 Spacing Scale

Base scale: 8px grid with some half-steps (2.5px, 6px, 7px).

ValueremCountUsage
1px0.06rem3Hairline borders
2.5px0.16rem3Icon spacing
4px0.25rem37Tight gaps
5px0.31rem14Icon padding
6px0.38rem9Small gaps
7px0.44rem13Compact spacing
8px0.50rem61Base unit
10px0.63rem11Button padding
11px0.69rem2Rare
12px0.75rem62Common gaps
15px0.94rem2Rare
16px1.00rem12Section padding
18px1.13rem11Form fields
20px1.25rem8Card padding
24px1.50rem9Larger gaps
32px2.00rem3Section spacing
50px3.13rem2Hero spacing
56px3.50rem1Hero elements
100px6.25rem2Modals
120px7.50rem1Hero

4.2 Layout

Breakpoints are exhaustive — from tiny (2px) up to massive (2244px). This suggests responsive tuning for countless device widths. No fixed container width — the grid adapts fluidly.


5. Visual Elements

Border Radius

A mixed system: small radii (2–12px) for most UI, large (18px) for pills, 50% for circles/avatars.

Notable:

  • 18px for pill buttons.
  • 28px for large rounded buttons.
  • 50% for avatars, icons, circular buttons.

Shadows

Rare. Values are subtle:

  • rgba(0,0,0,0.1) 0px 8px 23px — soft drop.
  • Multiple-layer shadows for elevation (rgba(0,0,0,0.16) 0px 2px 5px, rgba(0,0,0,0.2) 0px 3px 6px).

This is mostly flat design — depth is minimal.

Borders

Mostly 1px solid black or rgba black. Functional dividers.


6. Components

6.1 Buttons

Variant 1 (yt-spec-button-shape-next)
Default: rgba(0,0,0,0.05) bg, #0f0f0f text, 18px radius, 0px border. Hover: #e5e5e5 bg, scale(1.67). Active: white text, 0.5 opacity, scale(0.94). Focus: black bg, white text, 2px white border.

Variant 2 (ytSearchboxComponentSearchButton)
Default: #f8f8f8 bg, 0px/40px radius, 1px #d3d3d3 border. Hover: #e5e5e5 bg, #c6c6c6 border. Same active/focus as above.

Variant 3 (yt-spec-button-shape-next with blue)
Default: transparent bg, #065fd4 text, 18px radius, 1px rgba black border. Hover: #2266cc bg, black text. Active: white text, 0.5 opacity. Focus: black bg, white text, white border.

Variants:

  • Black (#0f0f0f) text, no underline.
  • Dark gray (#030303) text.
  • Blue (#065fd4) text, medium weight.
  • Gray (#606060) text.

Hover: color inherits, no underline.

6.3 Forms

Text inputs: Transparent bg, black text, no border. Focus: overlay bg, 2px solid call-to-action color, border color = secondary text.

6.4 Cards

No explicit card data, but radii suggest 8–12px corners, minimal shadows.


7. Design Tokens

:root {
  /* Colors */
  --color-primary-black: #000000;
  --color-near-black: #0f0f0f;
  --color-light-gray: #eeeeee;
  --color-medium-gray: #606060;
  --color-action-blue: #065fd4;
  --color-light-neutral-gray: #e3e3e3;
  --color-white: #ffffff;
  --color-dark-blue: #005fcc;
  --color-very-light-gray: #f0f0f0;
  --color-mid-gray: #c6c6c6;
  --color-brand-red: #ff0000;
  --color-static-brand-red: #ff0033;
  --color-brand-medium-red: #cc0000;
  --color-brand-red-contrast: #c30027;
  --color-enabled-send-button-blue: #4285f4;
  --color-light-accent-pink: #ff80ab;
  --color-dark-accent-pink: #f50057;
  --color-primary-indigo: #3f51b5;
  --color-accent-pink: #ff4081;
  --color-error-orange: #dd2c00;
  --color-dark-theme-bg: #212121;
  --color-light-primary-indigo: #c5cae9;
  --color-dark-primary-indigo: #303f9f;
  --color-live-chat-sponsor-green: #107516;
  --color-live-chat-moderator-blue: hsl(225,84%,66%);
  --color-live-interactivity-bg: #264c8a;

  /* Typography */
  --font-youtube-noto: "YouTube Noto", Roboto, Arial, Helvetica;
  --font-youtube-sans: "YouTube Sans", Roboto;
  --font-roboto: Roboto, Arial;
  --font-arial: Arial;

  /* Spacing */
  --space-1: 1px;
  --space-2-5: 2.5px;
  --space-4: 4px;
  --space-5: 5px;
  --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-18: 18px;
  --space-20: 20px;
  --space-24: 24px;
  --space-32: 32px;
  --space-50: 50px;
  --space-56: 56px;
  --space-100: 100px;
  --space-120: 120px;

  /* Radius */
  --radius-sm: 2px;
  --radius-md: 4px;
  --radius-lg: 8px;
  --radius-xl: 10px;
  --radius-xxl: 12px;
  --radius-pill: 18px;
  --radius-full: 50%;

  /* Shadows */
  --shadow-soft: rgba(0,0,0,0.1) 0px 8px 23px 0px;
  --shadow-medium: rgba(0,0,0,0.16) 0px 2px 5px, rgba(0,0,0,0.2) 0px 3px 6px;
}

8. AI Coding Assistant Prompt

# YouTube Design System Specification

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

## Brand Context
YouTube's UI is utilitarian, content-first, and neutral. Black and white define the frame, with red as the brand anchor and blue for actions. Shadows are rare, borders are functional.

## Color Palette
- Primary Black: #000000 — Backgrounds, text
- Near Black: #0f0f0f — Surfaces, buttons
- Light Gray: #eeeeee — Text on dark, icons
- Medium Gray: #606060 — Secondary text
- Action Blue: #065fd4 — Links, CTAs
- Dark Blue: #005fcc — Hover/focus actions
- White: #ffffff — Text on dark, surfaces
- Brand Red: #ff0000 — Logo, play icons
- Static Brand Red: #ff0033 — Brand states
- Brand Medium Red: #cc0000 — Darker variant
- Brand Red Contrast: #c30027 — Contrast text
- Enabled Send Button Blue: #4285f4 — Live chat send
- Error Orange: #dd2c00 — Error states
- Light Accent Pink: #ff80ab — Light theme accent
- Dark Accent Pink: #f50057 — Dark theme accent
- Primary Indigo: #3f51b5 — Theme color
- Accent Pink: #ff4081 — Links/highlights
- Dark Theme Background: #212121 — Dark mode bg

## Typography
Fonts:
- Headings: "YouTube Noto", Roboto, Arial, Helvetica
- Body: Roboto, Arial
- UI Labels: "YouTube Sans", Roboto

Type Sizes:
| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 23.98px | 500 | 1.30 | Page titles |
| H1 | 20px | 700 | — | Section headings |
| Body | 14px | 400 | 1.43 | Paragraphs |
| Button | 14px | 500 | 1.30 | CTAs |
| Caption | 12px | 400 | 1.30 | Labels |

## Spacing & Grid
Base: 8px grid.
Scale: 4px, 8px, 12px, 16px, 20px, 24px, 32px, 50px, 100px.

## Border Radius
- none: 0 — tables
- sm: 2px — inputs
- md: 4px — small cards
- lg: 8px — cards, modals
- xl: 10px — navigation items
- pill: 18px — buttons
- full: 50% — avatars

## Shadows & Depth
Mostly flat. Use:
- Soft: rgba(0,0,0,0.1) 0px 8px 23px
- Medium: rgba(0,0,0,0.16) 0px 2px 5px, rgba(0,0,0,0.2) 0px 3px 6px

## Components

### Primary Button
```css
.btn-primary {
  background: rgba(0,0,0,0.05);
  color: #0f0f0f;
  padding: 0 16px;
  border-radius: 18px;
  font-weight: 500;
  font-size: 14px;
  border: none;
}
.btn-primary:hover { background: #e5e5e5; transform: scale(1.67); }
.btn-primary:focus { background: #0f0f0f; color: #fff; border: 2px solid #fff; }
.btn-primary:active { opacity: 0.5; transform: scale(0.94); }
```

### Secondary Button
```css
.btn-secondary {
  background: #f8f8f8;
  color: #0f0f0f;
  border-radius: 0 40px 40px 0;
  border: 1px solid #d3d3d3;
}
.btn-secondary:hover { background: #e5e5e5; border-color: #c6c6c6; }
```

### Input Field
```css
.input {
  background: transparent;
  color: #0f0f0f;
  border: none;
  padding: 1px 0;
}
.input:focus {
  background: var(--yt-spec-overlay-tonal-hover);
  border: 2px solid var(--yt-spec-call-to-action);
}
```

## Layout & Responsive Rules
No fixed max width. Fluid grid across breakpoints from 2px to 2244px.

## Interaction Rules
- Transition: 150ms ease for hover/active states
- Focus: 2px border in white or action color

## DO List
- Use only colors from palette
- Maintain 8px grid
- Reserve red for brand anchors
- Blue for actions
- Keep shadows subtle

## DON'T List
- No custom colors
- No heavy shadows
- Don’t mix sharp and rounded corners in same component
- Don’t underline links

## Code Examples
See above for button and input CSS.

9. Summary

TL;DR — YouTube’s design system is black-and-white scaffolding with red for brand and blue for action. It’s dense, responsive to extremes, and keeps decorative elements minimal.

Brand Keywords:

  • content-first
  • neutral-framework
  • brand-red
  • action-blue
  • flat-functional