Avatar

User images that fade in once loaded, with initials fallback, presence status and stacked groups.

Data DisplayRadix Avatar
LMNKSO

Playground

Tweak the props, the preview and the code follow.

LM
Props
4
<Avatar size="lg">
  <AvatarImage src="/lea.png" alt="Léa" />
  <AvatarFallback>LM</AvatarFallback>
  <AvatarStatus status="online" />
</Avatar>

Installation

npx @plumsydev/plum-ui add avatar

Usage

import { Avatar, AvatarFallback, AvatarImage, avatarGradient } from "@/components/ui/avatar"
<Avatar>
  <AvatarImage src="/avatar.png" alt="Léa Martin" />
  <AvatarFallback>LM</AvatarFallback>
</Avatar>

Examples

Group

Hover the stack — it fans out. max collapses the rest into a counter.

ARJBMCTD

Hover the group to fan it out

Sizes

ACACACACAC

Generated avatars

avatarGradient(seed) returns a unique, stable gradient as a data URI — no network request.

L
Léa Martin
lea@acme.com
Owner
N
Noah Kim
noah@acme.com
Admin
I
Ines Duarte
ines@acme.com
Member

API Reference

Avatar

PropTypeDefault
size

Diameter, from 24 to 64px.

"xs" | "sm" | "default" | "lg" | "xl""default"

AvatarFallback

PropTypeDefault
delayMs

Wait before showing the fallback, avoids a flash on fast connections.

number—

AvatarStatus

PropTypeDefault
status

Presence dot color.

"online" | "busy" | "away" | "offline""online"

AvatarGroup

PropTypeDefault
max

Maximum avatars shown before a +N counter.

number—

Notes

  • avatarGradient(seed: string) generates a placeholder image from any string, ideal for users without a photo.
  • AvatarStatus sits outside the clipped circle — add overflow-visible to the Avatar and rounded-full to the image.