Avatar: HextaUI and shadcn/ui
The HextaUI Avatar keeps the shadcn/ui names and theme tokens and installs with the same CLI. This page lists what differs, read from the source of both. The shadcn/ui side is its base-vega registry as of 2026-10-16.
At a glance
| Measure | HextaUI | shadcn/ui |
|---|---|---|
| Exported parts | 6 | 6 |
| Props the wrapper handles | 11 | 1 |
| Lines of source | 432 | 108 |
| npm dependencies | @base-ui/react@^1.8.0@tabler/icons-reactclass-variance-authoritycn | cn |
| Built from | theme | – |
More source is not better on its own. Most of the extra lines in HextaUI handle states, motion and edge cases that you would otherwise write yourself.
Variants
| Prop | In both | Only HextaUI | Only shadcn/ui |
|---|---|---|---|
shapeAvatar | – | circlesquare | – |
statusAvatarBadge | – | noneonlineawaybusyoffline | – |
sizeAvatarGroup | – | xssmdefaultlgxl | – |
The HextaUI version
ALGH
ALATGH2 more
Every state, the keyboard map and the API reference are on the component page.
8 of its examples also have a page of their own.
Switch one component
Run the add command with --overwrite to replace the shadcn/ui file in @/components/ui, then review the diff in git before you keep it. Imports stay the same, and components you don’t replace keep working.
pnpm dlx shadcn@latest add https://hextaui.com/r/avatar.json --overwrite- Every prop in the table above is an addition, so call sites written for shadcn/ui don’t pass it yet.
- Check any part or variant listed only for shadcn/ui before you switch, and map it to the closest HextaUI one.