← Back to all designs

Miro

Miro presents itself as the AI-powered visual workspace through a confident, almost playful brand voice — anchored by its signature canary yellow ({colors.brand-yellow}) wordmark over white canvas, broken open by colorful pastel feature tints (rose, teal, coral, orange, mint) that echo the actual sticky-note color palette used on the live whiteboard. Black-pill primary buttons dominate marketing,

Homepage Example

Welcome to Miro

A modern, elegant design system built for the digital age. Clean lines, thoughtful spacing, and purposeful color choices define every interaction.

Get Started Learn More

Pixel Perfect

Every element is carefully crafted to ensure consistency across all platforms and devices.

Design Tokens

A comprehensive token system that makes scaling and maintaining your design effortless.

Built for Teams

Collaborate seamlessly with designers and developers using a shared design language.

Color Palette (40)

primary#1c1c1e
on-primary#ffffff
brand-yellow#ffd02f
brand-yellow-deep#fcb900
yellow-light#fff4c4
yellow-dark#746019
brand-blue#4262ff
blue-450#5b76fe
blue-pressed#2a41b6
brand-coral#ff9999
coral-light#ffc6c6
coral-dark#600000
brand-rose#ffd8f4
rose-light#fde0f0
brand-pink#fde0f0
brand-teal#0fbcb0
teal-light#c3faf5
moss-dark#187574
brand-orange-light#ffe6cd
brand-red#fbd4d4
brand-red-dark#e3c5c5
success-accent#00b473
canvas#ffffff
surface#f7f8fa
surface-soft#fafbfc
surface-yellow#fff8e0
surface-pricing-featured#f5f3ff
hairline#e0e2e8
hairline-soft#eef0f3
hairline-strong#c7cad5
ink-deep#050038
ink#1c1c1e
charcoal#2c2c34
slate#555a6a
steel#6b6f7e
stone#8e91a0
muted#a5a8b5
on-dark#ffffff
on-dark-muted#a5a8b5
footer-bg#1c1c1e

Typography (18)

Miro
hero-display80px · weight 500
Miro
display-lg60px · weight 500
Miro
heading-148px · weight 500
Miro
heading-236px · weight 500
Miro
heading-328px · weight 500
Miro
heading-422px · weight 500
Miro
heading-518px · weight 500
Miro
subtitle18px · weight 400
Miro
body-md16px · weight 400
Miro
body-md-medium16px · weight 500
Miro
body-sm14px · weight 400
Miro
body-sm-medium14px · weight 500
Miro
caption13px · weight 400
Miro
caption-bold13px · weight 600
Miro
micro12px · weight 500
Miro
micro-uppercase11px · weight 600
Miro
button-md14px · weight 500
Miro
stat-display64px · weight 500

Components (48)

button-primary
button-primary
button-primary-pressed
button-primary-pressed
button-primary-disabled
button-primary-disabled
button-yellow
button-yellow
button-blue
button-blue
button-secondary
button-secondary
button-on-dark
button-on-dark
button-ghost
button-ghost
button-link
button-link
button-icon-circular
button-icon-circular
card-base
card-base
card-feature
card-feature
card-feature-yellow
card-feature-yellow
card-feature-coral
card-feature-coral
card-feature-teal
card-feature-teal
card-feature-rose
card-feature-rose
card-customer-story
card-customer-story
card-stat
card-stat
pricing-card
pricing-card
pricing-card-featured
pricing-card-featured
pricing-card-enterprise
pricing-card-enterprise
text-input
text-input
text-input-focused
text-input-focused
search-pill
search-pill
filter-dropdown
filter-dropdown
pill-tab
pill-tab
pill-tab-active
pill-tab-active
toggle-monthly-yearly
toggle-monthly-yearly
badge-promo
badge-promo
badge-tag-yellow
badge-tag-yellow
badge-tag-purple
badge-tag-purple
badge-tag-coral
badge-tag-coral
badge-success
badge-success
badge-discount
badge-discount
promo-banner
promo-banner
comparison-table
comparison-table
comparison-row
comparison-row
template-card
template-card
whiteboard-mockup
whiteboard-mockup
faq-accordion-item
faq-accordion-item
logo-wall-item
logo-wall-item
hero-band-marketing
hero-band-marketing
cta-banner-dark
cta-banner-dark
industry-tile
industry-tile
capterra-badge
capterra-badge
footer-region
footer-region
footer-link
footer-link
app-store-badge
app-store-badge

Border Radius

xs (4px)
sm (6px)
md (8px)
lg (12px)
xl (16px)
xxl (20px)
xxxl (28px)
feature (32px)
full (9999px)

Design Philosophy

Overview

Miro positions itself as the AI-powered visual workspace through a confident, slightly playful brand voice. The homepage opens with a stark white canvas anchored by a small canary-yellow Miro wordmark in the top-left, a black-pill primary CTA "Get started free" and a secondary "Book a demo" outline pill — then dramatic real-Miro-board mockup imagery (sticky notes, kanban, mind maps) carries the visual weight. Across deeper surfaces, the system breaks open: pastel feature cards (rose, teal, coral, yellow) echo the actual sticky-note color palette of the live whiteboard product, and customer story cards reuse those tints to differentiate brand vignettes.

Roobert PRO — Miro's custom display face — anchors every typographic surface, from the 80px hero display down to 11px micro labels. The face's slightly rounded, geometric character pairs naturally with the playful product photography and the friendly product positioning. Black-pill primary buttons (`{rounded.full}`) dominate marketing CTAs; the brand color, signature canary yellow ({colors.brand-yellow}), is reserved for the wordmark, top promo banners, and "yellow tag" feature pills — never as a primary CTA. The 4-tier pricing comparison (Free / Starter / Business / Enterprise) leads into the densest surface in the system: a feature comparison table that runs ~80 rows deep across multiple section dividers.

**Key Characteristics:**

Colors

> Source pages: miro.com/ (homepage), /pricing/ (4-tier comparison), /products/ai-workflows/ (AI product), /agile/ (vertical landing), /customers/ (story directory). Token coverage was identical across all five pages.

Brand & Accent

Surface

Text

Semantic

Typography

Font Family

**Roobert PRO** (primary): Miro's custom geometric sans-serif typeface. Used across every UI surface from oversized 80px hero displays to 11px micro labels. The face has a slightly rounded, friendly character that matches the brand's playful product positioning. Fallbacks: Noto Sans, -apple-system, BlinkMacSystemFont, sans-serif.

Hierarchy

| Token | Size | Weight | Line Height | Letter Spacing | Use |

|---|---|---|---|---|---|

| `{typography.hero-display}` | 80px | 500 | 1.05 | -2px | Marketing hero ("See how teams get great done with Miro") |

| `{typography.display-lg}` | 60px | 500 | 1.10 | -1.5px | Major section openers |

| `{typography.heading-1}` | 48px | 500 | 1.15 | -1px | Page-level headlines |

| `{typography.heading-2}` | 36px | 500 | 1.20 | -0.5px | Subsection headlines |

| `{typography.heading-3}` | 28px | 500 | 1.25 | 0 | Card titles |

| `{typography.heading-4}` | 22px | 500 | 1.30 | 0 | Feature tile titles |

| `{typography.heading-5}` | 18px | 500 | 1.40 | 0 | FAQ questions, smaller cards |

| `{typography.subtitle}` | 18px | 400 | 1.50 | 0 | Hero subtitle |

| `{typography.body-md}` | 16px | 400 | 1.50 | 0 | Primary body text |

| `{typography.body-md-medium}` | 16px | 500 | 1.50 | 0 | Logo wall labels |

| `{typography.body-sm}` | 14px | 400 | 1.50 | 0 | Secondary body, table cells |

| `{typography.body-sm-medium}` | 14px | 500 | 1.50 | 0 | Filter dropdowns, button labels |

| `{typography.caption}` | 13px | 400 | 1.40 | 0 | Helper text |

| `{typography.caption-bold}` | 13px | 600 | 1.40 | 0 | Badge labels, tag chips |

| `{typography.micro}` | 12px | 500 | 1.40 | 0 | Footer microcopy |

| `{typography.micro-uppercase}` | 11px | 600 | 1.40 | 0.5px | Section dividers in tables |

| `{typography.button-md}` | 14px | 500 | 1.30 | 0 | Pill button labels |

| `{typography.stat-display}` | 64px | 500 | 1.10 | -1.5px | "100M+ users" stat callouts |

Principles

Layout

Spacing System

Grid & Container

Whitespace Philosophy

Marketing surfaces give content generous breathing room — `{spacing.hero}` (120px) hero padding gives the small wordmark room to breathe. Pricing surfaces tighten dramatically.

Elevation & Depth

The system runs predominantly flat with strategic depth on hero mockups.

| Level | Treatment | Use |

|---|---|---|

| 0 (flat) | No shadow; `{colors.hairline-soft}` border | Default cards, table rows, form inputs |

| 1 (subtle) | `rgba(5, 0, 56, 0.04) 0px 1px 2px 0px` | Subtle hover-elevated tiles |

| 2 (card) | `rgba(5, 0, 56, 0.06) 0px 4px 12px 0px` | Standard feature cards |

| 3 (mockup) | `rgba(5, 0, 56, 0.08) 0px 12px 32px -4px` | Hero whiteboard mockup framing |

| 4 (modal) | `rgba(5, 0, 56, 0.12) 0px 16px 48px -8px` | Modals, dropdowns |

Decorative Depth

Shapes

Border Radius Scale

| Token | Value | Use |

|---|---|---|

| `{rounded.xs}` | 4px | Small chips, micro-controls |

| `{rounded.sm}` | 6px | Discount badges |

| `{rounded.md}` | 8px | Inputs, search-pill |

| `{rounded.lg}` | 12px | Standard cards, table containers |

| `{rounded.xl}` | 16px | Pricing cards, feature panels |

| `{rounded.xxl}` | 20px | Larger feature cards |

| `{rounded.xxxl}` | 28px | Pastel feature cards (yellow, rose, coral, teal) |

| `{rounded.feature}` | 32px | Hero CTA banner cards |

| `{rounded.full}` | 9999px | All buttons, pill tabs, badges |

Photography Geometry

Components

> Per the no-hover policy, hover states are NOT documented. Default and pressed/active states only.

Buttons

**`button-primary`** — Black pill primary CTA, the dominant action ("Get started free").

**`button-yellow`** — Brand-yellow pill for moments of brand emphasis.

**`button-blue`** — Brand-blue pill for inline action callouts.

**`button-secondary`** — Outlined pill for secondary actions ("Book a demo").

**`button-on-dark`** — White pill for dark CTA banners.

**`button-ghost`** — Quieter rectangular ghost button.

**`button-link`** — Inline text link.

**`button-icon-circular`** — 36×36px circular utility button.

Cards & Containers

**`card-base`** — Standard content card.

**`card-feature`** — White feature card with larger 28px corners.

**`card-feature-yellow`** — Pastel-yellow feature card.

**`card-feature-coral`** — Pastel-coral feature card variant.

**`card-feature-teal`** — Pastel-teal feature card variant.

**`card-feature-rose`** — Pastel-rose feature card variant.

**`card-customer-story`** — Customer story card.

**`card-stat`** — Stat-row cell for "100M+ users".

**`pricing-card`** — Standard pricing tier card.

**`pricing-card-featured`** — Featured pricing tier (Business — lavender background + blue border).

**`pricing-card-enterprise`** — Dark-canvas enterprise tier card.

Inputs & Forms

**`text-input`** — Standard text field.

**`text-input-focused`** — Activated state.

**`search-pill`** — Search bar.

**`filter-dropdown`** — Pill-shaped filter dropdown ("Company use" / "Industry" / "Use case").

Tabs

**`pill-tab`** + **`pill-tab-active`** — Pill-style tab nav.

**`toggle-monthly-yearly`** — Two-state pill toggle (Monthly / Annual on pricing).

Badges & Status

**`badge-promo`** — Yellow promo banner badge.

**`badge-tag-yellow`** — Soft-yellow feature tag chip ("Yellow" tag on AI Workflows page).

**`badge-tag-purple`** — Lavender feature tag chip ("AI agent" tag).

**`badge-tag-coral`** — Coral feature tag chip variant.

**`badge-success`** — Green success indicator.

**`badge-discount`** — Yellow rectangular discount pill ("Save 15%").

**`promo-banner`** — Sticky black promo strip ABOVE the top nav.

Tables

**`comparison-table`** — Pricing feature comparison table.

**`comparison-row`** — Individual feature row.

Documentation Components

**`whiteboard-mockup`** — Real Miro-board UI rendered as feature illustration.

**`template-card`** — Template thumbnail card.

**`industry-tile`** — Industry-vertical tile.

**`faq-accordion-item`** — FAQ panel item.

**`logo-wall-item`** — Customer logo wordmark cell.

**`capterra-badge`** — Review/rating badge in the footer.

**`app-store-badge`** — App store / Google Play download pill.

Navigation

**Top Navigation (Marketing)** — Sticky white bar with yellow Miro wordmark + horizontal links + right-side CTAs.

Signature Components

**`hero-band-marketing`** — Marketing hero band.

**`cta-banner-dark`** — Dark CTA banner at the bottom of feature pages.

**`footer-region`** — Massive multi-column dark footer.

**`footer-link`** — Individual link in the footer.

Do's and Don'ts

Do

Don't

Responsive Behavior

Breakpoints

| Name | Width | Key Changes |

|---|---|---|

| Mobile (small) | < 480px | Single column. Hero scales to 36px. Pill nav collapses to hamburger. Pricing tiers stack 1-up. |

| Mobile (large) | 480 – 767px | Feature tiles 2-up. Hero scales to 48px. |

| Tablet | 768 – 1023px | 2-column feature grids. Pill-tab nav returns. |

| Desktop | 1024 – 1279px | 4-tier pricing card row. Customer story grid 2-up. Hero at 64px. |

| Wide Desktop | ≥ 1280px | Full hero presentation, 80px hero display. |

Touch Targets

Collapsing Strategy

Image Behavior

Iteration Guide

1. Focus on ONE component at a time

2. Reference component names and tokens directly

3. Run `npx @google/design.md lint DESIGN.md` after edits

4. Add new variants as separate `components:` entries

5. Default to `{typography.body-md}` for body and `{typography.subtitle}` for emphasis

6. Keep `{colors.brand-yellow}` confined to wordmark, promo banner, and yellow-tag chips

7. Pill-shaped buttons (`{rounded.full}`) always

8. When showing the product, use a real Miro-board mockup with sticky-note color tints

Known Gaps