Avatar

Image with graceful fallback.

Usage

Compose Avatar.Root, Avatar.Image, and Avatar.Fallback together. The fallback renders automatically when the image is absent or fails to load.

JD

Sizes

Three sizes via the size prop on Avatar.Root.

SM
MD
LG

Shapes

circle (default) or square via the shape prop.

CR
SQ

Fallback

Avatar.Fallback renders when no image is provided or when the image fails to load. Typically used with initials.

RA
PF

Props

Avatar.Root

PropTypeDefault
size 'sm' | 'md' | 'lg''md'
shape 'circle' | 'square''circle'
class string
children Snippet
child bits-ui Snippet<[{ props: Record<string, unknown>; }]> | undefined
delayMs bits-ui The delay in milliseconds to wait before showing the avatar once the image has loaded. This can be used to prevent sudden flickering of the image if it loads quickly.number | undefined0
id bits-ui string | undefined
loadingStatus bits-ui The loading status of the image. If you are confident that the image exists and will load successfully, you can set this to `"loaded"` to skip the loading process (which shows the fallback) and immediately show the image.AvatarImageLoadingStatus | undefined"loading"
onLoadingStatusChange bits-ui A callback invoked when the loading status of the image changes.OnChangeFn<AvatarImageLoadingStatus> | undefined
ref bits-ui HTMLElement | null | undefined

Avatar.Image

PropTypeDefault
alt required Required: describes the image for screen readers. Always provide meaningful alt text.string
class string
child bits-ui Snippet<[{ props: Record<string, unknown>; }]> | undefined
children bits-ui Snippet<[]> | undefined
id bits-ui string | undefined
ref bits-ui HTMLElement | null | undefined
src html string | null | undefined

Avatar.Fallback

PropTypeDefault
class string
children Snippet
child bits-ui Snippet<[{ props: Record<string, unknown>; }]> | undefined
id bits-ui string | undefined
ref bits-ui HTMLElement | null | undefined

Avatar.Image

Avatar.Fallback