设计详情
Uber
DESIGN.md extracted from the public Uber website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
实时预览
预览效果
此条目同时提供浅色与深色预览资源。
文档
README & DESIGN
Uber Inspired Design System
DESIGN.md extracted from the public Uber website. This is not the official design system. Colors, fonts, and spacing may not be 100% accurate. But it's a good starting point for building something similar.
Files
| File | Description |
|---|---|
DESIGN.md |
Complete design system documentation (9 sections) |
preview.html |
Interactive design token catalog (light) |
preview-dark.html |
Interactive design token catalog (dark) |
Use DESIGN.md to use as a reference for AI agents (Claude, Cursor, Stitch) to generate UI that looks like the Uber design language.
Preview
A sample landing page built with DESIGN.md. It shows the actual colors, typography, buttons, cards, spacing, and elevation, all in one page.
Dark Mode

Light Mode

Design System Inspiration of Uber
1. Visual Theme & Atmosphere
Uber's design language is a masterclass in confident minimalism -- a black-and-white universe where every pixel serves a purpose and nothing decorates without earning its place. The entire experience is built on a stark duality: jet black (#000000) and pure white (#ffffff), with virtually no mid-tone grays diluting the message. This isn't the sterile minimalism of a startup that hasn't finished designing -- it's the deliberate restraint of a brand so established it can afford to whisper.
The signature typeface, UberMove, is a proprietary geometric sans-serif with a distinctly square, engineered quality. Headlines in UberMove Bold at 52px carry the weight of a billboard -- authoritative, direct, unapologetic. The companion face UberMoveText handles body copy and buttons with a slightly softer, more readable character at medium weight (500). Together, they create a typographic system that feels like a transit map: clear, efficient, built for scanning at speed.
What makes Uber's design truly distinctive is its use of full-bleed photography and illustration paired with pill-shaped interactive elements (999px border-radius). Navigation chips, CTA buttons, and category selectors all share this capsule shape, creating a tactile, thumb-friendly interface language that's unmistakably Uber. The illustrations -- warm, slightly stylized scenes of drivers, riders, and cityscapes -- inject humanity into what could otherwise be a cold, monochrome system. The site alternates between white content sections and a full-black footer, with card-based layouts using the gentlest possible shadows (rgba(0,0,0,0.12-0.16)) to create subtle lift without breaking the flat aesthetic.
Key Characteristics:
- Pure black-and-white foundation with virtually no mid-tone grays in the UI chrome
- UberMove (headlines) + UberMoveText (body/UI) -- proprietary geometric sans-serif family
- Pill-shaped everything: buttons, chips, nav items all use 999px border-radius
- Warm, human illustrations contrasting the stark monochrome interface
- Card-based layout with whisper-soft shadows (0.12-0.16 opacity)
- 8px spacing grid with compact, information-dense layouts
- Bold photography integrated as full-bleed hero backgrounds
- Black footer anchoring the page with a dark, high-contrast environment
2. Color Palette & Roles
Primary
- Uber Black (
#000000): The defining brand color -- used for primary buttons, headlines, navigation text, and the footer. Not "near-black" or "off-black," but true, uncompromising black. - Pure White (
#ffffff): The primary surface color and inverse text. Used for page backgrounds, card surfaces, and text on black elements.
Interactive & Button States
- Hover Gray (
#e2e2e2): White button hover state -- a clean, cool light gray that provides clear feedback without warmth. - Hover Light (
#f3f3f3): Subtle hover for elevated white buttons -- barely-there gray for gentle interaction feedback. - Chip Gray (
#efefef): Background for secondary/filter buttons and navigation chips -- a neutral, ultra-light gray.
Text & Content
- Body Gray (
#4b4b4b): Secondary text and footer links -- a true mid-gray with no warm or cool bias. - Muted Gray (
#afafaf): Tertiary text, de-emphasized footer links, and placeholder content.
Borders & Separation
- Border Black (
#000000): Thin 1px borders for structural containment -- used sparingly on dividers and form containers.
Shadows & Depth
- Shadow Light (
rgba(0, 0, 0, 0.12)): Standard card elevation -- a featherweight lift for content cards. - Shadow Medium (
rgba(0, 0, 0, 0.16)): Slightly stronger elevation for floating action buttons and overlays. - Button Press (
rgba(0, 0, 0, 0.08)): Inset shadow for active/pressed states on secondary buttons.
Link States
- Default Link Blue (
#0000ee): Standard browser blue for text links with underline -- used in body content. - Link White (
#ffffff): Links on dark surfaces -- used in footer and dark sections. - Link Black (
#000000): Links on light surfaces with underline decoration.
Gradient System
- Uber's design is entirely gradient-free. The black/white duality and flat color blocks create all visual hierarchy. No gradients appear anywhere in the system -- every surface is a solid color, every transition is a hard edge or a shadow.
3. Typography Rules
Font Family
- Headline / Display:
UberMove, with fallbacks:UberMoveText, system-ui, Helvetica Neue, Helvetica, Arial, sans-serif - Body / UI:
UberMoveText, with fallbacks:system-ui, Helvetica Neue, Helvetica, Arial, sans-serif
Note: UberMove and UberMoveText are proprietary typefaces. For external implementations, use system-ui or Inter as the closest available substitute. The geometric, square-proportioned character of UberMove can be approximated with Inter or DM Sans.
Hierarchy
| Role | Font | Size | Weight | Line Height | Notes |
|---|---|---|---|---|---|
| Display / Hero | UberMove | 52px (3.25rem) | 700 | 1.23 (tight) | Maximum impact, billboard presence |
| Section Heading | UberMove | 36px (2.25rem) | 700 | 1.22 (tight) | Major section anchors |
| Card Title | UberMove | 32px (2rem) | 700 | 1.25 (tight) | Card and feature headings |
| Sub-heading | UberMove | 24px (1.5rem) | 700 | 1.33 | Secondary section headers |
| Small Heading | UberMove | 20px (1.25rem) | 700 | 1.40 | Compact headings, list titles |
| Nav / UI Large | UberMoveText | 18px (1.13rem) | 500 | 1.33 | Navigation links, prominent UI text |
| Body / Button | UberMoveText | 16px (1rem) | 400-500 | 1.25-1.50 | Standard body text, button labels |
| Caption | UberMoveText | 14px (0.88rem) | 400-500 | 1.14-1.43 | Metadata, descriptions, small links |
| Micro | UberMoveText | 12px (0.75rem) | 400 | 1.67 (relaxed) | Fine print, legal text |
Principles
- Bold headlines, medium body: UberMove headings are exclusively weight 700 (bold) -- every headline hits with billboard force. UberMoveText body and UI text uses 400-500, creating a clear visual hierarchy through weight contrast.
- Tight heading line-heights: All headlines use line-heights between 1.22-1.40 -- compact and punchy, designed for scanning rather than reading.
- Functional typography: There is no decorative type treatment anywhere. No letter-spacing, no text-transform, no ornamental sizing. Every text element serves a direct communication purpose.
- Two fonts, strict roles: UberMove is exclusively for headings. UberMoveText is exclusively for body, buttons, links, and UI. The boundary is never crossed.
4. Component Stylings
Buttons
Primary Black (CTA)
- Background: Uber Black (
#000000) - Text: Pure White (
#ffffff) - Padding: 10px 12px
- Radius: 999px (full pill)
- Outline: none
- Focus: inset ring
rgb(255,255,255) 0px 0px 0px 2px - The primary action button -- bold, high-contrast, unmissable
Secondary White
- Background: Pure White (
#ffffff) - Text: Uber Black (
#000000) - Padding: 10px 12px
- Radius: 999px (full pill)
- Hover: background shifts to Hover Gray (
#e2e2e2) - Focus: background shifts to Hover Gray, inset ring appears
- Used on dark surfaces or as a secondary action alongside Primary Black
Chip / Filter
- Background: Chip Gray (
#efefef) - Text: Uber Black (
#000000) - Padding: 14px 16px
- Radius: 999px (full pill)
- Active: inset shadow
rgba(0,0,0,0.08) - Navigation chips, category selectors, filter toggles
Floating Action
- Background: Pure White (
#ffffff) - Text: Uber Black (
#000000) - Padding: 14px
- Radius: 999px (full pill)
- Shadow:
rgba(0,0,0,0.16) 0px 2px 8px 0px - Transform:
translateY(2px)slight offset - Hover: background shifts to
#f3f3f3 - Map controls, scroll-to-top, floating CTAs
Cards & Containers
- Background: Pure White (
#ffffff) on white pages; no distinct card background differentiation - Border: none by default -- cards are defined by shadow, not stroke
- Radius: 8px for standard content cards; 12px for featured/promoted cards
- Shadow:
rgba(0,0,0,0.12) 0px 4px 16px 0pxfor standard lift - Cards are content-dense with minimal internal padding
- Image-led cards use full-bleed imagery with text overlay or below
Inputs & Forms
- Text: Uber Black (
#000000) - Background: Pure White (
#ffffff) - Border: 1px solid Black (
#000000) -- the only place visible borders appear prominently - Radius: 8px
- Padding: standard comfortable spacing
- Focus: no extracted custom focus state -- relies on standard browser focus ring
Navigation
- Sticky top navigation with white background
- Logo: Uber wordmark/icon at 24x24px in black
- Links: UberMoveText at 14-18px, weight 500, in Uber Black
- Pill-shaped nav chips with Chip Gray (
#efefef) background for category navigation ("Ride", "Drive", "Business", "Uber Eats") - Menu toggle: circular button with 50% border-radius
- Mobile: hamburger menu pattern
Image Treatment
- Warm, hand-illustrated scenes (not photographs for feature sections)
- Illustration style: slightly stylized people, warm color palette within illustrations, contemporary vibe
- Hero sections use bold photography or illustration as full-width backgrounds
- QR codes for app download CTAs
- All imagery uses standard 8px or 12px border-radius when contained in cards
Distinctive Components
Category Pill Navigation
- Horizontal row of pill-shaped buttons for top-level navigation ("Ride", "Drive", "Business", "Uber Eats", "About")
- Each pill: Chip Gray background, black text, 999px radius
- Active state indicated by black background with white text (inversion)
Hero with Dual Action
- Split hero: text/CTA on left, map/illustration on right
- Two input fields side by side for pickup/destination
- "See prices" CTA button in black pill
Plan-Ahead Cards
- Cards promoting features like "Uber Reserve" and trip planning
- Illustration-heavy with warm, human-centric imagery
- Black CTA buttons with white text at bottom
5. Layout Principles
Spacing System
- Base unit: 8px
- Scale: 4px, 6px, 8px, 10px, 12px, 14px, 16px, 18px, 20px, 24px, 32px
- Button padding: 10px 12px (compact) or 14px 16px (comfortable)
- Card internal padding: approximately 24-32px
- Section vertical spacing: generous but efficient -- approximately 64-96px between major sections
Grid & Container
- Max container width: approximately 1136px, centered
- Hero: split layout with text left, visual right
- Feature sections: 2-column card grids or full-width single-column
- Footer: multi-column link grid on black background
- Full-width sections extending to viewport edges
Whitespace Philosophy
- Efficient, not airy: Uber's whitespace is functional -- enough to separate, never enough to feel empty. This is transit-system spacing: compact, clear, purpose-driven.
- Content-dense cards: Cards pack information tightly with minimal internal spacing, relying on shadow and radius to define boundaries.
- Section breathing room: Major sections get generous vertical spacing, but within sections, elements are closely grouped.
Border Radius Scale
- Sharp (0px): No square corners used in interactive elements
- Standard (8px): Content cards, input fields, listboxes
- Comfortable (12px): Featured cards, larger containers, link cards
- Full Pill (999px): All buttons, chips, navigation items, pills
- Circle (50%): Avatar images, icon containers, circular controls
6. Depth & Elevation
| Level | Treatment | Use |
|---|---|---|
| Flat (Level 0) | No shadow, solid background | Page background, inline content, text sections |
| Subtle (Level 1) | rgba(0,0,0,0.12) 0px 4px 16px |
Standard content cards, feature blocks |
| Medium (Level 2) | rgba(0,0,0,0.16) 0px 4px 16px |
Elevated cards, overlay elements |
| Floating (Level 3) | rgba(0,0,0,0.16) 0px 2px 8px + translateY(2px) |
Floating action buttons, map controls |
| Pressed (Level 4) | rgba(0,0,0,0.08) inset (999px spread) |
Active/pressed button states |
| Focus Ring | rgb(255,255,255) 0px 0px 0px 2px inset |
Keyboard focus indicators |
Shadow Philosophy: Uber uses shadow purely as a structural tool, never decoratively. Shadows are always black at very low opacity (0.08-0.16), creating the bare minimum lift needed to separate content layers. The blur radii are moderate (8-16px) -- enough to feel natural but never dramatic. There are no colored shadows, no layered shadow stacks, and no ambient glow effects. Depth is communicated more through the black/white section contrast than through shadow elevation.
7. Do's and Don'ts
Do
- Use true black (
#000000) and pure white (#ffffff) as the primary palette -- the stark contrast IS Uber - Use 999px border-radius for all buttons, chips, and pill-shaped navigation elements
- Keep all headings in UberMove Bold (700) for billboard-level impact
- Use whisper-soft shadows (0.12-0.16 opacity) for card elevation -- barely visible
- Maintain the compact, information-dense layout style -- Uber prioritizes efficiency over airiness
- Use warm, human-centric illustrations to soften the monochrome interface
- Apply 8px radius for content cards and 12px for featured containers
- Use UberMoveText at weight 500 for navigation and prominent UI text
- Pair black primary buttons with white secondary buttons for dual-action layouts
Don't
- Don't introduce color into the UI chrome -- Uber's interface is strictly black, white, and gray
- Don't use rounded corners less than 999px on buttons -- the full-pill shape is a core identity element
- Don't apply heavy shadows or drop shadows with high opacity -- depth is whisper-subtle
- Don't use serif fonts anywhere -- Uber's typography is exclusively geometric sans-serif
- Don't create airy, spacious layouts with excessive whitespace -- Uber's density is intentional
- Don't use gradients or color overlays -- every surface is a flat, solid color
- Don't mix UberMove into body text or UberMoveText into headlines -- the hierarchy is strict
- Don't use decorative borders -- borders are functional (inputs, dividers) or absent entirely
- Don't soften the black/white contrast with off-whites or near-blacks -- the duality is deliberate
8. Responsive Behavior
Breakpoints
| Name | Width | Key Changes |
|---|---|---|
| Mobile Small | 320px | Minimum layout, single column, stacked inputs, compact typography |
| Mobile | 600px | Standard mobile, stacked layout, hamburger nav |
| Tablet Small | 768px | Two-column grids begin, expanded card layouts |
| Tablet | 1119px | Full tablet layout, side-by-side hero content |
| Desktop Small | 1120px | Desktop grid activates, horizontal nav pills |
| Desktop | 1136px | Full desktop layout, maximum container width, split hero |
Touch Targets
- All pill buttons: minimum 44px height (10-14px vertical padding + line-height)
- Navigation chips: generous 14px 16px padding for comfortable thumb tapping
- Circular controls (menu, close): 50% radius ensures large, easy-to-hit targets
- Card surfaces serve as full-area touch targets on mobile
Collapsing Strategy
- Navigation: Horizontal pill nav collapses to hamburger menu with circular toggle
- Hero: Split layout (text + map/visual) stacks to single column -- text above, visual below
- Input fields: Side-by-side pickup/destination inputs stack vertically
- Feature cards: 2-column grid collapses to full-width stacked cards
- Headings: 52px display scales down through 36px, 32px, 24px, 20px
- Footer: Multi-column link grid collapses to accordion or stacked single column
- Category pills: Horizontal scroll with overflow on smaller screens
Image Behavior
- Illustrations scale proportionally within their containers
- Hero imagery maintains aspect ratio, may crop on smaller screens
- QR code sections hide on mobile (app download shifts to direct store links)
- Card imagery maintains 8-12px border radius at all sizes
9. Agent Prompt Guide
Quick Color Reference
- Primary Button: "Uber Black (#000000)"
- Page Background: "Pure White (#ffffff)"
- Button Text (on black): "Pure White (#ffffff)"
- Button Text (on white): "Uber Black (#000000)"
- Secondary Text: "Body Gray (#4b4b4b)"
- Tertiary Text: "Muted Gray (#afafaf)"
- Chip Background: "Chip Gray (#efefef)"
- Hover State: "Hover Gray (#e2e2e2)"
- Card Shadow: "rgba(0,0,0,0.12) 0px 4px 16px"
- Footer Background: "Uber Black (#000000)"
Example Component Prompts
- "Create a hero section on Pure White (#ffffff) with a headline at 52px UberMove Bold (700), line-height 1.23. Use Uber Black (#000000) text. Add a subtitle in Body Gray (#4b4b4b) at 16px UberMoveText weight 400 with 1.50 line-height. Place an Uber Black (#000000) pill CTA button with Pure White text, 999px radius, padding 10px 12px."
- "Design a category navigation bar with horizontal pill buttons. Each pill: Chip Gray (#efefef) background, Uber Black (#000000) text, 14px 16px padding, 999px border-radius. Active pill inverts to Uber Black background with Pure White text. Use UberMoveText at 14px weight 500."
- "Build a feature card on Pure White (#ffffff) with 8px border-radius and shadow rgba(0,0,0,0.12) 0px 4px 16px. Title in UberMove at 24px weight 700, description in Body Gray (#4b4b4b) at 16px UberMoveText. Add a black pill CTA button at the bottom."
- "Create a dark footer on Uber Black (#000000) with Pure White (#ffffff) heading text in UberMove at 20px weight 700. Footer links in Muted Gray (#afafaf) at 14px UberMoveText. Links hover to Pure White. Multi-column grid layout."
- "Design a floating action button with Pure White (#ffffff) background, 999px radius, 14px padding, and shadow rgba(0,0,0,0.16) 0px 2px 8px. Hover shifts background to #f3f3f3. Use for scroll-to-top or map controls."
Iteration Guide
- Focus on ONE component at a time
- Reference the strict black/white palette -- "use Uber Black (#000000)" not "make it dark"
- Always specify 999px radius for buttons and pills -- this is non-negotiable for the Uber identity
- Describe the font family explicitly -- "UberMove Bold for the heading, UberMoveText Medium for the label"
- For shadows, use "whisper shadow (rgba(0,0,0,0.12) 0px 4px 16px)" -- never heavy drop shadows
- Keep layouts compact and information-dense -- Uber is efficient, not airy
- Illustrations should be warm and human -- describe "stylized people in warm tones" not abstract shapes
- Pair black CTAs with white secondaries for balanced dual-action layouts