Naming Conventions

Establish consistent, audience-appropriate naming patterns across your design system

The Audience-First Approach

Naming conventions in a Design System should vary depending on the user group

Designers and developers should speak the same language—at least for the things they both care about, like Design Tokens. The others honestly don't care about tokens 😅

For other Design System users — like agencies (internal and external), brand managers, product managers, contributors, etc. the language should align around components, documentation, and implementation.

I ran several UX research sessions and surveys, and I was surprised to see how different markets and teams within the same company use different terms when it comes to building websites and digital experiences. And most of them don't care how you name Components or Tokens in Figma and Code.

For leadership, it's mostly about results, numbers, and sometimes how to differentiate design systems (design system products) within the company.

What Works

✓ Tailoring naming to specific audiences

✓ Consistent naming within each domain

✓ Clear documentation of naming patterns

✓ Using familiar industry terms for each group

✓ Creating translation guides between domains

What Doesn't Work

✗ One-size-fits-all naming conventions

✗ Overly technical names for non-technical users

✗ Inconsistent naming within a domain

✗ Changing established naming patterns frequently

✗ Using internal jargon with external partners

Common Naming Elements

Understanding the building blocks of naming conventions

Prefixes

Used to namespace components or indicate ownership. Examples: ds-, ui-, app-

Case Styles

  • camelCase: First word lowercase, others capitalized
  • PascalCase: All words capitalized
  • kebab-case: All lowercase with hyphens
  • snake_case: All lowercase with underscores

Common Modifiers

  • States: Default, Hover, Active, Disabled
  • Sizes: XS, SM, MD, LG, XL
  • Variants: Primary, Secondary, Tertiary
  • Categories: Form, Navigation, Layout

Element Types

  • Components: Reusable UI elements
  • Design Tokens: Visual design properties
  • Patterns: Combined components and behaviors
  • Utilities: Helper functions/classes

Component Naming Patterns

Strategies for naming components consistently

For Development

  • ButtonPrimary (PascalCase for React)
  • ds-button-primary (kebab-case for CSS)
  • useButtonState (camelCase for hooks)

For Design

  • Button / Primary / Default (in Figma)
  • Button/Primary/Hover (in Sketch)

Good Practices

  • Name by function not appearance (NavigationCard, not BlueCard)
  • Create clear hierarchies (Card → MediaCard → ProductMediaCard)
  • Follow platform conventions (PascalCase for React components)

Token Naming Patterns

Strategies for naming design tokens consistently

Common Formats

  • --color-background-primary (CSS variables)
  • colors.background.primary (JSON structure)
  • $color-background-primary (SCSS variables)

Token Categories

  • • color
  • • typography
  • • spacing
  • • sizing
  • • shadow
  • • border
  • • opacity
  • • z-index

Structure

Token names typically follow this structure:

[category]-[type]-[scale/variant]-[state]