seedkin

Why Seedkin

Avatars that grow from a seed and never change their face.

Seedkin is a small library with a few strong opinions: a seed's picture is a promise, a 24px avatar still needs a face, and nobody's id should leave your server to get one.

Try the playground Read the docs

Four promises

  1. The picture is the API

    Within a major version a seed always draws the same avatar, cell for cell. Snapshot tests guard every palette, part and draw order, so an upgrade never changes someone's face. Anything that would is a new major version.

    ADR 0001: the picture is the API

  2. Still a face at 24px

    Most generated avatars turn to mush in a comment thread. Below 40px, Botling switches to a simpler 9x9 drawing of the same robot, from the same traits, so it keeps its eyes and mouth.

  3. Private by design

    There's no API to call, no request and no storage. The avatar is computed where you call the function, so your users' ids never leave your servers. This site keeps the seed you type in the URL hash, which browsers never send.

  4. Nothing to install but itself

    Zero runtime dependencies, ESM with TypeScript types, and one entry point per style, so Botling alone is 11.0 kB gzipped. It returns an SVG string and works in the browser, on the server and at the edge, under a strict CSP.

How it compares

Every library here is good at something, and Seedkin is narrow on purpose: pixel characters, readable small, no network. If you want dozens of styles, an HTTP API or libraries in other languages, DiceBear is the one to pick.

Seedkin compared with four other avatar libraries
FeatureSeedkinDiceBearBoring AvatarsJdenticonminidenticons
PicturesPixel characters: robots, animals, people and monstersDozens of styles, illustrated and abstractAbstract shapesGeometric identiconsPixel identicons
FacesYesIn many stylesNoNoNo
Runtime dependenciesNoneNone in the core; each style is a packageNone, needs ReactOneNone
Works without a frameworkYesYesNo, React onlyYesYes
Hosted HTTP APINo, on purposeYesNot compared
Art licenceMIT, art includedPer style: CC0, CC BY 4.0 or MITMITMITMIT

Checked on 31 October 2026 against each project's npm package and website. Tell us if something has changed.

Where they come from

Under every app there's a field of dots called the Grid, fifteen across and fifteen down, waiting. Drop a seed into it, a name, an id, any string at all, and something sprouts. The Grid never forgets a seed, so the same one always grows the same seedkin, cell for cell.

Nobody planted the Grid. It was just there, the way a lawn is there, and things kept coming up.