Skip to content

Avatar

Display user profile images, initials, icons, or placeholder graphics with status indicators.

import { Avatar } from 'asterui'

Basic Avatar

Simple avatar with image using the src prop.

User avatar
import { Avatar } from 'asterui'

function App() {
  return (
      <Avatar
        src="/avatar-1.webp"
        alt="User avatar"
      />
    )
}

export default App

Sizes

Control avatar size with the size prop.

avatar
avatar
avatar
avatar
avatar
import { Avatar, Space } from 'asterui'

function App() {
  return (
      <Space direction="horizontal" size="sm" align="center">
        <Avatar size="xs" src="/avatar-1.webp" />
        <Avatar size="sm" src="/avatar-1.webp" />
        <Avatar size="md" src="/avatar-1.webp" />
        <Avatar size="lg" src="/avatar-1.webp" />
        <Avatar size="xl" src="/avatar-1.webp" />
      </Space>
    )
}

export default App

Shapes

Circle or square avatars.

avatar
avatar
import { Avatar, Space } from 'asterui'

function App() {
  return (
      <Space direction="horizontal" size="sm">
        <Avatar shape="circle" src="/avatar-1.webp" />
        <Avatar shape="square" src="/avatar-1.webp" />
      </Space>
    )
}

export default App

Status Indicators

Show online or offline presence.

avatar
avatar
import { Avatar, Space } from 'asterui'

function App() {
  return (
      <Space direction="horizontal" size="sm">
        <Avatar status="online" src="/avatar-1.webp" />
        <Avatar status="offline" src="/avatar-1.webp" />
      </Space>
    )
}

export default App

Text Avatars

Display initials or text content.

AI
JD
MX
import { Avatar, Space } from 'asterui'

function App() {
  return (
      <Space direction="horizontal" size="sm" align="center">
        <Avatar size="xl">
          <span className="text-3xl">AI</span>
        </Avatar>
        <Avatar size="lg">
          <span className="text-xl">JD</span>
        </Avatar>
        <Avatar size="md">
          <span>MX</span>
        </Avatar>
      </Space>
    )
}

export default App

Icon Avatars

Display icons instead of images.

import { Avatar, Space } from 'asterui'
import { UserIcon, UserCircleIcon } from '@aster-ui/icons'

function App() {
  return (
      <Space direction="horizontal" size="sm">
        <Avatar icon={<UserIcon size={32} />} />
        <Avatar size="lg" icon={<UserCircleIcon size={40} />} />
      </Space>
    )
}

export default App

Avatar Group

Group multiple avatars with overlap.

avatar
avatar
avatar
avatar
import { Avatar } from 'asterui'

function App() {
  return (
      <Avatar.Group>
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
      </Avatar.Group>
    )
}

export default App

Avatar Group with Max Count

Show overflow count when exceeding max.

avatar
avatar
avatar
+3
import { Avatar } from 'asterui'

function App() {
  return (
      <Avatar.Group max={3}>
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
        <Avatar src="/avatar-1.webp" />
      </Avatar.Group>
    )
}

export default App
PropertyDescriptionTypeDefault
srcImage source URLstring-
altImage alt textstring'avatar'
iconIcon element to displayReactNode-
childrenText content (e.g., initials) or custom contentReactNode-
sizeAvatar size'xs' | 'sm' | 'md' | 'lg' | 'xl''md'
shapeAvatar shape'circle' | 'square''circle'
statusPresence status indicator'online' | 'offline'-
classNameAdditional CSS classesstring-
styleInline stylesCSSProperties-
PropertyDescriptionTypeDefault
childrenMultiple Avatar componentsReactNode-
maxMaximum avatars to show before +N overflownumber-
sizeSize for all avatars in the group'xs' | 'sm' | 'md' | 'lg' | 'xl'-
classNameAdditional CSS classesstring-
styleInline stylesCSSProperties-
  • Images have alt text for screen readers
  • Status indicators use color and position for visibility
  • Text avatars are readable by screen readers