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]