BrandToPrompt

Tumblr Design System: Moody Content-First UI Patterns

Visit Site

Explore Tumblr's design system - moody colors, typography, and pill-shaped CTAs. Build expressive, content-first UIs with Tumblr's visual language.

5 min read970 words

Brand Identity

Color Palette

Primary
Secondary

Typography

Primary Font
Favorit
Secondary Font
Georgia

Design Style

Style
moody with deep blues, bright cyan accents, and expressive yet disciplined layouts
Visual Density
compact grid-based with consistent 8px spacing scale
Border Style
extreme pill-shaped buttons with 9999px radius and subtle 2-16px rounding on other elements

Full Analysis

Tumblr Design System Deep Dive

1. Brand Overview

Tumblr’s visual language is a strange mix of nostalgia and modern UI pragmatism. It’s got roots in early blogging culture, but the current design is cleaner, more structured, and far more deliberate than its chaotic reputation suggests. The brand is for people who value expression — the interface has to carry everything from minimalistic text posts to heavily stylized GIF sets.

The vibe: slightly moody, with a dark base palette dominated by deep blues (#4c5e72 and navy tones) and occasional neon pops (#00b8ff). This isn’t the sterile white of Medium or the hyper-polished gradients of Instagram. Tumblr leans into contrast — muted surfaces with bright accents — which suits its eclectic, layered content.

Philosophy-wise, Tumblr’s UI prioritizes content over chrome. Most interactive elements are pill-shaped (border radius 9999px), which keeps CTAs soft and approachable. The typography is a mix of utilitarian sans-serif (Favorit, Favorit Modern) and occasional serif (Georgia) for emphasis. That serif injection is a nod to long-form writing — a reminder Tumblr isn’t just about images.

Audience? The design speaks to people who want flexibility without losing aesthetic coherence. It’s not locked into a rigid corporate grid — breakpoints range from 350px to 1861px, meaning the site is fluid across devices. But under the hood, it’s disciplined: 8px spacing scale, consistent component padding, strong tokenization.

In short: Tumblr’s design system is a balance between expressive freedom and predictable UI patterns. They’ve nailed the “content-first” principle while maintaining enough brand-specific quirks to feel distinct from other social platforms.


2. Color System

2.1 Primary Colors

The hero color is bright cyan (#00b8ff), used for primary actions (sign-up, key CTAs). It’s punchy against the deep blues and grays that dominate surfaces. Psychologically, cyan is energetic but not aggressive — it invites interaction without screaming urgency.

Compared to competitors:

  • Twitter’s blue is more muted and corporate.
  • Instagram leans into warm gradients.
  • Tumblr’s cyan is cooler and more digital, fitting its tech-forward but playful personality.

The secondary palette is a sprawling set of functional colors — navy, purple, pink, orange, yellow, green — each with multiple tints/shades for states and content themes.

2.2 Complete Palette

Here’s everything, straight from the extracted tokens:

Color NameHexRoleUsage
Base Blue (UI)#4c5e72Surface backgroundPage chrome, headers
Translucent White#ffffff @ 0.13OverlayDividers, subtle borders
Bright Cyan#33c6ff / #00b8ffPrimary actionButtons, links
Black#000000Text, iconsBody text, high contrast
White#ffffffText on darkText in dark theme buttons
Green-90#00290bDark green bgStatus tags, dark mode accents
Pink-tint-90rgba(255,97,206,.9)Accent overlayPink highlights
Yellow-40#eddf61AccentDecorative UI
Orange-10#ffe8ccLight bgAlerts, promo banners
Yellow-tint-60rgba(232,215,58,.6)OverlaySoft yellow accents
Orange-60#cc6e00Dark orangeWarning text
Yellow-60#baac2eDark yellowWarning states
Brand-purple-tintrgba(124, 92, 255, 0.1)OverlayPurple UI elements
Gray-15#d9d9d9Light grayBorders, dividers
Navy-tint-5rgba(0,25,53,.05)OverlaySubtle surface shading
Yellow-30#f1e789AccentHighlights
Blue-30#66d4ffLight blueHover states
Blue-tint-10rgba(0,184,255,.1)OverlayButton hover glow
Orange-50#ff8a00AccentAlerts
Green-tint-10rgba(1,207,53,.1)OverlaySuccess highlights
UI-fg-tertiaryrgba(102,102,102,1)Tertiary textSecondary UI labels
Blue-5#e5f8ffLight backgroundInfo banners
Red-60#cc3a26ErrorCritical alerts
Red-tint-60rgba(255,73,48,.6)OverlayError highlights
Blue-10#ccf1ffLight blue bgInfo surfaces
Green-70#017c20Dark greenSuccess text
Pink-95#190a15Dark pinkThematic backgrounds
Gray-80#333333Dark grayBody text (light mode)
Gray-20#ccccccLight grayBorders
Gray-30#b3b3b3Mid graySecondary text
Green-95#001505Near black greenDark mode
Gray-100#000000BlackText, icons
Purple-90#191233Dark purpleBackground accents
Navy-90#1a3049Dark navyHeaders, footers
Brand-red-pressedrgba(255,146,131,1)Pressed stateRed buttons
Red-5#ffedeaLight red bgError background
Purple-40#967dffAccent purpleLinks, highlights
Red-70#992c1dDark redError text
Gray-10#e5e5e5Light grayBorders
Gray-5#f2f2f2Lightest graySurface
Navy-85#263b53Dark navyCards
Orange-90#331c00Dark orangeWarning bg
Navy-80#33475dMid navyUI surfaces
Yellow-90#2e2b0cDark yellowWarning bg
Green-30#67e286Bright greenSuccess bg
Green-40#34d95dBright greenSuccess text
Yellow-20#f6efb0Light yellowWarning bg
Pink-80#662752Dark pinkBackground
Yellow-5#fdfbebLight yellowAlert bg
Navy-20#ccd1d7Light navyBorders
Gray-40#999999TextSecondary labels
Yellow-10#faf7d8Light yellowSurfaces
Brand-purple-pressedrgba(176,157,255,1)StatePurple button pressed
Purple-70#4a3799Dark purpleAccent
Red-95#190705Dark redBackground
Gray-70#4c4c4cTextBody
Gray-90#1a1a1aDark grayText
Brand-red-hoverrgba(255,109,89,1)Hover stateRed buttons
Purple-80#322566Dark purpleBackground
Pink-10#ffdff5Light pinkAccent bg
Yellow-80#5d5617Dark yellowText
Rainbow-9#be5fe6AccentMulticolor UI
Gray-85#262626Dark grayBackground
Yellow-95#171506Dark yellowBg
Purple-95#0c0919Dark purpleBg
Pink-70#993a7cDark pinkAccent text
Rainbow-7#ff557fAccentMulticolor UI
Blue-80#004a66Dark blueText
Pink-20#ffc0ebLight pinkBg
Brand-orange-hoverrgba(255,161,51,1)Hover stateOrange buttons
Green-60#01a62aBright greenSuccess
Pink-60#cc4ea5Accent pinkText
Blue-20#99e3ffLight blueHover bg
Yellow-70#8b8123Dark yellowText
Red-10#ffdbd6Light redBg
Orange-30#ffb966Light orangeBg
Rainbow-2#74d338AccentMulticolor UI
Gray-50grayMid grayText
Green-80#005315Dark greenBg
Orange-70#995300Dark orangeText
Orange-80#663700Dark orangeBg
Gray-95#0d0d0dNear blackBg
Brand-pink-hoverrgba(255,129,216,1)HoverPink buttons
Orange-95#190e00Dark orangeBg
Brand-pink-pressedrgba(255,160,226,1)PressedPink buttons
Blue-90#002533Dark blueBg
Navy-15#d9dde1Light navyBorder
Purple-20#cbbeffLight purpleBg
Orange-20#ffd099Light orangeBg
Green-5#e6faebLight greenBg
Brand-blue-hoverrgba(51,198,255,1)HoverBlue buttons
Navy-60#667586Mid navyText
Purple-5#f2efffLight purpleBg
Red-90#330f0aDark redBg
Purple-60#634accAccent purpleText
Navy-50#808c9aMid navyText
Navy-10#e5e8ebLight navyBorder
Navy-30#b3bac2Light navyText
Gray-60#666666Mid grayText
Purple-10#e5deffLight purpleBg
UI-fg-secondaryrgba(153,153,153,1)Secondary textLabels
Red-20#ffb6acLight redBg
Navy-95#0d243fDark navyBg
Navy-5#f2f4f5Light navyBg
Navy-40#99a3aeMid navyText
Blue-95#001219Dark blueBg
Red-80#661d13Dark redText
Pink-90#331329Dark pinkBg
Rainbow-5#ff6918AccentMulticolor
Orange-5#fff3e5Light orangeBg
Blue-60#0093ccAccent blueLinks
Green-20#99ecaeLight greenBg
Pink-5#ffeffaLight pinkBg
Blue-70#006e99Dark blueText
Green-10#ccf5d7Light greenBg

2.3 Color Relationships

Dark mode is the default aesthetic — deep navies and blacks as base, bright cyan for calls to action. High contrast between #00b8ff and #1a3049 ensures accessibility. Text colors like #ffffff on dark, and #000000 on cyan buttons meet WCAG AA easily.

Avoid pairing low-contrast combos like #4c5e72 text on #33475d backgrounds — both are mid-dark blues.

2.4 Usage Guide

  • Cyan (#00b8ff) only for primary interactive elements.
  • Secondary actions use muted backgrounds with white text.
  • Error states: #cc3a26 with light red background (#ffedea).
  • Success: #01a62a text with light green (#e6faeb) background.
  • Decorative rainbow colors only in thematic or custom content areas, not core UI.

3. Typography

3.1 Font Families

  • Favorit — primary sans-serif. Fallback: "Helvetica Neue", HelveticaNeue, Helvetica, Arial.
  • Favorit Modern — variant sans-serif, same fallbacks.
  • Georgia — serif for headings. Fallbacks: Times, Times New Roman.
  • Courier — monospace, limited use.

No Google or Adobe Fonts — likely self-hosted custom fonts.

3.2 Type Scale

ElementFontSizeWeightLine Height
Heading-1Georgia34px4001.50
Heading-1Favorit21px7001.20
ButtonFavorit18px7001.33
Heading-1Favorit18px7001.33
LinkFavorit18px7001.33
LinkFavorit16px4001.00
LinkFavorit16px5001.50
Heading-1Favorit16px5001.50
ButtonFavorit16px5001.50
ButtonFavorit16px4001.00
Heading-1Favorit16px4001.00
LinkFavorit Modern16px5001.50
Heading-1Courier16px4001.50
Heading-1Favorit16px7001.50
ButtonFavorit16px900null
ButtonFavorit16px7000.00
ButtonFavorit Modern14px5001.43
CaptionFavorit Modern14px5001.43
CaptionFavorit14px7001.43
LinkFavorit12.5px4001.52

3.3 Hierarchy

Tumblr’s headings don’t go huge — 34px Georgia is the largest. This keeps posts from feeling overly corporate. Sans-serif weights are used for UI clarity, with bold (700) for buttons and links. Body copy is small — 16px or less — suiting dense content feeds.


4. Spacing & Layout

4.1 Spacing Scale

8px base grid. Common tokens:

ValueREMCountUse
1px0.06rem29Borders, hairlines
2px0.13rem281Dividers
4px0.25rem44Icon gaps
8px0.50rem229Small padding
12px0.75rem121Button padding
15px0.94rem45Mid padding
16px1.00rem107Body spacing
40px2.50rem22Section gaps
64px4.00rem10Large sections

4.2 Layout

Breakpoints:

  • Mobile: 350px, 413px, 540px, 600px
  • Tablet: 959px, 990px, 1018px, 1162px, 1221px
  • Desktop: 1541px, 1861px

Fluid approach — multiple breakpoints for incremental adjustments, not just three buckets.


5. Visual Elements

Border Radius

Tumblr uses extremes: small (2px, 3px) for subtle rounding, and 9999px for pills/avatars.

ValueCountUsage
2px9Div corners
3px26List items, small UI
4px4Small buttons
8px60Cards, dialogs
16px139Links
9999px165CTAs, avatars

Shadows

Mostly subtle:

  • rgba(0,0,0,0.05) 0px 4px 16px — soft elevation
  • Occasional inset (rgb(0,184,255) 0px -2px 0px inset) for focus cues.

Borders

Light dividers: 1px solid rgba(0,25,53,0.1) on dialogs.


6. Components

6.1 Buttons

Primary:
Default — background: #00b8ff, text #000000, padding 10px 16px, radius 9999px, font 14px Favorit 500.
Hover — uses --brand-blue-hover (rgba(51,198,255,1)).

Secondary:
Default — translucent white bg, white text, same padding/radius.
Hover — subtle opacity change.

Tertiary:
Black bg, white text, pill shape.
Transparent variant — only cyan text, no bg.

Three styles:

  1. Black text, underlined — standard content links.
  2. White text, underlined — dark mode links.
  3. Cyan text, no underline — UI links.

6.3 Forms

Text inputs: transparent bg, gray text (#99a3ae), no border, padding 8px. Focus states not specified in data.


7. Design Tokens

:root {
  /* Colors */
  --base-blue: #4c5e72;
  --primary-cyan: #00b8ff;
  --black: #000000;
  --white: #ffffff;
  /* ... include all from palette ... */

  /* Typography */
  --font-favorit: "Favorit", "Helvetica Neue", HelveticaNeue, Helvetica, Arial;
  --font-favorit-modern: "Favorit Modern", "Helvetica Neue", HelveticaNeue, Helvetica, Arial;
  --font-georgia: Georgia, Times, "Times New Roman";
  --font-courier: Courier;

  /* Spacing */
  --space-1: 1px;
  --space-2: 2px;
  --space-4: 4px;
  --space-8: 8px;
  --space-12: 12px;
  --space-15: 15px;
  --space-16: 16px;
  --space-40: 40px;
  --space-64: 64px;

  /* Radius */
  --radius-sm: 2px;
  --radius-md: 8px;
  --radius-lg: 16px;
  --radius-pill: 9999px;

  /* Shadows */
  --shadow-soft: rgba(0,0,0,0.05) 0px 4px 16px 0px;
}

8. AI Coding Assistant Prompt

# Tumblr Design System Specification

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

## Brand Context
Tumblr blends deep, moody surfaces with bright cyan accents. Content-first, soft pill-shaped CTAs, and a disciplined 8px spacing grid. Typography is a mix of utilitarian sans-serif and occasional serif for emphasis.

## Color Palette
- Base Blue: #4c5e72 — UI surface backgrounds
- Primary Cyan: #00b8ff — Primary buttons, key links
- Black: #000000 — Text
- White: #ffffff — Text on dark
- Red-60: #cc3a26 — Error text
- Green-60: #01a62a — Success text
- Navy-90: #1a3049 — Header/footer bg
- Purple-40: #967dff — Accent links
- (Include ALL from palette with role)

## Typography
- Headings: Georgia, Times, Times New Roman — 34px 400 1.5
- UI Headings: Favorit — 21px 700 1.2, 18px 700 1.33
- Body: Favorit — 16px 400/500 1.0–1.5
- Buttons: Favorit — 14px–18px 500–900 radius pill
- Captions: Favorit Modern — 14px 500 1.43

## Spacing & Grid
Base: 8px. Scale includes 1, 2, 4, 8, 12, 15, 16, 40, 64px.
Use multiples for padding/margin.

## Border Radius
- sm: 2px — small divs
- md: 8px — cards/dialogs
- lg: 16px — links
- full: 9999px — buttons, avatars

## Shadows & Depth
- Soft shadow: rgba(0,0,0,0.05) 0px 4px 16px

## Components

### Primary Button
```css
.btn-primary {
  background: #00b8ff;
  color: #000000;
  padding: 10px 16px;
  border-radius: 9999px;
  font-family: var(--font-favorit);
  font-weight: 500;
  font-size: 14px;
  border: none;
  transition: background 150ms ease;
}
.btn-primary:hover { background: rgba(51,198,255,1); }
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }
```

### Secondary Button
```css
.btn-secondary {
  background: rgba(255,255,255,0.05);
  color: #ffffff;
  padding: 10px 16px;
  border-radius: 9999px;
  font-family: var(--font-favorit);
}
```

### Input Field
```css
.input {
  background: transparent;
  color: #99a3ae;
  border: none;
  padding: 8px;
}
```

## Layout & Responsive Rules
- Breakpoints: 350px, 413px, 540px, 600px, 959px, 990px, 1018px, 1162px, 1221px, 1541px, 1861px

## Interaction Rules
- Transitions: 150ms ease
- Focus outlines match accent color

## DO
- Use only palette colors
- Keep spacing multiples of 8px
- Use pill radius for CTAs
- Maintain high contrast for text

## DON'T
- Add new colors
- Mix hard corners with pills
- Use heavy shadows

## Code Examples

Primary Button:
```css
<button class="btn-primary">Sign Up</button>
```

Card:
```css
.card {
  background: #1a3049;
  border-radius: 8px;
  padding: 16px;
  box-shadow: var(--shadow-soft);
}
```

Input:
```css
<input class="input" placeholder="Search">
```

9. Summary

TL;DR — Tumblr’s design is moody, content-first, with bright cyan accents and pill-shaped CTAs. An 8px grid keeps it consistent, while a sprawling color palette supports expressive content.

Brand Keywords:

  • content-first
  • moody-cyan
  • pill-cta
  • disciplined-grid
  • expressive-palette