Xiaohongshu Brand Design System Deep Dive
1. Brand Overview
Xiaohongshu (Little Red Book) is a social commerce platform that positions itself at the intersection of lifestyle inspiration and shopping. The vibe is energetic yet approachable. This is not a sterile tech product—it’s emotional, community-driven, and aspirational. The design language reflects that: bold primary color, soft rounded corners, and typography that’s readable but not overly formal.
The audience is style-conscious, social media–native, and mobile-first. The site feels like it’s designed for quick scanning and tapping, not long-form reading. You see this in the typography: no massive display typefaces, just a consistent system-ui stack that works across devices and OSes. That choice screams practicality. They’re not chasing a bespoke font aesthetic—they’re optimizing for speed and reliability.
The primary red (#ff2e4d) is unmistakable. It’s emotionally loud and instantly recognizable. This color dominates CTAs, login buttons, and other high-importance actions. They don’t dilute it with gradients—flat fills are the norm. The rest of the palette is neutral and functional, allowing the red to do all the emotional heavy lifting.
Layout-wise, the site is responsive with a wide range of breakpoints (from 400px up to 1728px). This is clearly a mobile-first design system, but it scales up gracefully. Spacing is built on an 8px grid with some exceptions (2px, 4px, 6px), which keeps everything visually tidy.
Overall philosophy: clear hierarchy, fast-loading system fonts, functional neutrals, and one hero color that carries the brand. They’ve sacrificed ornamental elements for speed and clarity. The rounded shapes and soft shadows keep it from feeling too rigid. It’s a social app dressed in e-commerce efficiency.
2. Color System
2.1 Primary Colors
The main brand color is rgb(255, 46, 77) / #ff2e4d. This is a saturated red with a slight pink undertone. It’s aggressive in a good way—perfect for CTAs where you want immediate attention. Psychologically, red in this range signals excitement, urgency, and desire. For Xiaohongshu, it also aligns with the “red book” name and the cultural symbolism of red in China (luck, celebration).
Compared to competitors: Instagram leans into gradients and purples; Pinterest uses a slightly darker, more muted red (#e60023). Xiaohongshu’s red is brighter and lighter, which feels more playful and youthful.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Primary Red | #ff2e4d | Primary | CTAs, primary buttons, key actions |
| Tinted Red | rgba(255,36,66,0.06) | Accent background | Subtle red-tinted surfaces |
| White | #ffffff | Background | Page background, cards, modals |
| Pure Blue (link) | #0000ee | Link | Inline links, interactive text |
| Brand Link Blue | #13386c | Link | Navigation links |
| Neutral Black 25% | rgba(0,0,0,0.25) | Secondary text / icons | Disabled icons, secondary controls |
| Neutral Black 80% | rgba(51,51,51,0.8) | Secondary label | Captions, muted text |
| Neutral Black 100% | #333333 | Primary label | Body text |
| Neutral Black D9 | #000000D9 | Text color | High-contrast text |
| Neutral Black B2 | #000000B2 | Label color | Secondary labels |
| Neutral Black b3 | #000000b3 | Toast background | Notifications |
| Background Gray | #f5f5f5 | Background | App background surfaces |
| Border Gray | #eeeeee | Border | Dividers, input borders |
| Primary BG Disabled | rgba(48,48,52,0.15) | Disabled state bg | Disabled buttons |
| Input BG | rgba(0,0,0,0.03) | Input background | Search bars, text fields |
| Input Color Light | rgba(0,0,0,0.08) | Input placeholder bg | Placeholder shading |
| Accent Blue | #3d8af5 | Accent | Highlight elements |
| Vertical Channel Yellow | #fff9d5 | Accent | Highlight sections |
| Modal Mask | #00000080 | Overlay background | Modal dimming |
2.3 Color Relationships
The red on white has strong contrast—no WCAG issues for normal text. Red on tinted red surfaces is less contrasting but used sparingly for accent, so it’s fine. Link blues (#0000ee, #13386c) are standard web-safe shades, readable on white and light gray backgrounds.
Dark mode isn’t present in the extracted data—this is a light theme–only brand system. The palette is optimized for high brightness screens.
2.4 Usage Guide
- Primary Red: Only use for primary actions. Overusing it for decoration will dilute its impact.
- Neutral Blacks: Use
#333for main body text,rgba(51,51,51,0.8)for secondary labels, and lighter transparencies for placeholders. - Link Colors: Keep
#0000eefor standard inline links;#13386cfor navigation. - Backgrounds: White and
#f5f5f5are your base layers. - Avoid pairing tinted red backgrounds with pure red text—it can reduce readability.
- Accent Blue (
#3d8af5) and Vertical Channel Yellow (#fff9d5) are rare; use sparingly for emphasis.
3. Typography
3.1 Font Families
Every text style uses system-ui with a long fallback stack:
system-ui, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji,
-apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, system-ui, Helvetica Neue, Arial,
PingFang SC, PingFang TC, PingFang HK, Microsoft Yahei, Microsoft JhengHeiNo Google Fonts, no Adobe Fonts. This is pure system performance play—fast rendering, no external font loading. It’s also culturally adaptable: PingFang for Chinese, Microsoft Yahei for Windows environments.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| heading-1 | system-ui | 18px | 600 | 1.20 |
| heading-1 | system-ui | 16px | 600 | 1.20 |
| heading-1 | system-ui | 16px | 400 | 1.38 |
| heading-1 | system-ui | 16px | 500 | 1.00 |
| button | system-ui | 16px | 600 | 1.15 |
| link | system-ui | 16px | 400 | 1.20 |
| link | system-ui | 14px | 400 | 1.15 |
| caption | system-ui | 14px | 400 | 1.15 |
| caption | system-ui | 14px | 500 | 1.15 |
| button | system-ui | 14px | 500 | 1.15 |
| caption | system-ui | 12px | 400 | 1.20 |
| link | system-ui | 12px | 400 | 1.20 |
| link | system-ui | 12px | 600 | 1.15 |
| caption | system-ui | 12px | 600 | 1.15 |
3.3 Hierarchy
Hierarchy is subtle. No huge jumps in size—max heading is 18px. This keeps everything compact and mobile-friendly. Weight changes and line height adjustments do most of the hierarchy work. Headings go heavier (500–600), captions lighter (400), buttons heavier (500–600). This is efficient: less risk of overflow, consistent rhythm.
4. Spacing & Layout
4.1 Spacing Scale
Base scale: 8px grid with smaller increments for fine control.
| Value | Rem | Count | Usage |
|---|---|---|---|
| 2px | 0.13rem | 2 | Hairline gaps |
| 4px | 0.25rem | 10 | Icon padding, tight gaps |
| 6px | 0.38rem | 2 | Minor inset padding |
| 8px | 0.50rem | 46 | Base gap, button vertical padding |
| 9.5px | 0.59rem | 1 | Odd spacing case |
| 12px | 0.75rem | 62 | Input padding, small component gaps |
| 16px | 1.00rem | 12 | Section padding, button horizontal padding |
| 20px | 1.25rem | 6 | Larger gaps |
| 24px | 1.50rem | 2 | Card padding |
| 32px | 2.00rem | 6 | Section spacing |
| 42.5px | 2.66rem | 1 | Unique layout element |
| 48px | 3.00rem | 1 | Large block spacing |
| 72px | 4.50rem | 2 | Hero section gap |
4.2 Layout
Breakpoints:
400px, 540px, 695px, 696px, 720px, 820px, 900px, 959px, 960px, 1024px, 1030px, 1101px, 1191px, 1192px, 1250px, 1400px, 1423px, 1424px, 1727px, 1728px.
This is a granular responsive system—likely tuned for specific device widths. Mobile-first, scaling up with additional layout adjustments at each step.
5. Visual Elements
Border Radius
Values range from subtle rounding to full pills:
| Radius | Count | Usage |
|---|---|---|
| 4px | 1 | Small div corners |
| 6px | 2 | Small div corners |
| 10px | 1 | Medium rounding |
| 12px | 7 | Cards, iframes |
| 16px | 30 | Buttons, divs |
| 20px | 41 | Images, spans |
| 44px | 3 | Large pill buttons |
| 100px | 8 | Large pills |
| 999px | 10 | Fully pill shapes |
| 50% | 7 | Perfect circles |
Shadows
Two shadow styles:
rgba(0,0,0,0.08) 0px 4px 32px, rgba(0,0,0,0.04) 0px 1px 4px— High depthrgba(0,0,0,0.04) 0px 2px 8px, rgba(0,0,0,0.02) 0px 1px 2px— Light depth
Shadows are soft, layered, no hard edges.
Borders
Mostly 1px solid rgba(0,0,0,0.08) for subtle dividers. Rare 2px and directional borders.
6. Components
6.1 Buttons
Primary CTA (submit)
- Default: bg
rgb(255,36,66), text white, radius999px, no border, fw 600, fs 16px - Hover: text
var(--color-primary-label), bgvar(--fill1) - Active: bg
var(--color-tertiary-label), textvar(--color-primary-label) - Focus: outline
2px solid var(--link-accent)
Login (reds-button-new)
- Default: bg
#ff2e4d, text white, padding0 24px, radius100px, fw 600, fs 16px - Hover/Active/Focus: same as above
Secondary (btn-wrapper)
- Default: bg white, text
rgba(51,51,51,0.8), radius44px, fs 14px, fw 400 - Hover: text
var(--color-primary-label)
6.2 Links
Variants:
#13386c, fw 400, no underline#0000ee, fw 400, no underlinergba(51,51,51,0.6), fw 600, no underline
6.3 Forms
Text inputs:
- BG transparent or
rgba(0,0,0,0.03) - Text
#333 - Radius
0or999px - Focus:
box-shadow: 0 0 0 1000px var(--elevation-high-background) inset
6.4 Cards
No explicit card component extracted, but shadows and radii suggest: bg white, radius 12–20px, 1px border rgba(0,0,0,0.08), shadow for elevation.
7. Design Tokens
:root {
/* Colors */
--bg-primary: #ff2e4d;
--color-tinted-red: rgba(255,36,66,0.06);
--bg: #ffffff;
--color-primary-label: #333333;
--bg0: #f5f5f5;
--primary-bg-disabled: rgba(48,48,52,0.15);
--background-color: white;
--border-color: #eeeeee;
--color-secondary-label: rgba(51,51,51,0.8);
--modal-mask-color: #00000080;
--text-color: #000000D9;
--color-link: #13386c;
--input-color: #00000008;
--label-color: #000000B2;
--toast-bg-color: #000000b3;
--color-blue: #3d8af5;
--color-vertical-channel: #fff9d5;
/* Typography */
--font-family-system: system-ui, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji,
-apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, system-ui, Helvetica Neue, Arial,
PingFang SC, PingFang TC, PingFang HK, Microsoft Yahei, Microsoft JhengHei;
/* Spacing */
--space-2: 2px;
--space-4: 4px;
--space-6: 6px;
--space-8: 8px;
--space-9-5: 9.5px;
--space-12: 12px;
--space-16: 16px;
--space-20: 20px;
--space-24: 24px;
--space-32: 32px;
--space-42-5: 42.5px;
--space-48: 48px;
--space-72: 72px;
/* Border Radius */
--radius-4: 4px;
--radius-6: 6px;
--radius-10: 10px;
--radius-12: 12px;
--radius-16: 16px;
--radius-20: 20px;
--radius-44: 44px;
--radius-100: 100px;
--radius-999: 999px;
--radius-50pct: 50%;
/* Shadows */
--shadow-high: rgba(0,0,0,0.08) 0px 4px 32px 0px, rgba(0,0,0,0.04) 0px 1px 4px 0px;
--shadow-low: rgba(0,0,0,0.04) 0px 2px 8px 0px, rgba(0,0,0,0.02) 0px 1px 2px 0px;
}8. AI Coding Assistant Prompt
# Xiaohongshu Design System Specification
You are a Xiaohongshu design expert. Build UIs matching their visual language exactly.
## Brand Context
Xiaohongshu is a social commerce platform with a bold, playful primary red and functional neutrals. It’s mobile-first, uses system fonts for speed, and relies on rounded shapes and soft shadows to keep the interface friendly.
## Color Palette
- Primary Red: #ff2e4d — CTAs, primary buttons, key actions
- Tinted Red: rgba(255,36,66,0.06) — subtle red-tinted surfaces
- White: #ffffff — page background, cards, modals
- Link Blue: #0000ee — inline links
- Navigation Blue: #13386c — navigation links
- Neutral Black 25%: rgba(0,0,0,0.25) — disabled icons
- Neutral Black 80%: rgba(51,51,51,0.8) — secondary labels
- Neutral Black: #333333 — body text
- Neutral Black D9: #000000D9 — high-contrast text
- Label Black B2: #000000B2 — secondary labels
- Toast Black b3: #000000b3 — notification bg
- Background Gray: #f5f5f5 — surfaces
- Border Gray: #eeeeee — dividers
- Disabled BG: rgba(48,48,52,0.15) — disabled buttons
- Input BG: rgba(0,0,0,0.03) — input fields
- Input Color Light: rgba(0,0,0,0.08) — placeholder shading
- Accent Blue: #3d8af5 — highlights
- Vertical Channel Yellow: #fff9d5 — highlight sections
- Modal Mask: #00000080 — modal overlay
## Typography
Font family: system-ui, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, system-ui, Helvetica Neue, Arial, PingFang SC, PingFang TC, PingFang HK, Microsoft Yahei, Microsoft JhengHei
| Level | Size | Weight | Line Height | Use For |
|-----------|-------|--------|-------------|--------------------|
| heading-1 | 18px | 600 | 1.20 | Page titles |
| heading-1 | 16px | 600 | 1.20 | Section headings |
| heading-1 | 16px | 400 | 1.38 | Subheadings |
| heading-1 | 16px | 500 | 1.00 | Compact headings |
| button | 16px | 600 | 1.15 | Primary buttons |
| link | 16px | 400 | 1.20 | Navigation links |
| link | 14px | 400 | 1.15 | Inline links |
| caption | 14px | 400 | 1.15 | Secondary text |
| caption | 14px | 500 | 1.15 | Emphasized captions|
| button | 14px | 500 | 1.15 | Secondary buttons |
| caption | 12px | 400 | 1.20 | Fine print |
| link | 12px | 400 | 1.20 | Small links |
| link | 12px | 600 | 1.15 | Emphasized small links |
| caption | 12px | 600 | 1.15 | Strong fine print |
## Spacing & Grid
Base: 8px grid
Scale: 2px, 4px, 6px, 8px, 9.5px, 12px, 16px, 20px, 24px, 32px, 42.5px, 48px, 72px
Map to components: button padding (8px vertical, 16px horizontal), card padding (24px), section gaps (32px–72px)
## Border Radius
- sm: 4px — small divs
- sm2: 6px — small divs
- md: 10px — medium rounding
- md2: 12px — cards, iframes
- lg: 16px — buttons, divs
- xl: 20px — images, spans
- pill-lg: 44px — large pill buttons
- pill-xl: 100px — large pills
- pill-full: 999px — pill shapes
- circle: 50% — avatars
## Shadows & Depth
- High: rgba(0,0,0,0.08) 0px 4px 32px, rgba(0,0,0,0.04) 0px 1px 4px
- Low: rgba(0,0,0,0.04) 0px 2px 8px, rgba(0,0,0,0.02) 0px 1px 2px
## Component Specifications
### Primary Button
Default: bg #ff2e4d, color #fff, padding 0, radius 999px, border none, fw 600, fs 16px
Hover: color var(--color-primary-label), bg var(--fill1)
Active: bg var(--color-tertiary-label), color var(--color-primary-label)
Focus: outline 2px solid var(--link-accent)
### Secondary Button
Default: bg #fff, color rgba(51,51,51,0.8), radius 44px, fs 14px, fw 400
Hover: color var(--color-primary-label)
### Input Fields
Transparent or rgba(0,0,0,0.03), text #333, radius 0 or 999px, padding 0 84px 0 16px
Focus: outline none, box-shadow 0 0 0 1000px var(--elevation-high-background) inset
### Cards
bg #fff, radius 12–20px, 1px solid rgba(0,0,0,0.08), shadow-high
## Layout & Responsive Rules
Breakpoints: 400px, 540px, 695px, 696px, 720px, 820px, 900px, 959px, 960px, 1024px, 1030px, 1101px, 1191px, 1192px, 1250px, 1400px, 1423px, 1424px, 1727px, 1728px
## Interaction Rules
Transitions: 150ms ease for hover/active/focus
Focus indicators: 2px solid var(--link-accent)
## DO List
- Use ONLY colors from the palette
- Maintain 8px grid—spacing must be multiples of 4px or 8px
- Use system-ui stack for all text
- Keep primary red for interactive elements only
- Apply correct radius values for component type
- Use soft shadows—no hard edges
- Optimize for mobile first
## DON'T List
- Don't invent new colors
- Don't mix sharp and rounded corners
- Don't apply primary red to non-interactive elements
- Don't use custom fonts
- Don't skip focus states
- Don't apply shadows with high opacity
## Code Examples
### Primary Button
```css
.btn-primary {
background: #ff2e4d;
color: #ffffff;
padding: 0;
border-radius: 999px;
font-weight: 600;
font-size: 16px;
border: none;
transition: background 150ms ease;
}
.btn-primary:hover {
color: #333333;
background: var(--fill1);
}
.btn-primary:focus {
outline: 2px solid var(--link-accent);
}
.btn-primary:disabled {
background: rgba(48,48,52,0.15);
cursor: not-allowed;
}
```
### Card
```css
.card {
background: #ffffff;
border-radius: 12px;
padding: 24px;
border: 1px solid rgba(0,0,0,0.08);
box-shadow: rgba(0,0,0,0.08) 0px 4px 32px, rgba(0,0,0,0.04) 0px 1px 4px;
}
```
### Input
```css
.input {
background: rgba(0,0,0,0.03);
color: #333333;
border: none;
border-radius: 999px;
padding: 0 84px 0 16px;
}
.input:focus {
outline: none;
box-shadow: 0 0 0 1000px var(--elevation-high-background) inset;
}
```9. Summary
TL;DR — Xiaohongshu’s system is built on a single bold red, functional neutrals, and a mobile-first grid. Rounded shapes and soft shadows keep it friendly, while system fonts keep it fast.
Brand Keywords
- red-forward
- mobile-practical
- rounded-friendly
- neutral-functional
- speed-optimized