design system
All design systems Rebuilt screens

YouTube design system

YouTube on the desktop web, in its 2025–26 look: the home feed with topic chips, the new player with round "glass" pills, search, channels and Shorts. Every colour, size, type style and icon here was read from youtube.com itself on 14 Oct 2026 (signed out, public pages, in YouTube's own Light and Dark themes). No real thumbnail, face, title or comment is copied: pictures are generated stand-ins and every name is made up.

real = read from YouTube's own page or CSSmeasured = read from our screenshotsest. = our best guessours = our design where YouTube shows nothing

YouTube at a glance

A content-first, almost colourless frame. White page (near-black #0F0F0F in dark), one font (Roboto), grey 5% "washes" for every chip and button, and only two strong colours: the red of the logo and progress bar, and the blue of links. The pictures (thumbnails) carry all the colour. Hovers fade in over 0.45 s; presses answer in 40 ms.

What you notice first

Pictures do the talking. The grid is three big 16:9 thumbnails per row with 12 px round corners. Text under them is small and grey, so your eye goes to the picture first.
Chips steer the feed. A row of 32 px grey chips ("All", "Flour", "Live"…) sits under the top bar. The chosen chip turns black. One tap re-sorts the whole feed.
A softer player. The 2025 player puts its controls in frosted, round "pills" floating over the video, with the progress bar split into chapters and a red-to-pink fill.

Product screens

Left: the redacted original (our own screenshot of youtube.com; every picture covered, creator text blurred, because we never copy real thumbnails or faces). Right: our copy, built only from this design system. The copies work: open one to switch chips, play the video, like, subscribe, comment, search and swipe Shorts. The Dark theme button at the top also switches every copy here.

How to read the scores. "All pixels" counts every pixel within 24 of 255 per colour against the real (private) screenshot. Our copies use stand-in pictures, so the big picture areas can never match. "UI only" covers the pictures in both and scores only the frame, text and controls. "Edges" counts only text, icon and line pixels; it drops fast when words differ, and every word under a picture is made up on purpose. All six copies in one place: YouTube screens.

Try it: mini YouTube

A small working YouTube built only from this design system. Pick a chip to re-sort the feed, point at a card, open the ⋮ menu, click a card to watch it (play / pause, seek, like, subscribe, save with Undo), search, and go back. It follows the page's light/dark switch. For the full-size copies see the six screens.

Colours

YouTube names its colours by job, not by hue: --yt-sys-color-baseline--text-primary, --additive-background, --call-to-action. In 2026 these replaced the old --yt-spec-* names. The tables are read live from our token file, in both themes at once.

The roles you will use real

Every YouTube colour token (203) real

Each square is split: left half light, right half dark. Click a row to copy the token name. Many tokens are for the keyboard, live chat or Premium add-ons and never show on the screens we copied.

Type

One family: Roboto (free, open licence) in 400, 500 and 700. YouTube's type tokens come in families (body, title, headline, action, display) with sizes from 10 to 64 px; the screens use only a handful. The player asks for "YouTube Noto" and big display text for "YouTube Sans"; neither is openly licensed, so Roboto stands in.

Roboto 400
Aa Gg
body, meta, guide
Roboto 500
Aa Gg
titles, chips, buttons
Roboto 700
Aa Gg
watch title, shelf heads
Roboto 900
Aa Gg
"heavy" tokens

YouTube writes sizes in rem on a 10 px root (html font-size 62.5%): 1.4rem = 14 px. The stack is Roboto, Arial, sans-serif real. Text is drawn with grey (not colour) antialiasing because the page lives on GPU layers measured.

Icons

The real drawings YouTube puts inline on its pages: a 24 px outline set for the frame and buttons, a filled version when chosen (Home, Shorts), 12–18 px versions for metadata, and the player's own set (36-unit grid). Click any icon to copy its name; Copy SVG copies the drawing. Study use only.

Shape & space

Round, but not bubbly: 4 px badges, 8 px chips, 10 px guide rows, 12 px thumbnails and menus, full pills for buttons and player controls. Space follows a 4 px grid (YouTube's own --ytd-margin-*x steps) and its --yt-sys-measurement--* tokens.

Space steps real

Heights and sizes real

Shadows & glass

YouTube is almost flat. Only menus and the round shelf arrows float. Instead of shadows it uses frosted glass: the top bar is 90% white with a 48 px blur, and the player pills are 30% black with a 16 px blur.

Components

Live and clickable, drawn with the real kit classes in youtube.css. Point, click and use the keyboard. Copy for Figma on each part copies it as an SVG: paste it into Figma and it becomes editable shapes and text.

States & motion

One rule for every control: a grey wash on hover (5% → 10% on tonal parts), a stronger one when pressed (20%), a 2 px outline in the text colour for keyboard focus, and black (or white in dark) when chosen. Each state is frozen below so you can compare them without pointing.

Motion real

YouTube eases in slowly and answers presses fast. Press Play to see each one at its real speed.

Motion tokens

With "reduce motion" switched on in the computer's settings, the kit turns every transition off.

Dark mode

YouTube's Dark theme is real and complete: every token has a dark value, read live after switching YouTube's own Appearance menu. The page is #0F0F0F (not pure black), text #F1F1F1, muted #AAAAAA, washes turn white (10% / 20%), links turn light blue, and the watch page adds Ambient mode: a soft glow in the video's colours behind the player.

What is real and what is ours

PartDark valueWhere it came from
Page, text, muted text#0F0F0F · #F1F1F1 · #AAAYouTube's tokens in its Dark theme real
Chips, tonal buttonsrgba(255,255,255,.1) → .2tokens real
Subscribe, chosen chip#F1F1F1 with #0F0F0F texttokens real
Menus#282828menu-background real
Search box#121212, border #303030YouTube's dark search CSS real
Guide lines#3F3F3Fmeasured on the dark screenshot measured
Ambient glowblurred video, about 55%YouTube draws it on a canvas; our blur and strength are matched by eye est.
Tooltipgrey #616161, 90%not captured live est.

Signed out, YouTube's Appearance menu offers only Light and Dark ("applies to this browser only"). Switching your computer to dark did not change it.

Do & don't

Checked against YouTube's own screens. The small label after each rule names the Law of UX behind it; click it to jump there. A red bullet marks a place where YouTube itself falls short.

Do

  • Let the content carry the colour. Keep the frame grey and white so pictures stand out. Selective attentionAesthetic-usability
  • Offer one row of chips to re-sort a long feed, with the chosen chip in solid black. Hick's lawChunking
  • Put the same three facts under every card (who, how many views, how long ago) in the same place. SimilarityJakob's law
  • Show progress where the eye is: a red line on watched thumbnails, chapter segments on the player bar. Goal-gradientZeigarnik
  • Group controls into pills (play, volume, time, settings) so the player stays readable over any video. Common regionProximity
  • Answer every press fast (40 ms wash) and confirm saves with a short toast and Undo. DohertyPeak-end

Don't

  • Don't add colour to the frame. YouTube's only loud colours are its red logo and the progress bar. Von Restorff
  • Don't mix ads into the feed in the same shape as real items. YouTube's sponsored cards look almost like videos ("Sponsored" in small text). Selective attentionMental model
  • Don't hide useful actions behind hover. Save and the ⋮ menu on up-next cards appear only when you point. Fitts's law
  • Don't let an endless feed swallow people. Infinite scroll and autoplay work against a clear "done". FlowPeak-end
  • Don't use pale grey text on photos. Small metadata (#606060 at 12 px) is fine on white but weak on tinted strips. Fitts's law

UX principles, in plain words

The rules behind YouTube's feel, and why they matter for a sales tool too. All 29 laws are checked one by one in the scorecard below.

The content is the interface

Selective attention · Aesthetic-usability

Make the thing people came for the biggest and most colourful part of the screen.

YouTube: thumbnails take about 70% of a card; the frame is white and grey.

One tap to narrow down

Hick's law · Chunking

Give a few big, obvious filters instead of a form.

YouTube: topic chips on home, result-type chips on search.

Show what is half done

Zeigarnik · Goal-gradient

Unfinished things should look unfinished, with the finish line in sight.

YouTube: red "watched" bars on thumbnails, chapter segments, "Up next" with autoplay.

Fast, forgiving feedback

Doherty threshold · Peak-end

React at once; let people undo instead of asking "Are you sure?".

YouTube: 40 ms press wash, "Saved to Watch later · Undo" toast, like counts update instantly.

Hide the rare, keep the common

Pareto · Tesler's law

The 20% of controls people use most sit in view; the rest go in one menu.

YouTube: play, volume, time and full screen in pills; speed, quality and sleep timer in the settings menu.

Same shape, same meaning

Similarity · Jakob's law

If two things look alike they should work alike, everywhere.

YouTube: every video card has picture, avatar, title, channel, views, age, in the same order.

Contrast & accessibility

Each pair is measured live from the token file, in both themes at once. Text needs 4.5:1 (big text 3:1). Icons and outlines need 3:1.

Accessibility checklist

Tick as you check a screen. Your ticks are saved in this browser.

Laws of UX scorecard

All 29 laws from lawsofux.com, each checked against YouTube's real screens. Every card says what the law means in plain words, what YouTube really does, and what AltLeads should take from it. Click a coloured bar to jump to a law, or filter by result.

UI is the look. UX is how it works and feels.
We copy the look (UI) to learn the feel (UX). The laws explain why one screen feels easy and another feels heavy.
Looks still count.
People believe a polished screen is easier to use. That is why we copy every size, state and timing.
Rules of thumb, not maths.
Use the laws to explain and check a design, then confirm with real callers using AltLeads.

Lessons for AltLeads

AltLeads is a sales CRM: a caller works through a feed of leads, filters it, tracks progress and gets "what next" suggestions. That is YouTube's home page, player and up-next, for sales.

Chips over the lead list"All · New · Hot · Callback today · No answer · Meeting set". One row, 32 px, the chosen one solid. Scroll arrows when they overflow. No filter form for the common cases.
A lead card that reads like a video cardCompany logo or initials (the "thumbnail"), then name, owner, and two grey facts ("Called 2×", "3 d ago") in the same order on every card.
Progress on the cardA thin red bar at the bottom of a lead card, like YouTube's "watched" bar, showing how far the lead is through the stages.
Call controls as pillsDuring a call: Mute, Hold, Timer, Notes and End in rounded pill groups, like the 2025 player. Rare options (recording, transfer) in one settings menu.
"Up next" for leadsA side list of the next best leads with the reason in grey ("Opened your email 2 h ago"). With "autoplay" on, the next lead opens when you log the call.
Chapters for a call scriptSplit the call bar into stages (Opener, Need, Pitch, Close) like the player's chapter segments; the current stage name sits in a pill.
Toasts with Undo"Lead moved to Lost · Undo" at the bottom left for 4 s instead of "Are you sure?".
Quick feedback on suggestionsA like / dislike pair on each suggested lead teaches the recommender, as YouTube's "Not interested" does.
Skip: the endless feed (callers need a clear end of day: "12 of 40 calls done"), autoplay that starts the next lead without a pause, hover-only actions, and ads or sponsored rows that look like real items.

Copy & use

Add these files to any HTML page, then use the classes. Put yt-dark on <html> for the Dark theme (or yt-dark-scope on one part). Icons: <svg data-i="like"> is filled in by the kit.

<link rel="stylesheet" href="youtube/youtube-tokens.css">  <!-- 203 real colours light + dark, type, sizes, motion -->
<link rel="stylesheet" href="youtube/youtube.css">         <!-- parts: yt-chip, yt-btn, yt-lockup, yt-player ... -->
<body class="yt-root">
<script src="youtube/youtube-icons.js"></script>           <!-- 76 real YouTube icons + the logo -->
<script src="youtube/youtube-kit.js"></script>             <!-- YT.svg, YT.ph, YT.av, YT.tips, YT.toast, YT.menu -->

<button class="yt-chip" aria-pressed="true">All</button>
<button class="yt-btn m filled">Subscribe</button>
<button class="yt-btn m tonal"><svg data-i="share"></svg>Share</button>
<button class="yt-ib" aria-label="More actions" data-tip="More actions"><svg data-i="more_vert"></svg></button>

<script>
  YT.tips(document);                                          // grey tooltips for every [data-tip]
  YT.toast('Saved to Watch later', 'Undo', undoFn);            // bottom-left toast
  YT.menu(button, [{ label: 'Save to playlist', icon: 'save', run: fn }, '-', { label: 'Report', icon: 'flag' }]);
  el.innerHTML = YT.ph('any-seed');                            // a stand-in picture (never a real thumbnail)
</script>
Open the token fileOpen the component CSS

Sources & gaps

Everything came from youtube.com, signed out, 14 Oct 2026, in a fresh throwaway browser profile (deleted after). No sign-in, no bot check, no cookie notice in our region. Full notes: inspiration/youtube/NOTES.md.

WhatStatusSource
Colours, light + darkreal203 --yt-sys-color-baseline--* tokens read live in YouTube's own Light and Dark themes
Type scale, sizesrealYouTube's typestack and measurement tokens, plus computed styles of ~150 parts per page
Component valuesreal + measuredYouTube's stylesheets (kevlar_base 3.7 MB, www-player.css) and live element boxes; a few by eye
FontrealRoboto (open licence). YouTube Sans and YouTube Noto are not openly licensed, so not copied
Icons, logorealInline SVG read from the pages (76 icons). Trademarks of Google; study use only
Motionreal + est.Times and curves from YouTube's CSS; tooltip delay and control auto-hide estimated
Screens12 targetsOur own 1440 × 900 screenshots, light + dark, kept private. Only redacted copies are in the project

Honest gaps

  • Signed out only: no signed-in top bar (avatar, Create, notifications), no subscriptions feed, no Studio, no real comment posting.
  • Pictures are stand-ins, so "all pixels" scores stay low; read the "UI only" scores for how well the frame matches.
  • The tooltip, the "Subscribed" button and the share dialog were not captured live; they follow YouTube's CSS defaults and are marked est.
  • Ambient mode's glow is drawn by YouTube from the real video; ours blurs the stand-in picture, so its colours differ.
  • Shorts showed two layouts (details inside the video, or to its left). Both are copied; we do not know which one is the default.
  • No phone (mobile web, m.youtube.com) or TV layouts were collected.