PHPackages                             tempi-marathon/filament-local-avatars - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Image &amp; Media](/categories/media)
4. /
5. tempi-marathon/filament-local-avatars

ActiveLibrary[Image &amp; Media](/categories/media)

tempi-marathon/filament-local-avatars
=====================================

Local initials avatars via data-URI SVG

v1.2.0(3w ago)0110↓50%MITPHPPHP ^8.3CI passing

Since Jun 14Pushed 3w agoCompare

[ Source](https://github.com/tempi-marathon/filament-local-avatars)[ Packagist](https://packagist.org/packages/tempi-marathon/filament-local-avatars)[ Docs](https://github.com/tempi-marathon/filament-local-avatars)[ GitHub Sponsors](https://github.com/tempi-marathon)[ RSS](/packages/tempi-marathon-filament-local-avatars/feed)WikiDiscussions main Synced 1w ago

READMEChangelog (3)Dependencies (14)Versions (4)Used By (0)

Filament Local Avatars
======================

[](#filament-local-avatars)

Local initials avatars for [Filament](https://filamentphp.com) panels, generated as inline SVG data URIs. No third-party services, no HTTP routes, GDPR-friendly.

Requirements
------------

[](#requirements)

- PHP 8.3+
- Filament 4.x or 5.x

Installation
------------

[](#installation)

```
composer require tempi-marathon/filament-local-avatars
```

Register the plugin on your panel:

```
use TempiMarathon\FilamentLocalAvatars\FilamentLocalAvatarsPlugin;

return $panel
    // ...
    ->plugin(FilamentLocalAvatarsPlugin::make());
```

The plugin sets the panel's default avatar provider automatically.

Configuration
-------------

[](#configuration)

Publish the config file (optional):

```
php artisan vendor:publish --tag=filament-local-avatars-config
```

Available options in `config/filament-local-avatars.php`:

KeyDefaultDescription`size``120`SVG width and height in pixels`font_size``48`Initials font size`text_color``#FFFFFF`Initials color`background_color``null`Default background color when a record has no per-record color; `null` uses the panel primary colorPer-record background colors
----------------------------

[](#per-record-background-colors)

Implement `HasAvatarBackgroundColor` on any model that should have its own avatar background color. Add a column (for example `avatar_color`) in your app and return it from the interface method:

```
use TempiMarathon\FilamentLocalAvatars\Contracts\HasAvatarBackgroundColor;

class User extends Authenticatable implements HasAvatarBackgroundColor
{
    public function getAvatarBackgroundColor(): ?string
    {
        return $this->avatar_color;
    }
}
```

Background color resolution order:

1. Record color from `getAvatarBackgroundColor()` when non-empty
2. `background_color` config value when set
3. Panel primary color

Text color remains global via the `text_color` config option.

Local development
-----------------

[](#local-development)

When developing the package alongside a consumer app, add a Composer path repository:

```
"repositories": [
    {
        "type": "path",
        "url": "../filament-local-avatars",
        "options": { "symlink": true }
    }
]
```

```
composer require tempi-marathon/filament-local-avatars:@dev
```

Testing
-------

[](#testing)

```
composer test
```

Runs Pint, PHPStan (max level), and Pest with a minimum 90% code coverage requirement.

License
-------

[](#license)

MIT. See [LICENSE](LICENSE).

###  Health Score

44

—

FairBetter than 90% of packages

Maintenance94

Actively maintained with recent releases

Popularity14

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity51

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 81.8% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~10 days

Total

3

Last Release

27d ago

PHP version history (2 changes)v1.0.0PHP ^8.5

v1.2.0PHP ^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/75da90ea64265480e20bc5e9f152c167663bb26228eb302ed957d4cfcabeadd9?d=identicon)[tempi-marathon](/maintainers/tempi-marathon)

---

Top Contributors

[![tempi-marathon](https://avatars.githubusercontent.com/u/191029268?v=4)](https://github.com/tempi-marathon "tempi-marathon (9 commits)")[![dependabot[bot]](https://avatars.githubusercontent.com/in/29110?v=4)](https://github.com/dependabot[bot] "dependabot[bot] (2 commits)")

---

Tags

laravelavatarfilamentfilament-pluginfilamentphptempi-marathonfilament-local-avatars

###  Code Quality

TestsPest

Static AnalysisPHPStan

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/tempi-marathon-filament-local-avatars/health.svg)

```
[![Health](https://phpackages.com/badges/tempi-marathon-filament-local-avatars/health.svg)](https://phpackages.com/packages/tempi-marathon-filament-local-avatars)
```

###  Alternatives

[awcodes/filament-curator

A media picker plugin for FilamentPHP.

437356.9k25](/packages/awcodes-filament-curator)[rawilk/profile-filament-plugin

Profile &amp; MFA starter kit for filament.

3914.8k](/packages/rawilk-profile-filament-plugin)[backstage/mails

View logged mails and events in a beautiful Filament UI.

16321.5k](/packages/backstage-mails)[croustibat/filament-jobs-monitor

Background Jobs monitoring like Horizon for all drivers for FilamentPHP

274333.4k9](/packages/croustibat-filament-jobs-monitor)[marcelweidum/filament-passkeys

Use passkeys in your filamentphp app

6649.5k2](/packages/marcelweidum-filament-passkeys)[stephenjude/filament-jetstream

A Laravel starter kit built with Filament inspired by Jetstream.

17760.2k3](/packages/stephenjude-filament-jetstream)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
