Avatune Avatune v3.1

Avatars that feel
like people.

A typed, SSR-first avatar primitive for the web — seven frameworks, eleven themes, zero dependencies. Compose by hand or let the predictor draft from a photo.

Get started
11
Themes
7
Frameworks
0
Dependencies
Why Avatune

An avatar primitive,
not a vibe pack.

We built Avatune the way we wish identity systems were built — fast, typed, themable, and predictable enough to ship to production on day one.

01
SSR-first, by default

Every avatar renders to deterministic SVG on the server. No hydration jank, no layout shift, no flicker on cold cache.

02
Seeded & deterministic

Same seed in, same avatar out — across renders, processes, and CDN edges. Cache it forever or generate at request time.

03
Tree-shakeable themes

Each theme is its own package. Ship only the styles you import. Average bundle: 4.1kb gzipped per theme.

04
Typed end-to-end

Theme tokens, part names, and configuration all flow through TypeScript. Autocomplete every hair style and skin tone.

05
Framework-native APIs

Not a wrapper. @avatune/react, @avatune/svelte, and friends each compile to idiomatic primitives.

06
Compose, don’t configure

Every part is a slot. Swap eyebrows from one theme into another, or drop in your own SVG. The system stays consistent.

Framework adapters

Seven frameworks,
one API surface.

Each adapter compiles to idiomatic primitives for its host framework. Same theme tokens, same seed determinism, same SSR contract — no glue code.

First-class React, with Suspense and RSC.
package @avatune/react
size 8.1kb gzipped
deps 0
since v2.1
src/components/Profile.tsx
import { Avatar } from '@avatune/react'
import theme from '@avatune/kyute-theme/react'

export default function Profile({ user }) {
  return (
    <Avatar
      seed="user-42"
      theme={theme}
      size={96}
    />
  )
}
Experimental · Predictor

Draft an avatar
from a real photo.

A small on-device model reads skin tone, hair length, hair color, and facial hair, then seeds a themed avatar. Edit the inferred parts inline, or accept and ship.