Filament URL Image Uploader
A first-class Filament v3 form component that lets admin users paste any image URL, preview it in real time, validate it, and store it via Laravel's Storage system — eliminating manual download-and-reupload workflows entirely.
A production-ready Filament PHP form field that accepts image URLs, fetches and validates the image on the server, previews it inline, and stores it through Laravel's configurable storage layer — removing all friction from URL-sourced image management inside Filament panels.
Overview
Managing images in Filament admin panels often requires toggling between file upload dialogs and external media sources. Filament URL Image Uploader removes that friction entirely. It is a purpose-built Filament v3 form component that lets any admin user supply an image URL, preview it in real time, and store it through Laravel's configurable Storage system — in a single step.
The Problem It Solves
Traditional file upload fields force content editors to:
- Locate the image on an external website
- Download it to their device
- Re-upload it through the admin panel upload dialog
- Wait for server-side storage processing
When managing large product catalogues, portfolio galleries, or blog libraries, this cycle is a genuine productivity bottleneck. URL Image Uploader collapses all four steps into one: paste the URL, verify the preview, hit save.
Key Features
- URL-driven upload — accepts any publicly accessible image URL as the field value
- Live preview — renders a thumbnail directly in the Filament form before saving
- Server-side validation — confirms the URL returns a real, reachable image with a valid content-type header
- Laravel Storage integration — stores files on any configured disk:
local,s3,r2, or any custom Flysystem adapter - Directory configuration — specify the target storage directory per field instance (
->directory('projects')) - Filament v3 API compliance — fully integrates with Filament's form lifecycle, state management, and validation pipeline
- Composer distribution — published on Packagist and installable with a single Composer command
Installation
composer require amjadiqbal/filament-url-image-uploader
Then use the field in any Filament form:
use AmjadIqbal\FilamentUrlImageUploader\Components\UrlImageUploader;
UrlImageUploader::make('featured_image')
->label('Featured Image')
->directory('projects')
->columnSpanFull(),
Technology Stack
Built on PHP 8.2+, Laravel 11/12, Filament v3, Livewire v3, and Alpine.js. The component follows Filament's native design system conventions so it requires zero additional CSS configuration.
Architecture Highlights
The component extends Filament's Field class and hooks into the form state pipeline. The image fetch and validation logic runs through a Livewire action on the server side, keeping sensitive processing away from the browser. The resulting stored path is written back to the form state and saved normally through Filament's fill() and getState() contract.
Practical Use Cases
- Portfolio CMS panels where project cover images are sourced from CDN URLs or design tools
- E-commerce admin dashboards pulling product images from supplier catalogue links
- News and blog management systems where editors source images from press releases
- Multi-tenant SaaS platforms requiring fast, frictionless image management for client content
- Any Filament v3 panel where reducing upload friction improves daily content operations
Community Reception
Since its release, the package has earned 16 stars and 2 forks on GitHub — reflecting genuine adoption across the Laravel and Filament community. It is actively maintained and open for contributions.
Source & License
Full source code, installation documentation, and configuration reference are available on GitHub. Released under the MIT License.