Overview
User profile images with fallback initials, status indicators and group stacking.
Avatar sizes
Initials provide a resilient fallback when no profile image is available.
Use an avatar to identify a person or organization in compact, repeated interfaces such as tables, comments, and account menus.
Anatomy
- Root container and spacing boundary.
- Primary content and optional secondary metadata.
- State indicators and utility affordances (icons, badges, controls).
- Optional helper text, grouping, and behavioral wrappers.
When to use
- Choose Avatar when a repeated, structured interaction is required.
- Use it for clear, consistent operations across similar surfaces.
- Use in forms, lists, and action workflows where clarity matters.
When not to use
- Do not use only for decorative layout without interaction meaning.
- Avoid duplicating the same behavior without distinct user context.
- Prefer simpler HTML or textual content for static, non-interactive labels.
Variants
Component variants should be documented by API props and examples below.
States
Common states include idle, active, disabled, focused, and loading/pending states where applicable.
Behavior
Behavior should remain deterministic and keyboard-friendly, with clear visual feedback for every state transition.
Accessibility
- Use semantic structure and visible labels whenever possible.
- Preserve keyboard navigation and focus visibility.
- Announce status and changes when context requires it.
Content guidelines
- Prefer short, clear labels.
- Keep content actions scannable and outcome-oriented.
- Use consistent wording across similar components.
Examples
Sizes
6 sizes from xs to 2xl — fallback to initials when no image is provided
All sizes with image
Same 6 sizes with a real image src
With image
Automatically falls back to initials if the image fails to load
Fallback initials
Generates initials from the name prop — JD, AW, BL, SC
Shape
Circle (default) or square with size-appropriate border radius
Square shape
Square shape across sizes — works with initials and images
Status indicators
Online (green), offline (gray), away (amber) and busy (red)
All status indicators
Status dots at lg size for better visibility
Avatar group
Stacks avatars with overlap — extras beyond max collapse into a count badge
Avatar group sizes
Group size prop is passed to all child avatars
Props / API
Api Props
Props