| Recommend this page to a friend! |
| Info | Demos | Reputation | Support forum | Blog | Links |
| Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
| 2026-01-11 (1 month ago) | Not yet rated by the users | Total: Not yet counted | Not yet ranked | |||||
| Version | License | PHP version | Categories | |||
| radiance 1.0.0 | MIT/X Consortium ... | 8.2 | Graphics, PHP 8 |
Please read this document, to learn how to generate avatar images from parameters.
You can see this package working in the demonstration page.
<div align="center"> <img title="Radiance - Deterministic Avatar Generator" alt="Radiance - Deterministic Avatar Generator" src="./docs/radiance.png" width="600"> <p><b>Beautifully deterministic avatars for PHP</b></p> </div>
<div align="center">
<a href="https://www.php.net/"><img alt="PHP >= 8.2" src="https://img.shields.io/badge/PHP-%E2%89%A5 8.2-777BB4?style=flat-square&logoColor=white&labelColor=111827&color=4f5b93&label=PHP"></a>
<a href="https://packagist.org/packages/tomloprod/radiance"><img alt="Version" src="https://img.shields.io/packagist/v/tomloprod/radiance?style=flat-square&label=version&labelColor=111827&color=white"></a>
<a href="https://github.com/tomloprod/radiance/actions"><img alt="CI" src="https://img.shields.io/github/actions/workflow/status/tomloprod/radiance/tests.yml?branch=main&style=flat-square&label=tests&labelColor=111827&color=1a534d"></a>
<a href="https://packagist.org/packages/tomloprod/radiance"><img alt="Downloads" src="https://img.shields.io/packagist/dt/tomloprod/radiance?style=flat-square&label=downloads&labelColor=111827&color=b15356"></a>
<a href="https://packagist.org/packages/tomloprod/radiance"><img alt="License" src="https://img.shields.io/packagist/l/tomloprod/radiance?style=flat-square&label=license&labelColor=111827&color=38543d"></a>
</div>
Radiance is a modern PHP library designed to generate beautiful, deterministic mesh gradient avatars from any string. Same input always produces the same unique avatar, making it perfect for user profiles, identicons and more.
<div align="center"> <video src="https://github.com/user-attachments/assets/447b9ffd-8ec6-4b37-9e0f-d48c12a86215" width="80%" controls></video> <p>? <a href="https://radiance.tomloprod.dev/" target="_blank">Try the interactive playground</a></p> </div>
Requires PHP 8.2+.
Install Radiance via Composer:
composer require tomloprod/radiance
Generate a simple avatar from a seed:
$svg = radiance()
->seed('tomloprod')
->text('TL')
->toSvg();
Radiance provides a fluent API to fully customize your avatars:
$svg = radiance()
->seed('tomloprod')
->text('TL')
->size(256)
->squircle()
->baseColor('#3498db')
->saturation(1.5)
->contrast(1.2)
->toSvg();
Add a identicon-like pixelated overlay:
$svg = radiance()
->seed('tomloprod')
->enablePixelPattern()
->pixelGridSize(8)
->pixelOpacity(0.4)
->pixelDensity(0.5)
->pixelShapeCircles()
->pixelColorAccent()
->toSvg();
Fine-tune how text is displayed:
$svg = radiance()
->seed('tomloprod')
->text('TL')
->fontFamily('Inter')
->fontSizeRatio(0.45)
->fontSizeRatioAuto(false)
->textShadow(0.8)
->toSvg();
| Method | Description | Default |
| :--- | :--- | :--- |
| seed(string $seed) | Set the deterministic seed. | null (random) |
| Method | Description | Default |
| :--- | :--- | :--- |
| size(int $size) | Set the dimension in pixels (width/height). | 512 |
| circle() | Set the shape to Circle. | - |
| square() | Set the shape to Square. | (Square) |
| squircle() | Set the shape to Squircle (rounded). | - |
| Method | Description | Default |
| :--- | :--- | :--- |
| baseColor(string $color) | Influence the generated palette hue. Accepts hex, rgb, or hsl. | null |
| solidColor(string $color) | Use a fixed background instead of gradient. | null |
| Method | Description | Default |
| :--- | :--- | :--- |
| saturation(float $val) | Adjust gradient saturation. 1.0 = original, >1 = vivid, <1 = muted. | 1.0 |
| contrast(float $val) | Adjust gradient contrast. 1.0 = original, >1 = higher contrast. | 1.0 |
| fadeDistance(int $val) | Control gradient circle size (40-200). Lower = colors more separated. | 50 |
| Method | Description | Default |
| :--- | :--- | :--- |
| text(string $text) | Add a centered text overlay. | null |
| fontFamily(string $font) | Set the font-family for the text. | monospace |
| fontSizeRatio(float $ratio) | Set font size as ratio of avatar size (0.01-1.0). Disables auto-sizing. | 0.5 |
| fontSizeRatioAuto(bool $enabled) | Enable/disable automatic font sizing based on text length. | true |
| textShadow(float $val) | Set text shadow intensity. 0 = no shadow. | 1.0 |
| Method | Description | Default |
| :--- | :--- | :--- |
| enablePixelPattern(bool $enable) | Enable/disable the identicon-style overlay. | true |
| pixelGridSize(int $size) | Set the pixel grid size (3, 5, 7...). Must be odd for symmetry. | 13 |
| pixelOpacity(float $opacity) | Set pixel pattern opacity (0.0-1.0). | 0.3 |
| pixelDensity(float $density) | Control how many pixels are drawn (0.0-1.0). | 0.25 |
| pixelColorGradient() | Use gradient-derived colors for pixels. | (Gradient) |
| pixelColorMonochrome() | Use white color for all pixels. | - |
| pixelColorAccent() | Use complementary accent color for pixels. | - |
| pixelShapeSquares() | Use square shapes for pixels. | (Squares) |
| pixelShapeCircles() | Use circle shapes for pixels. | - |
| pixelShapeMix() | Use mixed shapes (deterministic per seed). | - |
| Method | Description |
| :--- | :--- |
| toSvg() | Get the avatar as an SVG string. |
| toBase64() | Get the avatar as a Base64 encoded data URI. |
Contributions are welcome! Please review the Contributing Guidelines before submitting a pull request.
Radiance is open-sourced software licensed under the MIT license.
<div align="center">
Created by <b><a href="https://github.com/tomloprod">Tomás López</a></b> ? Powered by <b><a href="https://github.com/tomloprod/colority">Colority</a></b>
</div>
| File | Role | Description | ||
|---|---|---|---|---|
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Lic. | License text | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Data | Auxiliary data | |||
| Doc. | Documentation | |||
| Example | Example script | |||
| / | .github | / | workflows |
| File | Role | Description |
|---|---|---|
| |
Data | Auxiliary data |
| |
Data | Auxiliary data |
| / | src |
| / | src | / | Concerns |
| File | Role | Description |
|---|---|---|
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| |
Class | Class source |
| / | src | / | Enums |
| File | Role | Description |
|---|---|---|
| |
Aux. | Configuration script |
| |
Example | Example script |
| |
Aux. | Configuration script |
| |
Aux. | Configuration script |
| |
Aux. | Configuration script |
| / | src | / | Support |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Aux. | Configuration script | ||
| / | tests |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Example | Example script | ||
| / | tests | / | Support |
| File | Role | Description | ||
|---|---|---|---|---|
| |
Class | Class source | ||
| / | tests | / | Support | / | Facades |
| File | Role | Description |
|---|---|---|
| |
Example | Example script |
| The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
| Version Control | Unique User Downloads | |||||||
| 100% |
|
| Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.