返回目录
开源项目设计创作类新手

DiceBear:面向设计师与开发者的开源头像库

DiceBear 是一个开源头像库,可将用户名、邮箱等种子字符串稳定地转换为 63 种风格的 SVG 头像,并提供 JavaScript、PHP、Python、Rust、Go、Dart、C# 原生库、HTTP API、CLI 和编辑器。

0 次阅读2026/09/14 发布
DiceBear:面向设计师与开发者的开源头像库 来源图片

社区作者 · zZz

它解决什么问题

DiceBear Avatar Library 是一个开源头像库,面向设计师与开发者。它可将任意种子字符串(例如用户名或邮箱地址)转换为 63 种风格之一的 SVG 头像,风格涵盖手绘角色到抽象图案。相同种子始终生成相同头像,因此应用只需存储字符串而不是图片,也无需让用户上传头像。头像可通过样式选项定制,包括颜色、背景、旋转以及头发、眼镜等单个特征。

DiceBear 10 提供 JavaScript、PHP、Python、Rust、Go、Dart 和 C# 原生库。每个移植版本都通过共享测试套件,要求输出与 JavaScript 参考实现字节级一致的 SVG。因此可以在浏览器生成头像,之后在 Go 或 PHP 后端重新生成,并得到相同字节。

仓库为 monorepo,包含七个核心库、CLI、SVG 转栅格转换器、文档站点(dicebear.com)和编辑器。相关项目位于独立仓库:dicebear/styles(官方头像样式定义)、dicebear/schema(定义与选项背后的 JSON Schema)、dicebear/api(可自托管 HTTP API)、dicebear/studio(供样式作者使用的 Figma 插件)。欢迎贡献,CONTRIBUTING.md 说明设置和每类变更应放置的位置。

配图 1 为项目 README 中检测到的标识;配图 2 为赞助商 bunny.net 的标识。

适用对象:需要在应用、网站或后端中生成用户头像、占位头像、随机但可复现头像的开发者、设计师和产品团队;也适合希望自托管 API 以更好控制隐私的团队。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

安装与使用指南(依据来源整理):

  1. 环境准备

选择目标语言并准备对应运行时与包管理器:JavaScript/TypeScript 使用 Node.js/npm;PHP 使用 Composer;

可复制命令
Python 使用 pip

;Rust 使用 Cargo;

可复制命令
Go 使用 Go modules

;Dart 使用 pub;C# 使用 dotnet。

  • 如果只使用 HTTP API,无需安装库,也无需账号。
  • 如果需要自托管 HTTP API,可准备 Docker 环境,来源说明可用单个 Docker 容器自托管。
  1. 安装核心库

JavaScript / TypeScript:

可复制命令
npm install @dicebear/core
  • PHP:composer require dicebear/core

Python

Python
pip install dicebear-core

Rust:

可复制命令
cargo add dicebear-core

Go

Go
go get github.com/dicebear/dicebear-go/v11
  • Dart:dart pub add dicebear_core
  • C#:dotnet add package DiceBear.Core

import { Avatar , Style } from '@dicebear/core' ; import definition from '@dicebear/styles/lorelei.json' with { type : 'json' } ;

  1. JavaScript 首次运行示例

const avatar = new Avatar ( new Style ( definition ) , { seed : 'John' , size : 128 , } ) ;

avatar . toString ( ) ; // SVG string avatar . toDataUri ( ) ; // data:image/svg+xml;charset=utf-8,...

文档提供每种语言的等效写法。

  1. 使用官方样式或创建自定义样式
  • 63 个头像样式是来自 dicebear/styles 仓库的普通 JSON 定义,并以每种语言的包形式提供。
  • 也可以使用 Figma 或从零创建自己的样式。
  1. 不写代码的用法
  • HTTP API:通过普通 URL 返回头像,免费且无需账号,例如 https://api.dicebear.com/10.x/lorelei/svg?seed=Felix 。如需完整控制和隐私,可用单个 Docker 容器自托管。
  • CLI:将头像打印到终端或批量生成文件,例如 npx dicebear create lorelei -o ./avatars --count 10 。
  • 编辑器:手工组装单个头像并导出。
  1. 常见问题与排错要点
  • 同一 seed 始终产生同一头像。
  • 多语言移植版本通过共享测试套件,要求与 JavaScript 参考实现输出字节级一致的 SVG;跨语言重新生成时应得到相同字节。
  • 代码为 MIT 许可证,包括商业使用;头像样式由各自创作者提供并带各自许可证,许多只要求署名,使用前应查看许可证概览。
  • 贡献前查看 CONTRIBUTING.md,其中说明设置方式以及不同变更应归属的位置。

来源教程配图

教程配图
配图 1 · 教程配图查看原图
bunny.net
配图 2 · bunny.net查看原图

适用场景

根据用户名或邮箱等种子字符串生成可复现的用户头像
避免用户上传头像图片
在浏览器
Go
PHP
Python 等不同语言和后端中按同一 seed 生成字节一致的 SVG 头像
批量生成占位头像
测试数据或默认头像
通过 HTTP API 用普通 URL 免费获取头像
无需账号
自托管 HTTP API
以满足隐私和完整控制需求