Generate beautiful, deterministic avatars for your Vue 3 apps without fetching a single image.
@maxnth/gestalt is a free, open-source Vue 3 component library that renders generative avatars as inline SVG. Give it any string or number — a user id, email, or username — and it produces a unique, reproducible avatar. The same seed always renders the same result, so you get consistent profile pictures entirely from data.
ada@example.com always produces the exact same avatar.<Avatar> component.pnpm add @maxnth/gestalt
npm install @maxnth/gestalt
yarn add @maxnth/gestalt
bun add @maxnth/gestalt
Requires vue >= 3.5.
Drop a convenience component anywhere in your app:
<script setup>
import { GradientAvatar } from '@maxnth/gestalt'
</script>
<template>
<GradientAvatar seed="jane@example.com" :size="96" />
</template>
<script setup>
import { InitialsAvatar } from '@maxnth/gestalt'
</script>
<template>
<InitialsAvatar seed="Jane Doe" :size="96" mode="double" />
</template>
<script setup>
import { IdenticonAvatar } from '@maxnth/gestalt'
</script>
<template>
<IdenticonAvatar seed="jane@example.com" :size="96" />
</template>
<script setup>
import { FlowFieldAvatar } from '@maxnth/gestalt'
</script>
<template>
<FlowFieldAvatar seed="jane@example.com" :size="96" />
</template>
<Avatar> component and how to write a custom algorithm.