DiceBear is an open source avatar library. It turns any seed string (a username or an email address, for example) into an SVG avatar in one of 35+ styles designed by various artists. The same seed always produces the same avatar, so you store a string instead of an image and never ask users to upload a profile picture.
Avatars are customizable through style options: colors, backgrounds, rotation, individual features like hair or glasses.
Playground | Documentation | Editor
DiceBear 10 ships as native libraries for JavaScript, PHP, Python, Rust, Go, and Dart. Every port passes a shared test suite that requires byte-identical SVG output to the JavaScript reference. Generate an avatar in the browser, regenerate it later in a Go or PHP backend, and you get the same bytes.
| Language | Package | Install |
|---|---|---|
| JavaScript / TypeScript | @dicebear/core |
npm install @dicebear/core |
| PHP | dicebear/core |
composer require dicebear/core |
| Python | dicebear-core |
pip install dicebear-core |
| Rust | dicebear-core |
cargo add dicebear-core |
| Go | dicebear-go |
go get github.com/dicebear/dicebear-go/v10 |
| Dart | dicebear_core |
dart pub add dicebear_core |
In JavaScript it looks like this; the documentation has the equivalent for each language:
import { Avatar } from '@dicebear/core';
import definition from '@dicebear/styles/lorelei.json' with { type: 'json' };
const avatar = new Avatar(definition, {
seed: 'John Doe',
size: 128,
});
avatar.toString(); // SVG string
avatar.toDataUri(); // data:image/svg+xml;charset=utf-8,...The 35+ avatar styles are plain JSON definitions from the
dicebear/styles repository, available as
a package for each language. You can also
create your own style,
with Figma or from scratch.
- The HTTP API returns avatars
from a plain URL, free and without an account:
https://api.dicebear.com/10.x/lorelei/svg?seed=Felix. For full control and privacy you can host it yourself with a single Docker container. - The CLI generates avatar files in
bulk:
npx dicebear lorelei --count 10. - The editor lets you assemble a single avatar by hand and export it.
This monorepo contains the six core libraries, the CLI, the SVG-to-raster converter, the documentation site (dicebear.com), and the editor. Related projects live in their own repositories:
dicebear/styles: the official avatar style definitionsdicebear/schema: the JSON Schema behind definitions and optionsdicebear/api: the self-hostable HTTP APIdicebear/exporter-plugin-for-figma: the Figma plugin for style authors
Contributions are welcome; CONTRIBUTING.md explains the setup and where each kind of change belongs.
The code is MIT licensed, including commercial use. The avatar styles are the work of their respective artists and carry their own licenses; the license overview lists them all, and many only ask for attribution.
Advertisement: Many thanks to our sponsors who provide us with free or discounted products.