Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message
Filament Image Caption Upload

Filament Image Caption Upload Laravel Package

imsyuan/filament-image-caption-upload

Filament Image Caption Upload adds a Filament form component for uploading images with editable captions, making it easy to manage captioned image galleries in admin panels. It supports caption entry alongside image previews and multiple uploads.

View on GitHub
Deep Wiki
Context7

Filament FileUpload component with per-image caption input — zero build step, reorder-safe, duplicate-filename safe

Frequently asked questions about Filament Image Caption Upload
How do I install imsyuan/filament-image-caption-upload?
Install it with Composer using composer require imsyuan/filament-image-caption-upload. Because it is a Filament form component rather than a full plugin panel, you do not need to register a service provider or run extra panel configuration in most cases. Check the repository README for any publishable assets or config, since no build step is required.
Does this package require npm or a frontend build step?
No. The package is described as zero build step, meaning the caption input UI ships ready to use without compiling assets with Vite or Mix. That makes it convenient for projects that want to avoid maintaining a custom Filament asset pipeline. You only need your normal Laravel and Filament installation.
How do I add editable captions to image uploads in a Filament form?
You swap the standard Filament FileUpload component for the caption-enabled component provided by this package inside your form schema. Each uploaded image then renders with its own caption text input next to the preview, so editors can describe images while uploading. Multiple images can be added in one upload, each with an independent caption field.
Is it safe to reorder images after uploading them?
Yes. The component is built to be reorder-safe, so captions stay attached to the correct image when items are moved in the upload list. That matters because Filament's FileUpload supports drag-and-drop ordering by default, and naive caption implementations lose their association when the order changes. You can let editors rearrange a gallery without re-entering captions.
What happens if two uploaded images have the same filename?
The package is duplicate-filename safe, so uploading a second image such as photo.jpg does not cause its caption to overwrite or mix with the first one. Filament and Laravel's storage layer already generate unique stored paths, but the caption tracking here is keyed so collisions in the original filename do not break the mapping. This is useful when users upload batches of similarly named camera exports.
Which Laravel and Filament versions are supported?
This is a Filament form component, so it targets the Filament major version declared in its composer.json constraints. Before installing, check the require section on Packagist or in the repository to confirm it matches the Filament version your panel runs, and verify the minimum PHP version as well. Laravel compatibility generally follows whatever your Filament release supports.
How do I store the captions in my database?
Captions are submitted as part of the form state alongside the uploaded file, so you persist them the same way you persist any other field in your create or edit form. Common approaches are a JSON column on the parent model, or a related images table with image path and caption columns. See the README for the exact state shape when wiring up your save logic.
Can I upload multiple images with individual captions at once?
Yes. The component supports multiple uploads and gives each image its own caption input, which makes it suitable for building captioned galleries in an admin panel. Editors can select several files in one go and then fill in captions for each preview before saving. This avoids the repetitive flow of uploading and saving one image at a time.
Does adding this package break the existing FileUpload features I rely on?
It extends Filament's FileUpload rather than replacing the underlying storage, validation, or image handling, so standard options like disk, directory, visibility, and image resizing should continue to work as configured on the component. As with any third-party form component, test your specific configuration in a staging environment before rolling it out. Reviewing the README for documented limitations is worthwhile if you rely on advanced upload features.
Is this package actively maintained, and are there alternatives?
Maintenance activity should be checked on the GitHub repository, where the commit history and open issues show how current the package is. If you need a different approach, you can build caption inputs yourself with a Filament Repeater containing a FileUpload and a TextInput, which gives more control but requires custom state handling for reordering and duplicate filenames. This package mainly saves you that wiring work.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
novasa/laravel-language-center
opencage/geocode
adolfoholzer/parameters
livenetworks/ln-starter
shitoudev/permissionmanager
johannesclimacus/laravel-tui
hocvt/seotools
vitalybaev/sypexgeo
amphibee/themosis-ignition
gito-me/fast-excel
frankyso/laravel-ipaymu
geolize-studio/laravel-chile
boomerangui/chat
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core