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.
composer require dicebear/coreRequires PHP 8.2+ and the mbstring extension.
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,...$avatar = new Avatar($definition, [
'seed' => 'Jane',
'size' => 64,
'flip' => 'horizontal',
'backgroundColor' => ['#0077b6', '#00b4d8'],
'backgroundColorFill' => 'linear',
'scale' => [0.8, 1.0],
'borderRadius' => 10,
]);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']);The source code of DiceBear is released under the MIT License.
Advertisement: Many thanks to our sponsors who provide us with free or discounted products.