BrandToPrompt

Googleblog Design System: Clean Accessible UI Language

Visit Site

Explore Googleblog's design system - colors, typography, and grid specs. Build content-first, accessible UIs with Google's visual language.

6 min read1,177 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Google Sans
Secondary Font
roboto

Design Style

Style
minimalist with restrained color use, soft shadows, and disciplined typography
Visual Density
airy layout with 8px grid and generous neutral whitespace
Border Style
mixed: 4px inputs, 8px cards, 48px pill buttons, 50% avatars

Full Analysis

Googleblog Design System Deep Dive

1. Brand Overview

Googleblog (https://blog.google/) is Google’s official blog property — the place where the company talks to the world about product launches, policy moves, technical achievements, and cultural commitments. The design is exactly what you’d expect from Google: clean, accessible, and built on a disciplined system. It’s not playful like YouTube’s UI, and it’s not overly corporate like Google Cloud. It sits in the middle — approachable but professional.

The vibe is “Google’s voice, but in long-form.” Typography is crisp. Color is restrained. The grid is predictable. This isn’t a marketing microsite — it’s a content hub. The design system prioritises readability and clarity. Headlines stand out, but nothing screams for attention. The primary blue (#1a73e8) is used surgically — links, CTAs, and active states — not splashed everywhere. Neutrals dominate the canvas.

This design feels like it’s speaking to the general public, journalists, and industry watchers. It’s a place where the brand must be trustworthy and legible. The system is built for scale: hundreds of articles, multiple languages, consistent modules. They’ve leaned on Vuetify (284 v- components detected), so the implementation inherits Vuetify’s material-like spacing, breakpoints, and component logic — but softened and “Google-fied” with Google Sans and their color tokens.

I like how disciplined it is. There’s no visual noise. Even the hover states are subtle, relying on underline changes and slight color shifts. It’s a content-first design system with enough brand in it to be recognisable without overpowering the words.


2. Color System

2.1 Primary Colors

The semantic primary is rgb(26, 115, 232) / #1a73e8 — the Google Blue you’ve seen in Gmail buttons and Google Search links. It’s bright enough to be noticed, dark enough for white text to pass WCAG AA contrast. This blue is associated with trust, stability, and action in Google’s ecosystem. Compared to Facebook’s #1877f2, it’s slightly lighter and less saturated. It feels friendlier.

The blue is paired with a darker hover/active shade (#174ea6 and #1967d2) for interaction depth. They don’t use gradients — flat fills only.

2.2 Complete Palette

Color NameHexRoleUsage
Neutral Gray#5f6368Secondary textHeaders, body copy, meta info
Primary Blue#1a73e8Primary actionLinks, CTAs, active states
Dark Gray#202124Main text / dark UI elementsBody text in dark sections
Mid Gray#414141Neutral elementsIcons, dividers
Light Gray#757575Secondary UI textCaptions, placeholder text
White#ffffffBackground, text on bluePage background, button text
Black#000000Strong textHeadlines, emphasis
Divider Gray#dadce0Borders, dividersCard outlines, input borders
Deep Blue#1967d2Button text / focusCTA text, focus states
Light Surface#efefefBackground fillSection backgrounds
Darker Blue#174ea6Hover statesLink/button hover color
Charcoal#323232Neutral dark UIFooter text, icons

2.3 Color Relationships

The palette is heavy on neutrals. Blue stands out because it’s the only chromatic accent. The accessibility story is solid: #1a73e8 on white yields a contrast ratio > 4.5:1 — good for WCAG AA. The darker blues (#1967d2, #174ea6) increase contrast further for hover/focus states.

Dark mode isn’t explicitly implemented here — the palette assumes light backgrounds. If they wanted dark mode, they’d invert the neutrals and swap blue usage to maintain contrast.

2.4 Usage Guide

  • Primary combos: #1a73e8 text on white, white text on #1a73e8 fills.
  • Hover combos: #174ea6 or #1967d2 against white for clarity.
  • Avoid: Putting blue text on #757575 or any low-contrast gray — readability drops.
  • Neutral layering: Light grays for surfaces, dark grays for text — don’t mix the two for text unless you’re indicating disabled states.
  • Borders: Stick to #dadce0 or #5f6368 for lines — consistent with the rest of Google’s design language.

3. Typography

3.1 Font Families

Everything is set in Google Sans, Google’s proprietary geometric sans. Fallbacks are roboto, arial, helvetica. The site also loads Noto Color Emoji for emoji rendering.

Source: Google Fonts. No Adobe Fonts, no variable fonts here.

3.2 Type Scale

ElementFontSizeWeightLine HeightLetter SpacingTransform
Heading-1Google Sans36px (2.25rem)4001.22
Heading-1Google Sans28px (1.75rem)7001.29-0.5px
Heading-1Google Sans28px4001.29
Heading-1Google Sans22px (1.38rem)4001.27
LinkGoogle Sans22px4001.27
Heading-1Google Sans20px (1.25rem)4001.40
LinkGoogle Sans20px4001.40
ButtonGoogle Sans18px (1.13rem)3001.44
CaptionGoogle Sans14px (0.88rem)4001.71
CaptionGoogle Sans14px5001.570.388889pxuppercase
CaptionGoogle Sans12px (0.75rem)5001.631pxuppercase

(… dozens more sizes exist; the scale is dense, with many small variations between 14–20px for links, captions, and buttons.)

3.3 Hierarchy

They use a tight hierarchy: H1 at 36px, most subheads around 28px, body between 16–20px. Captions and meta at 12–14px. The scale supports both large hero headlines and dense lists without breaking rhythm. Letter-spacing tweaks (-0.5px for bold 28px) tighten uppercase headings. Uppercase captions at 12–14px add a clear visual break from body text.


4. Spacing & Layout

4.1 Spacing Scale

Base unit: 8px grid. Common values:

ValueCountUsage
1px84Borders, hairlines
8px135Small gaps, icon padding
14px104Text line spacing, tight margins
16px60Button padding, card gutters
24px27Section gaps
36px21Hero spacing
60px4Large section breaks
80px3Extra-large vertical spacing

4.2 Layout

Breakpoints are thorough: from 320px up to 1600px, with fine-grained stops (330px, 375px, 390px, etc.). This suggests careful tuning for multiple device widths — likely maintaining line lengths and grid alignment. Vuetify’s grid system drives responsiveness.


5. Visual Elements

Border Radius: Ranges from sharp (0px) to soft (8px) to pill (48px) and round (50%). Mapping:

  • 4px: Inputs, small buttons
  • 8px: Cards, images
  • 48px: Pill buttons
  • 50%: Avatars, social icons

Shadows: Minimal use. The most common is an inset shadow rgb(218, 220, 224) 0px -1px 0px 0px inset — subtle separation lines. When used, drop shadows are light and layered (rgba(60,64,67,...)), in Material style.

Borders: 1px solid #dadce0 or #5f6368 for inputs/cards. Occasionally 5px solid #1a73e8 for emphasis blocks.


6. Components

6.1 Buttons

Variant 1 — Newsletter CTA

  • Default: bg #1a73e8, text #ffffff, padding 13px 26px 11px, radius 4px, no shadow.
  • Hover: Odd — transform translateX(-4px) scaleX(-1) and opacity 0. Color shift to #174ea6.
  • Active: Outline 3px solid #174ea6, bg transparent, text #1a73e8.
  • Focus: Outline 2px solid #174ea6, bg transparent, text #174ea6.

Variant 2 — Round outline CTA

  • Default: transparent bg, text #1967d2, radius 48px.
  • Hover: bg #1a73e8, text white, border 2px solid #e8f0fe.
  • Active: bg #f6f9fe, outline 2px solid #174ea6.
  • Focus: Outline 2px solid #174ea6, box-shadow #7baaf7 0 0 0 3px.

Variant 3 — White pill

  • Default: bg white, text #1a73e8, border 1px solid #5f6368, radius 48px.
  • Hover: bg #1a73e8, text white.
  • Active/Focus: same focus rules as above.

Six styles, all no underline by default, underline on hover. Colors map to palette: primary blue, neutral gray, black, white, deep blue, dark gray. Hover always shifts to #174ea6.

6.3 Forms

Text inputs: bg white, border 1px solid #dadce0, radius 4px, padding 0 16px. Focus: border 0, outline 2px solid #174ea6, box-shadow rgba(49, 134, 255, 0.2) 0 0 5px 8px.

Select dropdowns: transparent bg, no border, padding right 24px. Focus: outline 2px solid #174ea6, box-shadow #7baaf7 0 0 0 3px.


7. Design Tokens (CSS Custom Properties)

:root {
  /* Colors */
  --color-primary: #1a73e8;
  --color-primary-dark: #1967d2;
  --color-primary-darker: #174ea6;
  --color-neutral-gray: #5f6368;
  --color-dark-gray: #202124;
  --color-mid-gray: #414141;
  --color-light-gray: #757575;
  --color-white: #ffffff;
  --color-black: #000000;
  --color-divider-gray: #dadce0;
  --color-light-surface: #efefef;
  --color-charcoal: #323232;

  /* Typography */
  --font-family-primary: "Google Sans", roboto, arial, helvetica;
  --font-family-emoji: "Noto Color Emoji";
  --font-size-h1: 36px;
  --font-size-h2: 28px;
  --font-size-body-lg: 20px;
  --font-size-body: 16px;
  --font-size-caption: 14px;
  --font-size-caption-sm: 12px;

  /* Spacing */
  --space-1: 1px;
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-14: 14px;
  --space-16: 16px;
  --space-24: 24px;
  --space-36: 36px;
  --space-60: 60px;
  --space-80: 80px;

  /* Radius */
  --radius-none: 0px;
  --radius-sm: 4px;
  --radius-md: 8px;
  --radius-pill: 48px;
  --radius-round: 50%;

  /* Shadows */
  --shadow-inset-divider: rgb(218, 220, 224) 0px -1px 0px 0px inset;
  --shadow-material-light: rgba(60, 64, 67, 0.25) 0px 1px 4px 0px, rgba(60, 64, 67, 0.3) 0px 1px 2px 0px;
}

8. AI Coding Assistant Prompt

# Googleblog Design System Specification

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

## Brand Context
Googleblog is Google's official blog platform. It values clarity, trust, and accessibility. The design is content-first, with restrained color use and disciplined typography.

## Color Palette
- Primary Blue: #1a73e8 — Links, CTAs, primary actions
- Primary Dark: #1967d2 — Button text, focus states
- Primary Darker: #174ea6 — Hover states
- Neutral Gray: #5f6368 — Secondary text
- Dark Gray: #202124 — Body text in dark sections
- Mid Gray: #414141 — Icons, dividers
- Light Gray: #757575 — Captions, placeholders
- White: #ffffff — Backgrounds, text on blue
- Black: #000000 — Headlines, emphasis
- Divider Gray: #dadce0 — Borders, dividers
- Light Surface: #efefef — Section backgrounds
- Charcoal: #323232 — Footer text, icons

## Typography
Font families:
- Primary: "Google Sans", roboto, arial, helvetica
- Emoji: "Noto Color Emoji"

| Level      | Size  | Weight | Line Height | Use For               |
|------------|-------|--------|-------------|-----------------------|
| H1         | 36px  | 400    | 1.22        | Page titles           |
| H2         | 28px  | 700    | 1.29        | Section headings      |
| H2-light   | 28px  | 400    | 1.29        | Subheadings           |
| Body-lg    | 20px  | 400    | 1.40        | Article body          |
| Body       | 16px  | 400    | 1.75        | UI body text          |
| Button     | 16px  | 500    | 1.50        | CTA buttons           |
| Caption    | 14px  | 400    | 1.71        | Meta info             |
| Caption-sm | 12px  | 500    | 1.63        | Uppercase labels      |

## Spacing & Grid
Base: 8px grid.
Scale: 1px, 2px, 4px, 8px, 14px, 16px, 24px, 36px, 60px, 80px.
Use multiples of 8px for component padding, margins, and gaps.

## Border Radius
- none: 0px — tables, sharp edges
- sm: 4px — inputs, small buttons
- md: 8px — cards, images
- pill: 48px — pill buttons
- round: 50% — avatars, circular icons

## Shadows & Depth
- Inset divider: rgb(218, 220, 224) 0px -1px 0px 0px inset
- Material light: rgba(60, 64, 67, 0.25) 0px 1px 4px, rgba(60, 64, 67, 0.3) 0px 1px 2px

## Component Specifications

### Primary Button (Newsletter CTA)
Default: bg #1a73e8, color #ffffff, padding 13px 26px 11px, radius 4px, border none.
Hover: color #174ea6, transform translateX(-4px) scaleX(-1), opacity 0.
Active: outline 3px solid #174ea6, bg transparent, color #1a73e8.
Focus: outline 2px solid #174ea6, bg transparent, color #174ea6.

### Secondary Button (Round Outline CTA)
Default: transparent bg, color #1967d2, radius 48px, border 1px transparent.
Hover: bg #1a73e8, color #ffffff, border 2px solid #e8f0fe.
Active: bg #f6f9fe, outline 2px solid #174ea6, color #174ea6.
Focus: outline 2px solid #174ea6, box-shadow #7baaf7 0 0 0 3px.

### White Pill Button
Default: bg #ffffff, color #1a73e8, border 1px solid #5f6368, radius 48px.
Hover: bg #1a73e8, color #ffffff, border 2px solid #e8f0fe.
Active/Focus: same as Secondary Button.

### Navigation Links
Default: palette color, no underline.
Hover: underline, color #174ea6.

### Input Fields
Default: bg #ffffff, color #5f6368, border 1px solid #dadce0, radius 4px, padding 0 16px.
Focus: bg transparent, outline 2px solid #174ea6, box-shadow rgba(49, 134, 255, 0.2) 0 0 5px 8px.

### Cards
bg #ffffff, radius 8px, border 1px solid #dadce0, padding 16px or 24px depending on context.

## Layout & Responsive Rules
Breakpoints: 320px, 375px, 414px, 600px, 768px, 1024px, 1280px, 1440px, 1600px.
Maintain max content width appropriate to viewport, padding 16px mobile, 24–36px desktop.

## Interaction Rules
Transitions ~150ms ease for state changes.
Focus indicators visible with 2px outline in #174ea6.
Hover states must adjust color and underline only — no drastic animations.

## DO List
- Use ONLY colors from the palette.
- Maintain 8px grid for spacing.
- Use Google Sans for all text.
- Keep buttons and inputs consistent with radius tokens.
- Respect focus outlines for accessibility.

## DON'T List
- Don't introduce new colors.
- Don't mix sharp and rounded corners in one component.
- Don't remove hover underline from links.
- Don't apply heavy drop shadows — keep subtle.

## Code Examples

### Primary Button
```css
.btn-primary {
  background: #1a73e8;
  color: #ffffff;
  padding: 13px 26px 11px;
  border-radius: 4px;
  font-weight: 300;
  font-size: 16px;
  border: none;
  transition: all 150ms ease;
}
.btn-primary:hover {
  color: #174ea6;
  transform: translateX(-4px) scaleX(-1);
  opacity: 0;
}
.btn-primary:focus {
  outline: 2px solid #174ea6;
  background: transparent;
  color: #174ea6;
}
```

### Input Field
```css
.input {
  background: #ffffff;
  color: #5f6368;
  border: 1px solid #dadce0;
  border-radius: 4px;
  padding: 0 16px;
}
.input:focus {
  background: transparent;
  outline: 2px solid #174ea6;
  box-shadow: rgba(49, 134, 255, 0.2) 0 0 5px 8px;
}
```

### Card
```css
.card {
  background: #ffffff;
  border-radius: 8px;
  border: 1px solid #dadce0;
  padding: 24px;
}
```

9. Summary

TL;DR — Googleblog’s design system is restrained, readable, and built for scale. Blue is for actions, neutrals for everything else. Typography is Google Sans with a dense scale. Spacing sticks to an 8px grid. Components are Vuetify-driven and accessibility-conscious.

Brand Keywords: trust-first, content-prioritised, disciplined-modern, google-consistent