Skip to component content

Represent people, teams, or accounts with a compact image or initials fallback.

Illustrated profile photo of Cangir CA Black and white bull mascot avatar BM
Illustrated profile photo of Cangir CA Profile photo of Cangir at a marina CA Black and white bull mascot avatar BM 3

Usage

Use .avatar to represent a person, team, account, or automated actor in a compact space. Bootstrap does not provide a native avatar component, so Moo UI keeps the shape as a documented extension while relying on ordinary image behavior: real photos render through an img element, stay constrained by the avatar container, and need meaningful alt text when the image identifies the subject.

Render the image and initials fallback together so the fallback is ready when media fails or no image exists. Keep initials short, use an accessible name for fallback-only avatars, and avoid putting job titles or long status text inside the avatar itself; place that supporting copy next to the avatar where it can wrap normally.

Attach small status badges to the avatar edge only when they add immediate meaning, and give dot or icon badges an accessible label. For avatar groups, keep the visible stack short, preserve each avatar's name, and add a count chip when the group hides additional people.

Basic

Image avatars keep people recognizable while initials stay ready for missing media.

Avatar
Profile photo of Cangir at a marina CA
Cangir
Core maintainer
<div class="d-flex align-items-center gap-3">
  <span class="avatar avatar--has-image">
    <img src="../../assets/images/avatars/cangir-marina.webp" alt="Profile photo of Cangir at a marina">
    <span class="avatar-fallback">CA</span>
  </span>
  <div>
    <div class="fw-medium">Cangir</div>
    <div class="text-body-secondary small">Core maintainer</div>
  </div>
</div>

Fallback initials

Use initials when no image is available. The fallback still needs an accessible name through aria-label.

Avatar
MU
Moo UI
Design system
<div class="d-flex align-items-center gap-3">
  <span class="avatar" role="img" aria-label="Moo UI">
    <span class="avatar-fallback">MU</span>
  </span>
  <div>
    <div class="fw-medium">Moo UI</div>
    <div class="text-body-secondary small">Design system</div>
  </div>
</div>

Badge

Use a small corner badge for queue status or attention counts without adding another column.

Avatar
Illustrated profile photo of CNGR CA
CNGR
Available for review
<div class="d-flex align-items-center gap-3">
  <span class="avatar avatar--has-image">
    <img src="../../assets/images/avatars/cangir.webp" alt="Illustrated profile photo of CNGR">
    <span class="avatar-fallback">CA</span>
    <span
           class="avatar-badge avatar-badge--dot bg-success"
    role="status" aria-label="Available"      >
    </span>
  </span>
  <div>
    <div class="fw-medium">CNGR</div>
    <div class="text-body-secondary small">Available for review</div>
  </div>
</div>

Badge with icon

Use an icon badge when the avatar needs one compact action cue.

Avatar
Black and white bull mascot avatar BM
<span class="avatar avatar--has-image">
  <img src="../../assets/images/avatars/bull.webp" alt="Black and white bull mascot avatar">
  <span class="avatar-fallback">BM</span>
  <span
          class="avatar-badge avatar-badge--icon bg-primary text-white"
   role="status" aria-label="Add mascot"      >
    <i class="lucide lucide-plus" data-icon="inline-start" aria-hidden="true"></i>
  </span>
</span>

Use an avatar as the trigger for a compact profile menu when account actions belong to the current user.

Avatar

Avatar group

Stack reviewer avatars to represent team ownership at a glance.

Avatar
Illustrated profile photo of Cangir CA Profile photo of Cangir at a marina CA Black and white bull mascot avatar BM
Workspace profiles
<div class="d-flex flex-column align-items-start gap-3">
  <div class="avatar-group">
    <span class="avatar avatar--has-image">
      <img src="../../assets/images/avatars/cangir.webp" alt="Illustrated profile photo of Cangir">
      <span class="avatar-fallback">CA</span>
    </span>
    <span class="avatar avatar--has-image">
      <img src="../../assets/images/avatars/cangir-marina.webp" alt="Profile photo of Cangir at a marina">
      <span class="avatar-fallback">CA</span>
    </span>
    <span class="avatar avatar--has-image">
      <img src="../../assets/images/avatars/bull.webp" alt="Black and white bull mascot avatar">
      <span class="avatar-fallback">BM</span>
    </span>
  </div>
  <div class="text-body-secondary small">Workspace profiles</div>
</div>

Avatar group count

Use a grouped count chip when additional teammates are off-screen.

Avatar
Illustrated profile photo of Cangir CA Profile photo of Cangir at a marina CA Black and white bull mascot avatar BM 3
Three shown, more collaborators off-screen
<div class="d-flex flex-column align-items-start gap-3">
  <div class="avatar-group">
    <span class="avatar avatar--has-image">
      <img src="../../assets/images/avatars/cangir.webp" alt="Illustrated profile photo of Cangir">
      <span class="avatar-fallback">CA</span>
    </span>
    <span class="avatar avatar--has-image">
      <img src="../../assets/images/avatars/cangir-marina.webp" alt="Profile photo of Cangir at a marina">
      <span class="avatar-fallback">CA</span>
    </span>
    <span class="avatar avatar--has-image">
      <img src="../../assets/images/avatars/bull.webp" alt="Black and white bull mascot avatar">
      <span class="avatar-fallback">BM</span>
    </span>
    <span class="avatar avatar-count">3</span>
  </div>
  <div class="text-body-secondary small">Three shown, more collaborators off-screen</div>
</div>

Sizes

Use the smallest avatar that still identifies the subject in the surrounding layout.

Avatar
SM DF LG
<div class="d-flex align-items-center gap-3">
  <span class="avatar avatar-sm" role="img" aria-label="Small avatar">
    <span class="avatar-fallback">SM</span>
  </span>
  <span class="avatar" role="img" aria-label="Default avatar">
    <span class="avatar-fallback">DF</span>
  </span>
  <span class="avatar avatar-lg" role="img" aria-label="Large avatar">
    <span class="avatar-fallback">LG</span>
  </span>
</div>

RTL

Use tabs to compare Arabic, Hebrew, and English avatars inside the same RTL layout.

مو
مروة
مديرة العمليات
<div class="d-inline-flex align-items-center gap-3" dir="rtl">
  <span class="avatar" role="img" aria-label="مروة">
    <span class="avatar-fallback">مو</span>
    <span
           class="avatar-badge avatar-badge--dot bg-success"
    role="status" aria-label="متاحة"      >
    </span>
  </span>
  <div>
    <div class="fw-medium">مروة</div>
    <div class="text-body-secondary small">مديرة العمليات</div>
  </div>
</div>
נע
נועה
מנהלת סביבת עבודה
<div class="d-inline-flex align-items-center gap-3" dir="rtl">
  <span class="avatar" role="img" aria-label="נועה">
    <span class="avatar-fallback">נע</span>
    <span
           class="avatar-badge avatar-badge--dot bg-success"
    role="status" aria-label="זמינה"      >
    </span>
  </span>
  <div>
    <div class="fw-medium">נועה</div>
    <div class="text-body-secondary small">מנהלת סביבת עבודה</div>
  </div>
</div>
MO
Moo UI Admin
Workspace owner
<div class="d-inline-flex align-items-center gap-3" dir="ltr">
  <span class="avatar" role="img" aria-label="Moo UI Admin">
    <span class="avatar-fallback">MO</span>
    <span
           class="avatar-badge avatar-badge--dot bg-success"
    role="status" aria-label="Available"      >
    </span>
  </span>
  <div>
    <div class="fw-medium">Moo UI Admin</div>
    <div class="text-body-secondary small">Workspace owner</div>
  </div>
</div>

Component reference

Status
Accepted
Runtime
native HTML/CSS
Markup
Moo UI documented extension
Reference

Bootstrap does not ship an avatar component; related image primitives live in the Bootstrap Image documentation.

Settings

Theme
Choose how Moo UI looks on this device.
Sidebar
Choose how the sidebar sits on the page.
Theme Builder
Tune catalog tokens and chart colors for this browser.
Base color
Theme color
Chart color
Heading font
Body font
Radius
Direction
Choose the reading direction. RTL flips the layout live.
Reset

Restore the default appearance.