开源|一款头像生成库,支持 52 种风格、6 种语言,一行代码搞定用户头像
做个带用户系统的产品,头像这块基本绕不过去。让用户自己上传吧,十个人里有八个懒得弄,宁可顶着系统默认的灰色占位图也不愿意多操作一步。自己准备一套默认头像吧,来来回回就那么几张,用户多了难免撞头像,场面一度十分尴尬。
还有些团队图省事,直接接 Gravatar 之类的第三方服务,结果用户邮箱就这么传出去了,隐私合规那边找你喝茶只是时间问题。
说白了就一个诉求:让每个用户自动有一个好看、不重复、稳定的头像,别折腾用户,别暴露隐私。

那有没有一个库能把这事干了?
今天介绍的项目,它能把任意字符串,用户名、用户 ID、邮箱都行,转成一张 SVG 矢量头像,同一个输入永远出同一张图。
不用存图片文件,不用写上传接口,不依赖外部服务,给个字符串就给你一张头像,简单粗暴。
特点
52 种头像风格
这个覆盖面在开源头像库里算相当能打了。Identicon、Initials 这类极简风,适合企业后台和工具类产品;Lorelei、Adventurer、Avataaars 这类插画人物风,适合社交和社区产品;Pixel Art 像素风、Voxel Art 体素风,游戏场景也能覆盖。而且很多风格还带 Animated 动画版本,支持动效的地方直接用就行。
6 种编程语言原生支持
JavaScript、PHP、Python、Rust、Go、Dart。这不是简单的接口封装,每种语言都是原生实现,共享同一套测试用例,输出要求字节级一致的 SVG。前端用 JS 生成和后端用 Go 生成,拿到的文件是一模一样的,这点在工程上很实用。
纯 SVG 输出
一个头像通常就几 KB,不占存储,不耗算力,高并发场景也没什么压力。矢量格式还能用 CSS 改颜色、加滤镜,灵活度很高。
隐私方面做得比较到位
用本地库生成的话数据完全不出你的服务器,就算用 HTTP API 也能 Docker 自建,不依赖任何第三方。
技术架构
头像生成基于 SVG 格式,通过组合不同的 SVG 元素(头发、眼睛、嘴巴这些部件)来构建角色头像。确定性生成用的是 FNV-1a 配合 Mulberry32 伪随机算法,保证同一种子始终产出同一结果。
所有 52 种头像风格都是 JSON 定义文件,声明式的结构,想自定义风格或者贡献新风格,写一份 JSON 就行。
部署方式
三种方式,按需选:
直接调 HTTP API,零代码接入,拼个 URL 就能用:
https://api.dicebear.com/10.x/lorelei/svg?seed=Felix把 lorelei 换成喜欢的风格名,Felix 换成用户标识,直接放在 img 标签的 src 里。
本地库集成:
// JavaScript
npm install @dicebear/core @dicebear/styles
// PHP
composer require dicebear/core
// Python
pip install dicebear-core
// Go
go get github.com/dicebear/dicebear-go/v10Docker 自建 API 服务,对数据合规有要求的团队可以用这个方案,一个容器就跑起来了。
前端接入
前端这边支持 React、Vue、Svelte、Angular、Next.js 等主流框架,官方都有对应的接入文档。原生 JS 的用法也很直接:
import { Style, Avatar } from '@dicebear/core';
import lorelei from '@dicebear/styles/lorelei.json' with { type: 'json' };
const style = new Style(lorelei);
const avatar = new Avatar(style, {
seed: 'John',
size: 128,
});
// 拿到 SVG 字符串或者 Data URI
avatar.toDataUri();不需要引入图片资源,不用写上传逻辑,一个字符串就给每个用户生成稳定好看的头像。
后端使用
PHP、Python、Rust、Go、Dart 五种后端语言都能用,API 设计和 JS 版保持一致。比如用户注册接口里,拿到用户 ID 后调一下 DiceBear,生成的 SVG 直接存起来或者转 PNG 缓存,不用再走图片上传、裁剪、压缩那套流程了,开发效率提升不少。
CLI 工具也顺手,批量生成测试头像很方便:
npx dicebear lorelei --count 50 --format png --output ./avatars开源协议
代码遵循 MIT 协议,商用没有限制,不用开源你的项目。头像风格各自的创作者有自己的许可证,大部分是 CC0 或 CC BY 4.0,CC BY 4.0 的注意保留署名就行,整体对商用没什么影响。
即刻体验一波
实际用起来场景还挺多的。
做社区产品的,新用户注册完默认给一个基于 ID 生成的头像,Lorelei 风格就挺好看,用户不用额外操作,体验比较流畅。企业内部系统用 Initials 风格,简洁专业,每个人的首字母头像辨识度也够。做原型的时候用 CLI 批量生成一批头像填充界面,比到处找素材图省事多了。







结语
头像这事看着不大,但做好了产品体验的提升是实打实的。DiceBear 把这个细分场景做得比较完善,风格多、语言覆盖广、接入简单、隐私友好。
做产品的同学碰到头像相关的需求,可以翻一翻这个项目,也许刚好能解决你的问题。
源码:https://github.com/dicebear/dicebear
往期项目
开源|一款 DeepSeek 桌面客户端,免命令行启动、系统托盘管理、插件生态扩展
开源|一款 DeepSeek Harness 皮肤与插件集合,10 款主题皮肤、鲸鱼娘宠物
开源|一款模型/工具/沙箱/UI 皆插件,配置即组合的 Agent 编排框架,可私有部署商用
开源|一款把 Word、PPT、Excel、PDF 等 14 种办公文档转成 Markdown 的工具
开源|一款AI CRM 系统,覆盖线索到回款全流程,支持私有化部署与 AI 智能体集成
了解更多:
DiceBear,头像生成,SVG头像,开源头像库,默认头像,用户头像,开源项目,头像API,avataaars,像素头像
