DiceBear.Schema
1.5.1
dotnet add package DiceBear.Schema --version 1.5.1
NuGet\Install-Package DiceBear.Schema -Version 1.5.1
<PackageReference Include="DiceBear.Schema" Version="1.5.1" />
<PackageVersion Include="DiceBear.Schema" Version="1.5.1" />
<PackageReference Include="DiceBear.Schema" />
paket add DiceBear.Schema --version 1.5.1
#r "nuget: DiceBear.Schema, 1.5.1"
#:package DiceBear.Schema@1.5.1
#addin nuget:?package=DiceBear.Schema&version=1.5.1
#tool nuget:?package=DiceBear.Schema&version=1.5.1
@dicebear/schema
JSON Schema definitions for DiceBear avatar styles and options.
Schemas
This package exports two JSON Schemas (Draft 07):
definition.json
Validates avatar style definitions: the files that describe how a DiceBear avatar style is structured. A definition includes:
canvas(required): The SVG canvas dimensions and root element treecomponents: Named, reusable SVG components with variants. At render time, a PRNG selects one variant per component. Components can also be declared as aliases of another component viaextends, producing an independently-randomized instance.colors: Named color palettes. Colors can define constraints such asnotEqualTo(must differ from another color) orcontrastTo(picks the highest-contrast value).attributes: Global SVG attributes applied to the root<svg>elementmeta: License, creator, and source metadata
Only a safe subset of SVG elements and attributes is permitted. Event handlers, external URL references, and CSS injection patterns are explicitly blocked.
Additional documentation
https://www.dicebear.com/specification/definition-schema/
options.json
Validates the options object passed by users when generating an avatar. Supported properties include:
| Property | Type | Description |
|---|---|---|
seed |
string |
PRNG seed for reproducible avatars |
size |
integer |
Output size in pixels (1 to 4096) |
title |
string |
Accessible title rendered as <title> and aria-label |
flip |
string \| array |
Mirror direction: none, horizontal, vertical, or both |
scale |
number \| [min, max] |
Scaling factor (0 to 10, 1 = original size) |
rotate |
number \| [min, max] |
Rotation in degrees (−360 to 360) |
translateX |
number \| [min, max] |
Horizontal offset (−1000 to 1000) |
translateY |
number \| [min, max] |
Vertical offset (−1000 to 1000) |
borderRadius |
number \| [min, max] |
Corner radius (0 = sharp, 50 = circle) |
idRandomization |
boolean |
SVG ID randomization to avoid conflicts |
fontFamily |
string \| array |
Font family for text rendering |
fontWeight |
integer \| array |
Font weight (1 to 1000) |
*Probability |
number |
Component display probability (0 to 100) |
*Variant |
string \| string[] \| object |
Component variant filter and weights |
*Color |
string \| array |
Hex colors |
*ColorFill |
string \| array |
Color fill: solid, linear, or radial |
*ColorFillStops |
integer \| [min, max] |
Gradient color stops (min 2) |
*ColorAngle |
number \| [min, max] |
Gradient angle (−360 to 360) |
When an option accepts an array, the PRNG either picks from the list (for discrete values) or picks a value within the range (for numeric min/max pairs).
Usage
JavaScript
npm install @dicebear/schema
import definitionSchema from "@dicebear/schema/definition.json" with { type: "json" };
import optionsSchema from "@dicebear/schema/options.json" with { type: "json" };
PHP
composer require dicebear/schema
$basePath = \Composer\InstalledVersions::getInstallPath('dicebear/schema');
$definition = json_decode(file_get_contents($basePath . '/src/definition.json'), true);
$options = json_decode(file_get_contents($basePath . '/src/options.json'), true);
Python
pip install dicebear-schema
import json
from importlib.resources import files
definition = json.loads(files("dicebear_schema").joinpath("definition.json").read_text("utf-8"))
options = json.loads(files("dicebear_schema").joinpath("options.json").read_text("utf-8"))
Rust
cargo add dicebear-schema
The schemas are embedded at compile time and exposed as raw JSON (&'static str). Parse them with serde_json and validate with the jsonschema crate:
use dicebear_schema::{DEFINITION, OPTIONS};
let definition: serde_json::Value = serde_json::from_str(DEFINITION)?;
let options: serde_json::Value = serde_json::from_str(OPTIONS)?;
// Or look one up by name (None if unknown); all() lists the names:
let schema = dicebear_schema::get("definition");
let all = dicebear_schema::all();
Go
go get github.com/dicebear/schema
The schemas are embedded at compile time and exposed as raw JSON (string). Parse them with encoding/json and validate with a library such as jsonschema:
import (
"encoding/json"
"github.com/dicebear/schema"
)
var definition map[string]any
_ = json.Unmarshal([]byte(schema.Definition), &definition)
var options map[string]any
_ = json.Unmarshal([]byte(schema.Options), &options)
// Or look one up by name (ok is false if unknown); All() lists the names:
raw, ok := schema.Get("definition")
all := schema.All()
Dart
dart pub add dicebear_schema
The schemas are embedded as Dart string constants. Parse them with dart:convert and validate with a package such as json_schema:
import 'dart:convert';
import 'package:dicebear_schema/dicebear_schema.dart' as schema;
final definitionSchema = jsonDecode(schema.definition);
final optionsSchema = jsonDecode(schema.options);
// Or look one up by name (null if unknown); `all` lists the names:
final raw = schema.get('definition');
final names = schema.all;
C#
dotnet add package DiceBear.Schema
The schemas are embedded in the assembly and exposed as raw JSON (string). Parse them with System.Text.Json and validate with a library such as JsonSchema.Net:
using System.Text.Json.Nodes;
var definitionSchema = JsonNode.Parse(DiceBear.Schema.Definition);
var optionsSchema = JsonNode.Parse(DiceBear.Schema.Options);
// Or look one up by name (null if unknown). All() lists the names:
var raw = DiceBear.Schema.Get("definition");
var names = DiceBear.Schema.All();
CDN
The schemas are available directly via CDN, so no installation is required. We recommend using a specific version to ensure stability:
https://cdn.hopjs.net/npm/@dicebear/schema@1.5.1/dist/definition.min.json
https://cdn.hopjs.net/npm/@dicebear/schema@1.5.1/dist/options.min.json
Contributing
See CONTRIBUTING.md for local development, testing, and the release process.
Sponsors
Advertisement: Many thanks to our sponsors who provide us with free or discounted products.
<a href="https://bunny.net/" target="_blank" rel="noopener noreferrer"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://www.dicebear.com/sponsors/bunny-light.svg"> <source media="(prefers-color-scheme: light)" srcset="https://www.dicebear.com/sponsors/bunny-dark.svg"> <img alt="bunny.net" src="https://www.dicebear.com/sponsors/bunny-dark.svg" height="64"> </picture> </a>
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
| .NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
| MonoAndroid | monoandroid was computed. |
| MonoMac | monomac was computed. |
| MonoTouch | monotouch was computed. |
| Tizen | tizen40 was computed. tizen60 was computed. |
| Xamarin.iOS | xamarinios was computed. |
| Xamarin.Mac | xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- No dependencies.
NuGet packages (1)
Showing the top 1 NuGet packages that depend on DiceBear.Schema:
| Package | Downloads |
|---|---|
|
DiceBear.Core
Unique avatars from dozens of styles. Deterministic, customizable, vector-based. |
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated |
|---|---|---|
| 1.5.1 | 102 | 8/22/2026 |
| 1.5.0 | 94 | 8/22/2026 |
| 1.5.0-rc.2 | 53 | 8/22/2026 |