dicebear / core
Unique avatars from dozens of styles — deterministic, customizable, vector-based.
10.x-dev
2026-04-03 22:00 UTC
Requires
- php: >=8.2
- ext-mbstring: *
- opis/json-schema: ^2.6
Requires (Dev)
- dicebear/schema: ^0.9.0
- friendsofphp/php-cs-fixer: ^3.0
- phpstan/phpstan: ^2.0
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2026-04-06 18:28:39 UTC
README
PHP implementation of the DiceBear avatar library. Generates deterministic SVG avatars from style definitions and a seed string.
DiceBear is available for multiple languages. All implementations share the same PRNG and rendering pipeline, producing identical SVG output for the same seed, style, and options — regardless of the language used.
Installation
composer require dicebear/core
Requires PHP 8.2+ and the mbstring extension.
Usage
use DiceBear\Avatar; // From a style definition (JSON-decoded array) $definition = json_decode(file_get_contents('path/to/style.json'), true); $avatar = new Avatar($definition, [ 'seed' => 'John Doe', 'size' => 128, ]); echo $avatar; // SVG string echo $avatar->toDataUri(); // data:image/svg+xml;charset=utf-8,...
With options
$avatar = new Avatar($definition, [ 'seed' => 'Jane', 'size' => 64, 'flip' => 'horizontal', 'backgroundColor' => ['#0077b6', '#00b4d8'], 'backgroundColorFill' => 'linear', 'scale' => [0.8, 1.0], 'borderRadius' => 10, ]);
Using the Style class
use DiceBear\Style; use DiceBear\Avatar; use DiceBear\OptionsDescriptor; $style = new Style($definition); // Inspect available options for a style $descriptor = new OptionsDescriptor($style); $fields = $descriptor->toJSON(); // Create multiple avatars from the same style $avatar1 = new Avatar($style, ['seed' => 'Alice']); $avatar2 = new Avatar($style, ['seed' => 'Bob']);
License
The source code of DiceBear is released under the MIT License.
Sponsors
Advertisement: Many thanks to our sponsors who provide us with free or discounted products.