Aliexpress Design System Deep Dive
1. Brand Overview
Aliexpress is built for speed and scale. It’s the storefront for millions of products, sellers, and categories, but the design language is surprisingly utilitarian. This isn’t a “boutique” e‑commerce brand — it’s a marketplace with a global audience, and the UI reflects that.
The vibe: functional, slightly bold, and unapologetically retail. There’s no shy use of reds and warm tones; the brand leans into high‑energy, urgency‑driven color psychology. Their design philosophy prioritizes clarity over ornamentation. You’ll notice minimal decoration, flat UI components, and a heavy reliance on consistent typography to hold the interface together.
The target audience is broad — from bargain hunters in the US to bulk buyers worldwide. That breadth forces the design system to be adaptable. The core elements are neutral enough to work with any category imagery, but the brand color pops wherever they need attention — CTAs, prices, and promotional banners.
Navigation is dense but structured. Breakpoints suggest they care about fine‑tuning layouts across a range of desktop widths, not just mobile vs. desktop. The grid is based on an 8px scale, which gives them predictable spacing even when cramming a lot of content into a page.
Typography is all TT Norms Pro — modern, geometric sans — with a large fallback stack to handle localization and font loading issues. This choice keeps the tone clean, but not sterile.
In short: Aliexpress’s system is a workhorse. It’s designed to handle thousands of permutations without breaking, while still shouting “buy now” through color and type hierarchy. They’ve nailed the practical side of retail UI.
2. Color System
2.1 Primary Colors
The heartbeat of Aliexpress’s palette is #ed383f — a saturated, warm red. This is classic retail psychology: red = urgency, deals, action. It’s paired with #fd384f (slightly pinker) for variation, and #d3031c for deeper accents. Compared to Amazon’s yellow/black combo, Aliexpress’s red is more aggressive — it pushes the user toward immediacy rather than reassurance.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| White | #ffffff | Background / text | Page backgrounds, content containers |
| Dark Gray | #666666 | Text secondary | Secondary body text |
| Medium Gray | #757575 | Text tertiary | Captions, subtle labels |
| Light Gray | #979797 | Disabled text | Inactive states |
| Near Black | #161616 | Text strong | High contrast text |
| Black | #000000 | Text / icons | Primary text, iconography |
| Brand Red | #ed383f | Primary accent | CTAs, sale prices |
| Warm Brown | #ab6d49 | Accent | Category highlights |
| Deep Red | #d3031c | Accent | Price emphasis |
| Pinkish Red | #fd384f | Accent | Promotional banners |
| Light Neutral | #cccccc | Border | Dividers, subtle outlines |
CSS variable colors (functional tokens):
--color-brand-disable: #ffb5bb — Disabled brand features--color-function-2-1: #3170ee — Functional blue--color-function-4-1: #ce7039 — Functional brown--color-success-primary: #096 — Success states--color-warning-primary: #f50 — Warning states--color-grey-1: #f5f5f5 — Light surface--color-grey-2: #ebebeb — Light border--color-grey-3: #ccc — Mid border--color-brand-bg: #ffe6e7 — Brand background tint
2.3 Color Relationships
Contrast is strong — #ffffff on #ed383f easily passes WCAG AA for text. The gray tones range from #666666 (dark enough for body copy on white) to #cccccc (border only). The palette is tuned for light mode; there’s no dark mode token set in the data.
Brand red (#ed383f) is always paired with white text for maximum legibility. Functional colors (blue, green, orange) are secondary and used sparingly — likely for status indicators.
2.4 Usage Guide
Works:
- Red (#ed383f) + white = CTA perfection.
- Grey (#666666) on white background = easy readability.
- Blue (#3170ee) for links, only when not competing with red CTAs.
Avoid:
- Red on brown (#ab6d49) — low contrast.
- Light gray text (#cccccc) for anything important — fails accessibility.
- Mixing success green (#096) with brand red — visual conflict.
3. Typography
3.1 Font Families
Primary: TT Norms Pro
Fallbacks: Open Sans, Roboto, Arial, Helvetica, SimSun
No Google Fonts or Adobe Fonts detected — likely self‑hosted.
This stack covers Latin and Chinese characters, ensuring global consistency. TT Norms Pro is geometric, giving a modern, clean look. It’s versatile enough for both bold headlines and small UI labels.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| H1 | TT Norms Pro | 44px | 700 | 1.20 |
| H1 | TT Norms Pro | 40px | 700 | — |
| H1 | TT Norms Pro | 32px | 400 | 0.00 |
| H1 | TT Norms Pro | 32px | 700 | — |
| H1 | TT Norms Pro | 28px | 700 | — |
| H1 | TT Norms Pro | 24px | 400 | — |
| H1 | TT Norms Pro | 22px | 400 | 1.40 |
| H1 | TT Norms Pro | 22px | 500 | — |
| H1 | TT Norms Pro | 20px | 500 | — |
| H1 | TT Norms Pro | 20px | 700 | — |
| H1 | TT Norms Pro | 20px | 600 | — |
| H1 | TT Norms Pro | 20px | 400 | — |
| H1 | TT Norms Pro | 18px | 700 | 0.00 |
| H1 | TT Norms Pro | 16px | 600 | 1.25 |
| H1 | TT Norms Pro | 16px | 700 | 1.25 |
| H1 | TT Norms Pro | 16px | 400 | 1.25 |
| Link | TT Norms Pro | 16px | 700 | 2.50 |
| Link | TT Norms Pro | 16px | 400 | 2.50 |
| H1 | TT Norms Pro | 16px | 500 | — |
| H1 | TT Norms Pro | 15px | 400 | — |
| Link | TT Norms Pro | 14px | 400 | — |
| Caption | TT Norms Pro | 14px | 400 | — |
| Caption | TT Norms Pro | 14px | 700 | — |
| Caption | TT Norms Pro | 14px | 600 | — |
| Link | TT Norms Pro | 14px | 700 | 1.43 |
| Caption | TT Norms Pro | 13px | 400 | 1.38 |
| Caption | TT Norms Pro | 12px | 400 | 1.00 |
| Caption | TT Norms Pro | 12px | 700 | 1.33 |
| Link | TT Norms Pro | 12px | 400 | — |
| Link | TT Norms Pro | 12px | 700 | 1.49 |
3.3 Hierarchy
They use size + weight to mark hierarchy. Large headings (44px, 700) for page titles, mid‑range (20px–28px) for section headers. Links often get heavier weights (700) even at small sizes to stand out. Captions drop to 12px–14px, keeping UI dense but legible.
4. Spacing & Layout
4.1 Spacing Scale
Base: 8px grid. Common values:
| px | rem | Count |
|---|---|---|
| 1 | 0.06rem | 9 |
| 3 | 0.19rem | 28 |
| 4 | 0.25rem | 150 |
| 5 | 0.31rem | 83 |
| 6 | 0.38rem | 52 |
| 8 | 0.50rem | 175 |
| 10 | 0.63rem | 15 |
| 11 | 0.69rem | 10 |
| 12 | 0.75rem | 80 |
| 14 | 0.88rem | 38 |
| 16 | 1.00rem | 25 |
| 20 | 1.25rem | 9 |
| 24 | 1.50rem | 45 |
| 25 | 1.56rem | 4 |
| 32 | 2.00rem | 8 |
| 40 | 2.50rem | 6 |
| 90 | 5.63rem | 3 |
| 95 | 5.94rem | 3 |
| 105 | 6.56rem | 6 |
| 255.984 | 16.00rem | 60 |
4.2 Layout
Breakpoints:
- 768px, 1019px, 1230px, 1279px, 1280px, 1439px, 1440px, 1551px, 1552px, 1791px, 1792px.
These suggest fine adjustments at specific widths — likely for grid realignment and different product card counts.
5. Visual Elements
Border Radius
Values:
- 0px 0px 16px 16px — rounded bottoms (cards, modals)
- 0px 8px 8px 0px — asymmetrical (modals)
- 2px — subtle rounding (badges)
- 6px — small rounding
- 15px — soft rounding
- 16px — consistent rounding
- 20px — larger corners (inputs)
- 24px — big cards
- 30px — large radius
- 50% — circular (avatars)
Shadows
Mostly subtle:
- rgba(0,0,0,0.1) 0px 4px 15px
- rgba(0,0,0,0.02) -4px 4px 4px
- Heavy overlay: rgba(0,0,0,0.5) 0px 1188px 0px 1080px
Shadows are used sparingly — flat feel dominates.
Borders
Common:
- 1px solid rgb(25,25,25) — strong dividers
- 1px solid rgba(0,0,0,0.1) — subtle outlines
- 0px none — many components are borderless
6. Components
6.1 Buttons
Extracted default button:
- Background: #ffffff
- Color: #000000
- Padding: 0px
- Border radius: 0px
- Border: none
- Font: TT Norms Pro, 14px, weight 400
No hover/active states captured in data — likely styled elsewhere.
6.2 Links
Multiple variants:
- Default: color varies (#000000, #3a3e4a, #ffffff, #fd384f, etc.)
- Hover: always #ff9900
- No underline in any state
6.3 Forms
Text input:
- Default: white background, black text, no border, padding-left: 10px
- Focus: border color #cccccc, white background, no outline
6.4 Cards
No explicit card spec in data, but border radius values and subtle shadows suggest clean, flat cards with rounded bottoms.
7. Design Tokens (CSS)
:root {
/* Colors */
--color-white: #ffffff;
--color-black: #000000;
--color-dark-gray: #666666;
--color-medium-gray: #757575;
--color-light-gray: #979797;
--color-near-black: #161616;
--color-brand-red: #ed383f;
--color-warm-brown: #ab6d49;
--color-deep-red: #d3031c;
--color-pinkish-red: #fd384f;
--color-border-gray: #cccccc;
--color-brand-disable: #ffb5bb;
--color-function-blue: #3170ee;
--color-function-brown: #ce7039;
--color-success-primary: #009966;
--color-warning-primary: #ff5500;
--color-grey-1: #f5f5f5;
--color-grey-2: #ebebeb;
--color-grey-3: #cccccc;
--color-brand-bg: #ffe6e7;
/* Typography */
--font-primary: "TT Norms Pro", "Open Sans", "Roboto", "Arial", "Helvetica", "SimSun";
/* Spacing */
--space-1: 1px;
--space-3: 3px;
--space-4: 4px;
--space-5: 5px;
--space-6: 6px;
--space-8: 8px;
--space-10: 10px;
--space-11: 11px;
--space-12: 12px;
--space-14: 14px;
--space-16: 16px;
--space-20: 20px;
--space-24: 24px;
--space-25: 25px;
--space-32: 32px;
--space-40: 40px;
--space-90: 90px;
--space-95: 95px;
--space-105: 105px;
--space-256: 255.984px;
/* Border Radius */
--radius-none: 0;
--radius-sm: 2px;
--radius-md: 6px;
--radius-lg: 15px;
--radius-xl: 16px;
--radius-xxl: 20px;
--radius-huge: 24px;
--radius-30: 30px;
--radius-round: 50%;
/* Shadows */
--shadow-md: rgba(0,0,0,0.1) 0px 4px 15px;
--shadow-light: rgba(0,0,0,0.02) -4px 4px 4px;
--shadow-overlay: rgba(0,0,0,0.5) 0px 1188px 0px 1080px;
}8. AI Coding Assistant Prompt
# Aliexpress Design System Specification
You are an Aliexpress design expert. Build UIs matching their visual language exactly.
## Brand Context
Aliexpress is a high-volume retail marketplace. The design system is flat, functional, and high-energy, with bold reds for CTAs and clean typography. It uses an 8px spacing grid and TT Norms Pro for all text.
## Color Palette
- White: #ffffff — Backgrounds, text on red
- Dark Gray: #666666 — Secondary text
- Medium Gray: #757575 — Tertiary text
- Light Gray: #979797 — Disabled text
- Near Black: #161616 — Strong text
- Black: #000000 — Primary text, icons
- Brand Red: #ed383f — CTAs, sale prices
- Warm Brown: #ab6d49 — Accent
- Deep Red: #d3031c — Price emphasis
- Pinkish Red: #fd384f — Promo banners
- Border Gray: #cccccc — Dividers
- Brand Disable: #ffb5bb — Disabled brand elements
- Function Blue: #3170ee — Links, functional actions
- Function Brown: #ce7039 — Category accents
- Success Primary: #009966 — Success states
- Warning Primary: #ff5500 — Warning states
- Grey-1: #f5f5f5 — Light surfaces
- Grey-2: #ebebeb — Light borders
- Grey-3: #cccccc — Mid borders
- Brand BG: #ffe6e7 — Brand background tint
## Typography
Font family: "TT Norms Pro", "Open Sans", "Roboto", "Arial", "Helvetica", "SimSun"
| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 44px | 700 | 1.20 | Page title |
| H1 | 40px | 700 | — | Hero title |
| H1 | 32px | 400 | 0.00 | Large body |
| H1 | 32px | 700 | — | Section header |
| H1 | 28px | 700 | — | Subheader |
| H1 | 24px | 400 | — | Body intro |
| ... | ... | ... | ... | ... |
## Spacing & Grid
Base: 8px. Scale includes 4px, 8px, 12px, 16px, 24px, 32px, 40px, 90px, 105px, 255.984px. All spacing must be multiples of 4px.
## Border Radius
- none: 0px — Tables, flat elements
- sm: 2px — Badges
- md: 6px — Small cards
- lg: 15px — Medium cards
- xl: 16px — Bottom rounds
- xxl: 20px — Inputs
- huge: 24px — Large cards
- 30px — Large pill shapes
- round: 50% — Avatars
## Shadows & Depth
- Medium: rgba(0,0,0,0.1) 0px 4px 15px
- Light: rgba(0,0,0,0.02) -4px 4px 4px
- Overlay: rgba(0,0,0,0.5) 0px 1188px 0px 1080px
## Component Specifications
### Primary Button
Default:
- Background: #ffffff
- Color: #000000
- Padding: 0px
- Border radius: 0px
- Border: none
- Font: TT Norms Pro, 14px, weight 400
Hover: state not specified — follow brand hover (color: #ff9900)
Focus: outline: none
Disabled: opacity 0.5
### Link
Default: color varies (#000000, #3a3e4a, #ffffff, #fd384f)
Hover: color #ff9900, no underline
### Input Field
Default: white background, black text, no border, padding-left 10px
Focus: border color #cccccc, background white, no outline
## Layout & Responsive Rules
Max content width: not explicit; breakpoints at 768px, 1019px, 1230px, 1279px, 1280px, 1439px, 1440px, 1551px, 1552px, 1791px, 1792px
Grid gap: multiples of 8px
## Interaction Rules
- Transition timing: 150ms ease for state changes
- Hover: color change to #ff9900
- Focus: border or outline per component spec
## DO List
- Use ONLY colors from palette
- Maintain 8px grid
- Use TT Norms Pro for all text
- Keep links underline-free
- Keep hover color #ff9900 consistent
- Round corners per radius tokens
## DON'T List
- Don't invent new colors
- Don't mix sharp and rounded corners in same component
- Don't use heavy shadows
- Don't underline links
- Don't use gray text for important info
## Code Examples
### Button
```css
.btn-primary {
background: #ffffff;
color: #000000;
padding: 0;
border-radius: 0;
font-family: var(--font-primary);
font-size: 14px;
font-weight: 400;
border: none;
transition: color 150ms ease;
}
.btn-primary:hover { color: #ff9900; }
.btn-primary:disabled { opacity: 0.5; cursor: not-allowed; }Card
.card {
background: #ffffff;
border-radius: 16px;
padding: var(--space-16);
box-shadow: var(--shadow-md);
}Input
.input {
background: #ffffff;
color: #000000;
border: none;
border-radius: 20px;
padding-left: 10px;
}
.input:focus {
border-color: #cccccc;
outline: none;
}
---
## 9. Summary
**TL;DR** — Aliexpress’s design system is flat, functional, and optimized for high‑volume retail. Bold reds drive action, TT Norms Pro keeps text clean, and an 8px grid holds layouts together. Minimal shadows, consistent hover color (#ff9900), and a predictable radius scale make it easy to maintain.
**Brand Keywords**:
- high-energy-retail
- global-functional
- flat-ui
- urgency-driven