IP to country flag 🚩 by Mohammadhprp
CommunityDisplay country flag from IP address in your tables.
Author:
Mohammadhprp
Package health
Automated checks of this plugin's Composer package
15 checks
- Passed: GitHub Actions pinned to SHA
- Skipped: GitLab CI includes pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Renovate MR responsiveness
- Passed: Dependabot or Renovate configured
- Passed: Dependency update cooldown configured
- Passed: Provides a security policy
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist, github).
- Passed: Commit and release recency — Active: last commit 0 days ago; last release 29 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.2supports current PHP8.5. - Skipped: Current Symfony version supported
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation

#Installation
Requires Filament 5 and PHP 8.2 or newer.
composer require mohammadhprp/filament-ip-to-country-flag-column
#Usage
use Mohammadhprp\IPToCountryFlagColumn\Columns\IPToCountryFlagColumn;
IPToCountryFlagColumn::make('client_ip');
#Options
flagPosition('left')- flag position,right(default) orleft.location(position: 'above', separator: '-')- location position,below(default) orabove, and separator (default,).hideIP(),hideFlag(),hideLocation(),hideCountry(),hideCity().locationResolver(fn (string $ip): array => [...])- use another provider, add caching, or point at a self-hosted service. The package never caches lookups itself.whenVisible()- resolve a cell only once it scrolls into view.loadingState('Locating…')anderrorState('Unavailable')- what a cell shows while loading and when a lookup fails (they accept a string, anHtmlable, or a closure). Failed cells are clickable to retry; disable withretryable(false). UseerrorStateUsing(fn (Throwable $exception) => ...)if you need the exception.
#Testing
composer test
#Example Application
The example/ directory contains a Laravel 12 and Filament 5 application using
this package through a local Composer path repository. See
example/README.md for setup and login instructions.
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#Contributing
- Fork the repository.
- Create a new branch for your feature.
- Make your changes and commit them with clear commit messages.
- Submit a pull request to the
masterbranch.
#Credits
#License
This project is licensed under the MIT License - see the License file for details.
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Spotlight Pro
Browse your Filament Panel with ease. Filament Spotlight Pro adds a Spotlight like Command Palette to your Filament Panel.
Dennis Koch
Compact Theme
A theme that makes data-heavy panels easier to scan by fitting more useful information on each screen.
Filament