tinusg/filament-company-logo-column
Filament table column that displays a company logo via Logo.dev from a URL or bare domain. Supports tooltips (e.g., company name), domain overrides, sizing and format options, themes, fallbacks, and lazy loading. Configurable Logo.dev publishable key.
A Filament table column that renders a company logo via Logo.dev from a URL or bare domain. Supports Filament's built-in tooltip so you can show the company name on hover.

composer require tinusg/filament-company-logo-column
Add your Logo.dev publishable key to config/services.php:
'logo_dev' => [
'publishable_key' => env('LOGO_DEV_PUBLISHABLE_KEY'),
],
Then set the key in your .env:
LOGO_DEV_PUBLISHABLE_KEY=pk_XXXXXXXXXXXXXXXXX
If no key is configured the column renders a neutral placeholder rather than a broken image.
php artisan vendor:publish --tag=filament-company-logo-column-config
php artisan vendor:publish --tag=filament-company-logo-column-views
use TinusG\FilamentCompanyLogoColumn\CompanyLogoColumn;
CompanyLogoColumn::make('website')
->tooltip(fn ($record) => $record->name)
The column state can be either a full URL (https://example.com/about) or a bare FQDN (example.com). A leading www. is stripped automatically.
When the column state is not the domain itself, pass a closure:
CompanyLogoColumn::make('logo')
->domain(fn ($record) => $record->primary_url)
->tooltip(fn ($record) => $record->name)
CompanyLogoColumn::make('website')
->size(48)
->format('webp')
->theme('dark')
->fallback('monogram')
->lazy()
->tooltip(fn ($record) => $record->name)
use Filament\Tables\Table;
use TinusG\FilamentCompanyLogoColumn\CompanyLogoColumn;
public static function table(Table $table): Table
{
return $table
->columns([
CompanyLogoColumn::make('website')
->label('')
->tooltip(fn ($record) => $record->name),
TextColumn::make('name')
->searchable()
->sortable(),
TextColumn::make('website')
->url(fn ($record) => $record->website, shouldOpenInNewTab: true),
]);
}
| Method | Description | Default |
|---|---|---|
domain(string|Closure|null) |
Override the source domain/URL (otherwise uses column state) | null (use state) |
size(int|Closure) |
Rendered square size in pixels | 40 |
format(string|Closure) |
Image format (webp, png, jpg) |
webp |
theme(string|Closure) |
light or dark background variant |
light |
fallback(string|Closure) |
Logo.dev fallback mode (e.g. monogram) |
monogram |
lazy(bool|Closure) |
Adds loading="lazy" to the image tag |
true |
tooltip(...) |
Inherited Filament method, use for the company name | , |
All defaults can be changed globally in config/filament-company-logo-column.php.
Filament\Tables\Columns\Column and renders a custom Blade viewHostnameNormalizer helper, strips www., rejects IPs and values without a TLDhttps://img.logo.dev/{domain} URL using the publishable key and the column's size/format/theme/fallback<div> if the value cannot be parsed or no key is configuredColumn, custom view. A dedicated Blade view keeps the markup easy to override via vendor:publish without subclassing.website columns without extra plumbing.->tooltip(...) is the idiomatic way to show the company name.clickable() helper that wraps the logo in a link to the original URLprefers-color-schemealt / tooltip resolver without relying on Filament's generic tooltipMIT License. See LICENSE for details.
How can I help you explore Laravel packages today?