Download Latest Version DiceBear 10.6 - Release Notes source code.zip (6.0 MB)
Email in envelope

Get an email when there's a new version of DiceBear

Home / v10.5.0
Name Modified Size InfoDownloads / Week
Parent folder
DiceBear 10.5 - Release Notes source code.tar.gz 2026-08-09 5.4 MB
DiceBear 10.5 - Release Notes source code.zip 2026-08-09 5.7 MB
README.md 2026-08-09 8.4 kB
Totals: 3 Items   11.1 MB 0

release-graphic-10-voxel-styles

10.4 was the big artwork release. 10.5 is the quiet one that follows it: two more styles, one new color option, and three packages that lost a lot of weight.

🎨 Voxel Art and Voxel Bot

@dicebear/styles 10.4.0 adds two styles and takes the collection from 50 to 52. Both are DiceBear originals under CC0 1.0, so you can use them anywhere, commercial projects included, without attribution.

Voxel Art

Full-body characters stacked out of small cubes, in the look of a voxel game. 21 tops, 10 outfits, 8 eye sets, 10 mouths, and on top of that glasses, beards, eyebrows, noses, and cheeks. Eight color groups, from skin to shoes, are yours to override.

Voxel Art avatar, seed Dara Voxel Art avatar, seed Ines Voxel Art avatar, seed Cato Voxel Art avatar, seed Emil Voxel Art avatar, seed Bruno Voxel Art avatar, seed Elif

Voxel Bot

The same blocky vocabulary, pointed at small robots: 7 heads, 6 chest plates, 7 eye sets, and 5 mouths on a glowing screen face. The glow is its own color group, so you can tune the screen without touching the body.

Voxel Bot avatar, seed Dexter Voxel Bot avatar, seed Ivo Voxel Bot avatar, seed Cleo Voxel Bot avatar, seed Enzo Voxel Bot avatar, seed Bex Voxel Bot avatar, seed Elsa

Animation

Both ship the opt-in animation component that arrived in 10.4, which brings the count of animated styles to 18 of 52. Switch it on with animationVariant or tags=animation:

Animated Voxel Art avatar
Voxel Art
Animated Voxel Bot avatar
Voxel Bot

📋 Colors in the order you wrote them

Until now, every color you passed went through the shuffle. Great for variety, useless when you want a flag on a background and not one of its permutations. Discussion [#549] asked for a way out, and 10.5 has one: the new *ColorOrder option.

:::js
const avatar = new Avatar(style, {
  seed: 'Felix',
  backgroundColor: ['000000', 'dd0000', 'ffce00'],
  backgroundColorFill: 'linear',
  backgroundColorAngle: 90,
  backgroundColorOrder: 'fixed',
});

https://api.dicebear.com/10.x/initials/svg?seed=Felix&backgroundColor=000000,dd0000,ffce00&backgroundColorFill=linear&backgroundColorAngle=90&backgroundColorOrder=fixed
Avatar with a fixed black to red to gold gradient
fixed
Avatar with the same three colors in shuffled order
random (default)

The option exists for every color group in a style, so skinColorOrder, hairColorOrder, and the rest work the same way. With fixed, a gradient uses your colors as stops from first to last, a solid fill always takes the first one, and the number of stops defaults to the number of colors you passed. Without a *Color option, fixed only skips the shuffle and uses the style's own palette in sorted order, where constraints such as contrastTo still apply, so the result can stay seed dependent.

random remains the default, so nothing you have rendered so far changes. The option is in all six cores (JavaScript, PHP, Python, Rust, Go, and Dart) and in the HTTP API, validated by @dicebear/schema 1.4.0 and pinned by two new parity fixture cases per style. See the core options guide for the full rules.

One thing to know for later: the sorted palette fallback is deprecated. In DiceBear 11, fixed without user colors will take the palette in its definition order, the same verbatim rule that already applies to colors you pass yourself.

📦 Smaller packages

The JavaScript core generates its schema validators with schemasafe now instead of Ajv. The package still has zero runtime dependencies, and the validator code drops from 164 KB to 114 KB minified, which your browser bundle inherits. Both compilers accept and reject the same inputs: every published style definition and a pile of deliberately broken ones produced identical verdicts.

Error messages did change, though. schemasafe reports JSON pointers without prose, so the message is now built from the failing keyword (/size is smaller than allowed), and every ValidationErrorDetail carries two new optional fields, schemaPath and keyword. If you match on message strings anywhere, this is the spot to look.

@dicebear/converter lost its XML parser in the browser build. Setting the render size and mirroring mask-type declarations run on the native DOMParser and XMLSerializer instead, which every browser has anyway. That parser stack was nine tenths of the bundle, so a browser build goes from 26 kB to 1.4 kB gzipped. The Node build keeps the parser, since Node has nothing native to swap in. Two edges shift with it: a malformed SVG fails with a clear error rather than a parser-specific one, and normalizeMaskType returns self-closing empty elements in the browser.

The CLI dropped the ajv dependency it no longer used, which makes an install about 2.7 MB smaller.

🧰 Also in 10.5

  • Editor: The eight character styles it was missing are in: clay, critters, moods, pixelbot, sprouts, thumbs, voxel-art, and voxel-bot. Its list now matches the Characters category on the website exactly, all 32 of them, with the new option labels translated into English, German, and Portuguese.
  • Docs: The bundle size estimator measures what a bundler actually ships, one minified bundle per package, gzipped as a whole. It used to gzip every published file separately without minifying, which put @dicebear/core at 58 kB instead of 26 kB and @dicebear/converter at 8 kB instead of 26 kB. Its converter hint also promised PDF output, which the package has never done.
  • Docs: Style pages for the two voxel styles, and the animated styles page counts its styles from the definitions at build time. The hardcoded number it replaces had been stuck at 15 for a while.

Everything else is in the changelog.

Source: README.md, updated 2026-08-09