USPS Brand Design System Deep-Dive
1. Brand Overview
The USPS.com interface feels exactly like what you’d expect from a national postal service: utilitarian, trustworthy, and a little conservative. This isn’t a brand chasing trends—it’s built for millions of users who need clarity over style. You can feel the weight of government service in the design choices—strong blues, heavy Helvetica Neue, and a grid that’s more functional than artistic.
The vibe is serious and dependable. They’re not playing with gradients, glassmorphism, or quirky animations. Everything is grounded in a legacy of print and signage design. The primary blue (#333366) is a darker, more muted tone than tech brands use—it’s closer to Navy uniforms than to Facebook’s neon blue. That choice says "institution" rather than "startup."
You’ll notice they use Bootstrap and Vuetify under the hood. That means the structure is familiar to developers—container/row/col grid, predictable breakpoints—but they’ve layered USPS-specific colors, typography, and spacing rules on top.
The brand’s design philosophy is straightforward: make it easy to find a service, fill out a form, and get back to your life. The interface prioritizes legibility over visual flourishes. Helvetica Neue plays the role of the national sans serif—clean, neutral, and instantly readable.
If you’re designing within this system, think signage, not storytelling. The USPS isn’t trying to charm you with microcopy or surprise you with whimsical illustrations. They’re here to deliver, literally and figuratively. That means high-contrast text, predictable button states, and a color palette that marries federal seriousness with functional clarity.
2. Color System
2.1 Primary Colors
The main brand color is #333366 (RGB 51, 51, 102). This is a deep, muted blue—almost indigo. It’s the workhorse color for headers, buttons, and key brand elements. Psychologically, dark blue signals trust, reliability, and authority. It’s no coincidence that banks, airlines, and government services favor it.
Competitor comparison: FedEx uses a split palette of purple and orange (more dynamic, more corporate). UPS uses brown and gold (heritage-driven). USPS’s deep blue positions them as the “official” choice—calm, confident, and without commercial flash.
2.2 Complete Palette
| Color Name | Hex | Role | Usage |
|---|---|---|---|
| Primary Blue | #333366 | Brand primary | Headers, primary buttons, borders |
| Black | #000000 | Neutral | Icons, text, UI controls |
| White | #ffffff | Neutral background | Page background, text on dark |
| Dark Gray | #202020 | Neutral text | Search input text |
| Bright Blue | #007bff | Accent | Logos, footer links |
| Medium Gray | #575757 | Secondary text | Links, minor labels |
| Link Blue | #337ab7 | Link color | Buttons, links |
| Light Gray | #999999 | Neutral | Search borders |
| Lightest Gray | #ededed | Background hover | Hover states |
| Deep Blue Hover | #0056b3 | Hover accent | Hover/focus states |
| Off-White | #f7f7f7 | Background | Hover/focus states |
2.3 Color Relationships
The palette is mostly cool-toned. Blue dominates, with grays and whites as neutral companions. Contrast is solid—white text on #333366 passes WCAG AA easily. Black on white is standard for form fields and body text. The accent blue (#007bff) pops against neutrals but is used sparingly, keeping the visual hierarchy stable.
There’s no dark mode. Accessibility is handled via high contrast and consistent link behaviors.
2.4 Usage Guide
- Good combos:
#333366background +#fffffftext (primary buttons, headers);#ffffffbackground +#202020text (body copy). - Avoid:
#999999text on#edededbackground—too low contrast. - Accent discipline: Keep
#007bfffor logos and footer links; don’t turn every button bright blue. - Hover logic: Links shift to
#0056b3on hover—keep that consistent.
3. Typography
3.1 Font Families
Primary font family: HelveticaNeueW02-75Bold and HelveticaNeueW02-55Roma. Fallbacks: Helvetica Neue, Helvetica, Arial. This is a custom Helvetica Neue webfont—likely licensed, not Google Fonts. No variable fonts, no Adobe Fonts integration.
Open Sans appears only in captions and small buttons—so it’s secondary.
3.2 Type Scale
| Element | Font | Size | Weight | Line Height |
|---|---|---|---|---|
| H1 | HelveticaNeueW02-75Bold | 48px | 500 | 1.08 |
| H1 | HelveticaNeueW02-75Bold | 40px | 500 | 1.20 |
| H1 | HelveticaNeueW02-75Bold | 36px | 400 | 0.61 |
| H1 | HelveticaNeueW02-75Bold | 32px | 500 | 1.13 |
| Button | HelveticaNeueW02-55Roma | 32px | 700 | 1.00 |
| H1 | HelveticaNeueW02-75Bold | 24px | 500 | 1.17 |
| H1 | HelveticaNeueW02-75Bold | 22px | 500 | 1.09 |
| Link | HelveticaNeueW02-55Roma | 18px | 400 | 1.50 |
| H1 | HelveticaNeueW02-75Bold | 18px | 500 | 1.11 |
| Link | HelveticaNeueW02-75Bold | 18px | 500 | 1.11 |
| H1 | HelveticaNeueW02-55Roma | 18px | 400 | 1.22 |
| H1 | HelveticaNeueW02-75Bold | 16px | 400 | 1.05 |
| H1 | HelveticaNeueW02-55Roma | 16px | 400 | 1.38 |
| Link | HelveticaNeueW02-55Roma | 16px | 400 | 1.38 |
| Link | HelveticaNeueW02-75Bold | 16px | 400 | 1.38 |
| H1 | HelveticaNeueW02-75Bold | 16px | 500 | 1.13 |
| Button | HelveticaNeueW02-55Roma | 16px | 400 | 1.50 |
| H1 | HelveticaNeueW02-75Bold | 15px | 400 | 1.47 |
| Link | HelveticaNeueW02-55Roma | 14px | 400 | 3.57 |
| Link | HelveticaNeueW02-75Bold | 14px | 400 | 1.05 |
| Caption | HelveticaNeueW02-75Bold | 14px | 400 | 1.20 |
| Caption | Open Sans | 14px | 400 | 2.50 |
| Caption | HelveticaNeueW02-55Roma | 12px | 400 | 1.17 |
| Link | HelveticaNeueW02-65Medi | 11px | 400 | 1.82 |
| Link | HelveticaNeueW02-75Bold | 10px | 400 | 1.05 |
| Caption | HelveticaNeueW02-75Bold | 10px | 400 | 1.05 |
| Link | HelveticaNeueW02-55Roma | 10px | 400 | 1.05 |
| Caption | HelveticaNeueW02-55Roma | 10px | 400 | 1.05 |
| Button | HelveticaNeueW02-55Roma | 10px | 400 | 1.50 |
| Button | Open Sans | 10px | 400 | 1.50 |
3.3 Hierarchy
The scale is tight—no massive jumps between heading sizes. That keeps the interface compact. Buttons use both large (32px) and small (16px, 10px) sizes—odd mix, but functional. Captions drop to 10px or 12px, which is borderline small for accessibility. High weights (500, 700) make up for the small sizes in legibility.
4. Spacing & Layout
4.1 Spacing Scale
Base unit: 8px-ish, but with odd decimals (2px, 3.75px). Frequent values: 7px (184 uses), 10px (187 uses). They lean on small paddings—tight design.
| Value | Rem | Count |
|---|---|---|
| 2px | 0.13rem | 7 |
| 3px | 0.19rem | 16 |
| 3.75px | 0.23rem | 6 |
| 5px | 0.31rem | 64 |
| 7px | 0.44rem | 184 |
| 10px | 0.63rem | 187 |
| 14px | 0.88rem | 34 |
| 15px | 0.94rem | 53 |
| 17.5px | 1.09rem | 2 |
| 18px | 1.13rem | 4 |
| 20px | 1.25rem | 31 |
| 25px | 1.56rem | 16 |
| 30px | 1.88rem | 13 |
| 35px | 2.19rem | 12 |
| 38px | 2.38rem | 14 |
| 40px | 2.50rem | 2 |
| 48px | 3.00rem | 22 |
| 50px | 3.13rem | 2 |
| 60px | 3.75rem | 4 |
| 80px | 5.00rem | 1 |
4.2 Layout
Breakpoints are typical Bootstrap plus some custom: 360px, 576px, 768px, 992px, 1200px, and up to 1800px. They clearly support very wide desktops. The grid is Bootstrap—container widths scale at these breakpoints.
5. Visual Elements
Border Radius
Values range from sharp (0px) to moderately rounded (12px). Common: 3px radius (26 uses), 5px (18 uses), 12px (13 uses). No pill shapes—this isn’t a rounded brand.
Shadows
Only one real shadow: rgb(153, 153, 153) 0px 2px 1px 0px (used 13 times). Mostly flat.
Borders
Primary border color: #333366 (1px solid). Also light gray #d9d9d9 for cards, and #999999 for forms. Borders are used more than shadows for depth.
6. Components
6.1 Buttons
Search Button
- Default:
background: #ffffff,color: #212529,border-radius: 0px 2.5px 2.5px 0px, no border. - Hover:
background: #f7f7f7,border: 1px solid #ededed. - Active:
background: #343a40,color: #ffffff. - Focus:
background: #d9d9d9,color: #ffffff,border: 1px solid #ededed.
Primary Button
- Default:
background: #333366,color: #ffffff,padding: 0px 20px,border-radius: 3px,border: 1px solid #333366. - Hover:
background: #f7f7f7,color: #ffffff, opacity 0.9, border#ededed. - Active:
background: #e9ecef,color: #212529. - Focus:
background: #002850, opacity 0.25, outline#0a8efb solid 1px.
6.2 Links
Multiple link styles:
- Gray (
#575757) default, hover blue (#005ea2). - Blue (
#007bff) default, hover darker blue. - White text links underline by default, lose underline on hover.
6.3 Forms
Inputs default to white, dark gray text, border-radius: 5px. Focus adds blue shadow (rgba(0,123,255,0.25)).
6.4 Cards
Cards have border: 1px solid #d9d9d9, border-radius: 12px. No shadows—flat style.
7. Design Tokens (CSS Custom Properties)
:root {
/* Colors */
--color-primary: #333366;
--color-black: #000000;
--color-white: #ffffff;
--color-dark-gray: #202020;
--color-bright-blue: #007bff;
--color-medium-gray: #575757;
--color-link-blue: #337ab7;
--color-light-gray: #999999;
--color-lightest-gray: #ededed;
--color-deep-blue-hover: #0056b3;
--color-off-white: #f7f7f7;
/* Typography */
--font-primary-bold: "HelveticaNeueW02-75Bold", "Helvetica Neue", Helvetica, Arial;
--font-primary-regular: "HelveticaNeueW02-55Roma", "Helvetica Neue", Helvetica, Arial;
--font-secondary: "Open Sans";
/* Spacing */
--space-2: 2px;
--space-3: 3px;
--space-3-75: 3.75px;
--space-5: 5px;
--space-7: 7px;
--space-10: 10px;
--space-14: 14px;
--space-15: 15px;
--space-17-5: 17.5px;
--space-18: 18px;
--space-20: 20px;
--space-25: 25px;
--space-30: 30px;
--space-35: 35px;
--space-38: 38px;
--space-40: 40px;
--space-48: 48px;
--space-50: 50px;
--space-60: 60px;
--space-80: 80px;
/* Border Radius */
--radius-none: 0px;
--radius-2-5: 2.5px;
--radius-3: 3px;
--radius-5: 5px;
--radius-10: 10px;
--radius-12: 12px;
/* Shadows */
--shadow-default: rgb(153, 153, 153) 0px 2px 1px 0px;
}8. AI Coding Assistant Prompt
# USPS Design System Specification
You are a USPS design expert. Build UIs matching their visual language exactly.
## Brand Context
USPS design is institutional, functional, and high-contrast. It uses dark blues, grays, and white for clarity, with Helvetica Neue for all major text. Components are flat, with minimal shadows, and spacing is tight.
## Color Palette
- Primary Blue: #333366 — Headers, primary buttons, borders
- Black: #000000 — Icons, text
- White: #ffffff — Backgrounds, text on dark
- Dark Gray: #202020 — Input text
- Bright Blue: #007bff — Logos, footer links
- Medium Gray: #575757 — Secondary text
- Link Blue: #337ab7 — Links, secondary buttons
- Light Gray: #999999 — Search borders
- Lightest Gray: #ededed — Hover backgrounds
- Deep Blue Hover: #0056b3 — Hover states
- Off-White: #f7f7f7 — Background hover
## Typography
Fonts:
- Headings: "HelveticaNeueW02-75Bold", "Helvetica Neue", Helvetica, Arial
- Body: "HelveticaNeueW02-55Roma", "Helvetica Neue", Helvetica, Arial
- Captions/Small: "Open Sans"
| Level | Size | Weight | Line Height | Use For |
|-------|------|--------|-------------|---------|
| H1 | 48px | 500 | 1.08 | Page titles |
| H1 | 40px | 500 | 1.20 | Section titles |
| H1 | 36px | 400 | 0.61 | Compact headings |
| ... | ... | ... | ... | ... |
## Spacing & Grid
Base: 8px scale with variations (2px, 3.75px, 5px, 7px, 10px, etc.)
Use multiples for padding/margins.
## Border Radius
- none: 0px — sharp edges
- sm: 2.5px — search bar ends
- md: 3px — small buttons
- lg: 5px — inputs
- xl: 12px — cards
## Shadows & Depth
- Default shadow: rgb(153, 153, 153) 0px 2px 1px 0px
Mostly flat—borders define separation.
## Component Specifications
### Primary Button
Default: background #333366, color #ffffff, padding 0px 20px, border-radius 3px, border 1px solid #333366.
Hover: background #f7f7f7, border #ededed.
Active: background #e9ecef, color #212529.
Focus: background #002850, outline #0a8efb solid 1px.
### Search Button
Default: background #ffffff, color #212529, border-radius 0px 2.5px 2.5px 0px.
Hover: background #f7f7f7, border #ededed.
Active: background #343a40, color #ffffff.
Focus: background #d9d9d9, border #ededed.
### Links
Gray links: default #575757, hover #005ea2.
Blue links: default #007bff, hover #005ea2.
### Input Fields
Default: background #ffffff, color #202020, border-radius 5px, padding 10px 0px 10px 18px.
Focus: box-shadow rgba(0,123,255,0.25) 0px 0px 0px 0.2rem, border-color #80bdff.
### Cards
Background #ffffff, border 1px solid #d9d9d9, border-radius 12px.
## Layout & Responsive Rules
Breakpoints: 360px, 576px, 768px, 992px, 1200px, 1800px.
Bootstrap grid—container widths scale at these.
## Interaction Rules
Transitions: 150ms ease for hover/focus.
Focus indicators: visible outlines with brand blue.
## DO List
- Use only palette colors.
- Keep spacing to multiples of base scale.
- Maintain flat design—minimal shadows.
- Use Helvetica Neue for all text.
- Keep link hover color consistent.
## DON'T List
- Introduce unapproved colors.
- Use large border-radius (no pills).
- Add heavy shadows.
- Reduce contrast below WCAG AA.
## Code Examples
### Primary Button
```css
.button--primary {
background: #333366;
color: #ffffff;
padding: 0px 20px;
border-radius: 3px;
border: 1px solid #333366;
font-family: var(--font-primary-bold);
font-size: 16px;
}
.button--primary:hover {
background: #f7f7f7;
border: 1px solid #ededed;
}
```
### Input Field
```css
.input--text {
background: #ffffff;
color: #202020;
border-radius: 5px;
padding: 10px 0px 10px 18px;
}
.input--text:focus {
box-shadow: rgba(0, 123, 255, 0.25) 0px 0px 0px 0.2rem;
border-color: #80bdff;
}
```
### Card
```css
.card {
background: #ffffff;
border: 1px solid #d9d9d9;
border-radius: 12px;
padding: var(--space-20);
}
```9. Summary
TL;DR — USPS design is functional, flat, and high-contrast. It uses deep blue and Helvetica Neue to project authority, with tight spacing and minimal shadows.
Brand Keywords — institutional-functional, blue-authority, flat-ui, signage-driven, bootstrap-structured