Bumble

Bumble's iOS app is unapologetically loud.

Back to all styles

A live page in this style is not built yet — the CSS variables and the prompt below are enough to reproduce it.

At a glance

24tokens
11type steps
3radius steps
14pxspacing base

Bumble, in one page

Bumble's iOS app is unapologetically loud. Where Hinge whispers on cream paper and Tinder neon-flames at you, Bumble paints the screen Bumble Yellow (#FFC629) — a saturated, sun-bright honey-yellow — and lets it bake. The yellow is everywhere: the splash, the loading dots, the active tab, the primary CTA, the match badge, the hexagon honeycomb that frames every photo and notification. The brand is a single color used with stadium-rock confidence, paired with a near-black warm canvas to keep contrast brutal. If Hinge is a journal, Bumble is a billboard.

The hexagon is the second piece of the identity — Bumble's spatial signature. Photos are hex-cropped on match notifications and the "people near you" grid. The app icon itself is a yellow hexagon with a bee. Cards in the swipe stack are rectangular for usability, but the chrome around them — the badges, the heart, the match indicator, the message preview avatars — all live inside hexagons or hex-tagged frames. The hexagon means "Bumble" the way the heart means "love"; it's the iconography of the brand.

Typography is dominated by Brando — the proprietary slab-influenced sans Bumble commissioned from Mike Abbink — a face with a soft humanist warmth and big personality at display sizes. Headlines like "It's a Match!" and "Make the first move" are set in Brando Black (900) at 32-44pt, sized to hit. Below display, the app uses a heavier weight ladder than most dating apps — Bold (700) for card names, Medium (500) for body, Regular (400) only for very secondary metadata. The voice the type carries is feminist-direct: Bumble's premise (women message first) shapes the typography too — confident, large, no apologies.

Key Characteristics:

Do's and don'ts

Do

  • Use Bumble Yellow (#FFC629) as the dominant action color — it's the brand
  • Pair yellow with pure black (#000000) for text on yellow surfaces — WCAG AA requires it
  • Use Brando weights 500/700/900 — the brand is heavy and confident
  • Render the heart action button with a yellow glow shadow — rgba(255, 198, 41, 0.5) 0 6px 16px
  • Use the hexagon shape for the brand mark, match notification photo crops, and mode toggle buttons
  • Use the 24-hour countdown chip on new matches — it's the core mechanic of the app
  • Use the photo progress bar at the top of the swipe card (4 segments, Stories-style)
  • Make the "It's a Match!" celebration yellow-canvas full-screen with hex-cropped photos
  • Use #1F1F1F warm Bumble Black for primary text on white surfaces, not pure black
  • Add big confident shadows on hero CTAs — the yellow glow is intentional
  • Use Match Pink (#E94B7B) only on the It's a Match heart — nowhere else
  • Switch all yellow chrome to the mode color (teal #11AAA8 BFF / orange #FF8000 Bizz) when in those modes

Don't

  • Don't use white text on Bumble Yellow — contrast fails WCAG; always pure black
  • Don't use Bumble Yellow for body text — yellow is a verb, never type
  • Don't soften the photo aspect to 4:5 portrait (that's Hinge) — Bumble uses 3:4
  • Don't replace the hexagon with a circle on match notifications — the hex is the brand spatial signature
  • Don't use Brando Light or Thin — the brand doesn't have light weights
  • Don't blur the heart-button glow into nothing — the yellow halo is a key visual; keep it visible
  • Don't put yellow chrome on BFF mode (use teal) or Bizz mode (use orange) — the mode color is sacred to that product
  • Don't render the bee glyph anywhere except the Compliments button and the "Today's Bee" badge
  • Don't use rounded card photos with radius > 12pt — Bumble's cards have firmer edges than Hinge/Tinder
  • Don't skip the 24-hour countdown on new chats — it's the core mechanic; design must surface it
  • Don't use pure black (#000000) for body text on white — Bumble Black #1F1F1F is warmer
  • Don't use cool greys — Bumble's mid-greys are neutral but the deep ones are warm-toned

Copy this into your AI builder

Paste it as-is. Every value below was measured from the original site, not guessed.

Assembled from the measured tokens — the source document has no prompt block.

Build a page in the Bumble design language. Follow the measured tokens below — do not substitute your own palette.

Colors:
- Bumble Yellow: #ffc629
- Honey Deep: #f5b616
- Yellow Light: #ffe9a1
- Date Mode: #ffc629
- BFF Mode: #11aaa8
- Bizz Mode: #ff8000
- Canvas White: #ffffff
- BFF Cream: #fffcf2
- Surface 1: #f5f5f5
- Surface 2: #ededed

Type:
- families: Brando, Bricolage Grotesque, Manrope
- scale: 10, 11, 13, 14, 16, 18, 22, 24, 28
- weights: 500, 700, 900

Shape:
- radius: 12, 24, 28
- elevation: Active mode hex: filled with that mode's color, slight inner shadow | 5. Heart button gets a yellow glow shadow: `rgba(255, 198, 41, 0.5) 0 6px 16px`

Spacing: 14, 16, 32

Rules:
- Use Bumble Yellow (`#FFC629`) as the dominant action color — it's the brand
- Pair yellow with pure black (`#000000`) for text on yellow surfaces — WCAG AA requires it
- Use Brando weights 500/700/900 — the brand is heavy and confident
- Render the heart action button with a yellow glow shadow — `rgba(255, 198, 41, 0.5) 0 6px 16px`
- Use the hexagon shape for the brand mark, match notification photo crops, and mode toggle buttons
- Use the 24-hour countdown chip on new matches — it's the core mechanic of the app

Avoid:
- Don't use white text on Bumble Yellow — contrast fails WCAG; always pure black
- Don't use Bumble Yellow for body text — yellow is a verb, never type
- Don't soften the photo aspect to 4:5 portrait (that's Hinge) — Bumble uses 3:4
- Don't replace the hexagon with a circle on match notifications — the hex is the brand spatial signature
- Don't use Brando Light or Thin — the brand doesn't have light weights
- Don't blur the heart-button glow into nothing — the yellow halo is a key visual; keep it visible

Keep every value literal. If a token is given, use that exact value.

The specification

Colour paletteRead the full spec

Primary

  • Bumble Yellow (#FFC629): The brand color — splash, primary CTAs ("Send", "Continue", "Make the first move"), active tab indicator, match badge, hexagon loading state, "1" badge counter on chats.
  • Honey Deep (#F5B616): Pressed state on yellow CTAs; the "Send a Compliment" premium accent.
  • Yellow Light (#FFE9A1): Yellow chip backgrounds, "Today's Bee" callout fill, soft yellow gradients on premium sheets.

Brand Modes

  • Date Mode (#FFC629 Yellow): The flagship Bumble dating product.
  • BFF Mode (#11AAA8 Teal): The friend-finding mode — teal hexagon icon, teal CTA on BFF screens.
  • Bizz Mode (#FF8000 Orange): The professional networking mode — orange hexagon icon, orange CTA on Bizz screens.
  • The active mode's color replaces all yellow chrome — but the hexagon shape is constant.

Canvas, Surfaces & Dividers

  • Canvas White (#FFFFFF): Primary canvas on Date.
  • BFF Cream (#FFFCF2): Subtle warm-tinted canvas on BFF mode.
  • Surface 1 (#F5F5F5): Section backgrounds, input fills, settings rows.
  • Surface 2 (#EDEDED): Pressed states, chip fills.
  • Divider (#E5E5E5): 0.5pt hairlines, card outlines.
  • Shadow Black (rgba(0, 0, 0, 0.12)): Big confident shadows — Bumble does not whisper.

Text

  • Bumble Black (#1F1F1F): Primary text — name+age, card titles, body, large display.
  • Bumble Slate (#5A5A5A): Secondary text — bios, "x miles away", chat preview.
  • Bumble Mist (#9C9C9C): Tertiary text — placeholders, disabled labels, very-secondary meta.
  • Pure Yellow Black (#000000): Text on Bumble Yellow surfaces — yellow needs full-black contrast.

Semantic

  • Match Pink (#E94B7B): Reserved for the "It's a Match!" celebration heart; not used in chrome — the match heart is the only place this pink appears.
  • Verified Blue (#0066FF): Verified profile checkmark.
  • Warning Amber (#FF9500): Profile incomplete warnings.
  • Error Red (#D72638): Form validation errors, unmatched-from-chat confirmations.
  • Success Green (#00A86B): Confirmation toasts ("Message sent", "Profile updated").

Dark Mode

Bumble added dark mode in 2021. The yellow stays yellow — but everything else inverts to a warm OLED dark.

  • Dark Canvas (#0F0F0F): Primary dark background.
  • Dark Surface 1 (#1A1A1A): Cards, sheets.
  • Dark Surface 2 (#2A2A2A): Pressed states, chip fills.
  • Dark Divider (#2F2F2F): Hairlines.
  • Dark Text Primary (#F2F2F2): Inverted primary text.
  • Dark Text Secondary (#9C9C9C): Inverted secondary.
  • Bumble Yellow (dark) (#FFC629): Unchanged — yellow reads loud on dark canvas, no adjustment needed.
  • Honey Deep (dark) (#FFD45C): Brightened slightly for OLED on dark mode pressed states.
Type scaleRead the full spec

Font Family

  • Primary: Brando — proprietary slab-influenced sans by Mike Abbink, commissioned for Bumble
  • Weights available: Regular (400), Medium (500), Bold (700), Black (900) — Bumble does not use Light or Thin; the brand is heavy
  • Fallback stack: -apple-system, BlinkMacSystemFont, 'SF Pro Display', 'SF Pro Text', 'Helvetica Neue', sans-serif
  • Web/marketing Google Fonts substitute: Bricolage Grotesque or Manrope Heavy — both capture Brando's mix of personality and weight
  • Use Bumble Bold or Black for almost every headline; reserve Medium and Regular for body and metadata

Hierarchy

RoleFontSizeWeightLine HeightLetter SpacingNotes
Match HeroBrando44pt900 (Black)1.05-0.8pt"It's a Match!" celebration title
DisplayBrando32pt9001.1-0.6pt"Make the first move", "Find your Hive"
Screen TitleBrando24pt9001.15-0.4pt"Matches", "Chats", "Profile" (top header)
Card Name+AgeBrando28pt700 (Bold)1.1-0.4pt"Sigrún, 28" on swipe card
Section HeaderBrando18pt7001.2-0.1pt"About me", "Looking for"
BodyBrando16pt500 (Medium)1.40ptBio text, profile descriptions
Body BoldBrando16pt7001.40ptEmphasis within body
Body SmallBrando14pt5001.40pt"x miles away", chat list preview text
Button (Primary)Brando16pt7001.00pt"Send", "Continue", "Make the first move"
Button (Large CTA)Brando18pt7001.00pt"It's a Match — Send a Message"
Tab LabelBrando10pt7001.00.2ptBottom tab labels
Chip LabelBrando13pt5001.00ptAttribute pills, filter chips
MetadataBrando13pt5001.30ptDates, mile counts, chat timestamps
Counter BadgeBrando11pt7001.00.2ptThe "1" / "5" badges on tab icons — set on yellow background
Compliments HeroBrando22pt9001.2-0.3pt"She sent you a Compliment"

Principles

  • Heavy ladder for confidence: Brando Bold (700) and Black (900) carry almost all headlines; the brand is loud.
  • Big display sizes: 32-44pt headlines are common — Bumble wants you to read the words from across a room.
  • Tight tracking at display: -0.8pt at 44pt falling to 0pt at body — pulls letters together for editorial impact.
  • Pure black on yellow: When text sits on Bumble Yellow, use pure #000000 for maximum contrast; everywhere else use Bumble Black (#1F1F1F).
  • Dynamic Type respected on body, bio, section headers: Tab labels, badge counters, and chip labels are fixed (layout-sensitive).
  • Yellow CTAs use black text, always: Never white text on yellow — contrast ratio drops below WCAG AA.
Components and layoutRead the full spec

Buttons

Primary CTA (Send / Continue / Make the first move)

  • Background: #FFC629 (Bumble Yellow)
  • Text: #000000 (pure black, for WCAG AA on yellow)
  • Padding: 16pt vertical, 32pt horizontal
  • Corner radius: 28pt (capsule)
  • Height: 56pt fixed
  • Pressed: background #F5B616 (Honey Deep), scale 0.97
  • Shadow on hero CTAs: rgba(255, 198, 41, 0.4) 0 8px 24px — yellow glow shadow for the "Make the first move" hero
  • Haptic: .impactOccurred(.medium) on Send; .notificationOccurred(.success) on match-completion

Secondary Outline CTA

  • Background: transparent
  • Border: 1.5pt #1F1F1F
  • Text: #1F1F1F, Brando 16pt weight 700
  • Padding: 14pt vertical, 28pt horizontal
  • Corner radius: 28pt
  • Pressed: background #F5F5F5

Swipe Action Buttons (under the swipe card)

  • 5 circular buttons in a row: Rewind (small) / X Pass (medium) / Heart Yes (large, centered) / Star SuperSwipe (medium) / Bee (Compliment, small)
  • Heart Yes is the hero: 64pt circle, #FFC629 fill, black heart glyph at 28pt, rgba(255, 198, 41, 0.5) 0 6px 16px glow shadow
  • X Pass: 56pt circle, white fill, 1.5pt #1F1F1F stroke, black X at 22pt
  • Star SuperSwipe: 56pt circle, #FFC629 fill, black star at 22pt — visually similar to Heart but smaller
  • Bee Compliment: 56pt circle, white fill with 1.5pt #FFC629 stroke, yellow-and-black bee glyph
  • Rewind: 48pt circle, #F5F5F5 fill, gray rewind icon
  • Press animation: scale 0.9 on press; haptic varies by button (Heart = medium, Star = heavy, Bee = soft)

The Honeycomb / Hive Button (BFF/Bizz mode toggle)

  • A hexagonal button — literally hex-shaped, not rectangular — used to switch between Date / BFF / Bizz modes
  • Active mode hex: filled with that mode's color, slight inner shadow
  • Inactive mode hexes: outlined only, mode glyph in muted color

Cards & Containers

Swipe Card (The Hero Component)

  • Width: full content width minus 24pt margins
  • Aspect: 3:4 (slightly more portrait than square)
  • Corner radius: 12pt (less rounded than Hinge — Bumble's photos are stronger-edged)
  • Photo: full-bleed cover, with a 4-segment progress bar pinned at the top (each photo segment lights up in white as it advances; Stories-style)
  • Bottom overlay: dark gradient from rgba(0, 0, 0, 0) to rgba(0, 0, 0, 0.7) over the bottom 30% of the card
  • Name + age: pinned at the bottom-left over the gradient — "Sigrún, 28" in Brando 28pt Bold white
  • Verified blue check: 18pt to the right of the name if verified
  • Bio preview: 1 line of 16pt Medium white below the name; tap to expand into full vertical-scroll profile
  • "i" info button: bottom-right 32pt circle, semi-transparent black fill, white "i" glyph

Photo Progress Bar

  • 4 segments at the top of the photo, each 3pt tall, 4pt gap between segments
  • Active segment: white #FFFFFF
  • Inactive segment: rgba(255, 255, 255, 0.4)
  • The bar is the Bumble photo navigation primitive — taps on left/right halves of the photo advance through

Match Notification (the hexagon moment)

  • When two people match, a hex-cropped photo of the match appears at the top of the chat list with a yellow border ring
  • Hex shape: a regular hexagon with 6:5 vertical-flat orientation (point-up)
  • Border: 2pt #FFC629 yellow stroke on the hex
  • Subtle pulse on entry: scale 1.0 → 1.05 → 1.0 over 600ms
  • Tap target: 64pt outer hex; the photo crops to fit inside

Bee Tag / Verified Badge

  • A tiny hex-tag, ~20pt across, with a yellow #FFC629 fill and a small bee glyph inside
  • Sits on the top-right of profile photos in the chat list to indicate "Today's Bee" — the daily curated match
  • Verified profiles get a blue circular check (not hex) — verified is distinct from "Today's Bee"

Compliments Sheet (premium)

  • A bottom sheet with 24pt top corners
  • Top strip: yellow honeycomb pattern background, 80pt tall, with three bee glyphs hovering
  • "She sent you a Compliment" in Brando 22pt Black #1F1F1F
  • The compliment text below in Brando 18pt Medium quoted in italic style
  • Primary CTA: "Reply" pill (full yellow CTA spec)
  • Compliments cost in-app currency (Beeline credits)

Beeline (people who liked you, premium grid)

  • 2-col grid of profile thumbnails
  • Each thumbnail: 4:5 aspect, 8pt corner radius, blurred preview if not subscribed
  • Subscribed users see clear photos with a small yellow heart badge top-right
  • Tap opens full profile; subscribers can see who liked them

Navigation

Top Header

  • Height: 56pt (slim header, no large-title pattern)
  • Background: #FFFFFF on light, #0F0F0F on dark
  • Title: Brando 24pt Black #1F1F1F, left-aligned, 20pt leading margin
  • Trailing icons: Filters (3-slider glyph) on People, Pinned filter on Chats, Settings on Profile

Bottom Tab Bar

  • Height: 56pt + safe area
  • Background: #FFFFFF with 0.5pt #E5E5E5 top divider; opaque (no blur — Bumble likes hard surfaces)
  • Tabs: People (silhouettes), Hives (honeycomb), Matches (yellow heart), Chats (chat-bubble), Profile (person)
  • Icon size: 24pt, outlined default / filled when active
  • Active color: #1F1F1F (Bumble Black) — the active state is bold black, with a 4pt #FFC629 indicator dot 4pt below the label
  • Inactive: #9C9C9C (Mist)
  • Labels: Brando 10pt weight 700, visible always
  • Badge: #FFC629 circle with #000000 count text, sits top-right of the icon at 16pt diameter
  • Tap haptic: .selectionChanged() on each switch

The Hexagon Hive Logo

Responsive behaviourRead the full spec

Device Sizes

DeviceWidthKey Changes
iPhone SE (3rd gen)375ptSwipe card aspect shifts 3:4 → 1:1.2 for compactness; action buttons drop from 64pt to 56pt diameter
iPhone 13/14/15390ptStandard 3:4 card, 24pt margins, 64pt heart button
iPhone 15/16 Pro393ptDynamic Island respected; header drops to 52pt to make room
iPhone 15/16 Pro Max430ptLarger cards, action button row gains slight extra spacing
iPad768pt+2-col swipe view with side stack browser; chat list moves to a sidebar; main view becomes the conversation

Dynamic Type

  • Match Hero, Display, Screen Title, Body, Bio: full scale
  • Tab labels, badge counters, chip labels: fixed (layout-sensitive)
  • The 24-hour countdown chip: fixed (tabular numerals)

Orientation

  • All swipe surfaces: portrait-locked
  • Photo lightbox on profile: rotates to landscape full-bleed
  • Match celebration: portrait only — confetti choreography is portrait-tuned

Touch Targets

  • Heart action button: 64pt diameter, 80pt full hit area
  • Other swipe action buttons: 56pt
  • Tab bar icons: 24pt icon, 56pt full row
  • CTAs: 56pt height, full width minus 24pt margins
  • 24-hour chip: 32pt tall, full-width minus 32pt margins

Safe Area Handling

  • Top: safe area honored — the 56pt header sits below the status bar/dynamic island
  • Bottom: chat input pins above home indicator; tab bar pins above home indicator on other screens
  • Sides: 16-24pt content insets depending on screen

Drop-in CSS variables

The same values as a theme block. Add the class to <body> and the site repaints.

body.theme-bumble {--page-bg: #ffffff;
  --page-bg-gradient: none;
  --text-color: #000000;
  --heading-color: #000000;
  --link-color: #886200;
  --link-hover-color: #553d00;
  --border-color: #d1d1d1;
  --card-bg: #ffffff;
  --card-shadow: 0 1px 2px rgba(0,0,0,0.06);
  --card-hover-shadow: 0 6px 18px rgba(0,0,0,0.12);
  --header-bg: #000000;
  --header-text-color: #ffffff;
  --header-shadow: none;
  --footer-bg: #ffffff;
  --footer-text-color: #595959;
  --button-bg: #ffc629;
  --button-text-color: #000000;
  --button-hover-bg: #f5b400;
  --button-border: none;
  --button-border-radius: 24px;
  --button-secondary-bg: #f0f0f0;
  --button-secondary-text-color: #000000;
  --button-secondary-hover-bg: #e0e0e0;
  --button-secondary-border: 1px solid #d1d1d1;
  --prompt-bg: #f2f2f2;
  --prompt-text-color: #000000;
  --base-font: var(--font-helvetica);
  --heading-font: var(--font-helvetica);
  --card-border-radius: 24px;
}

Download theme.css

Visually close to

Measured with a deterministic colour + geometry comparison across 958 styles. Not a hand-picked list.

Where this came from

Source document
ios/design-md/dating/bumble/DESIGN.md · 29.2 KB
Repository
Meliwat/awesome-ios-design-md
Licence
MIT

Source text is reproduced under its original licence. Tokens, similarity scores and page structure are ours.