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
Nova Image Tags

Nova Image Tags Laravel Package

stepanenko3/nova-image-tags

A Laravel Nova package for tagging images in your admin panel. Attach searchable tags to uploaded images via Nova resources, making media easier to organize, filter, and find. Simple to integrate and configure for image-heavy applications.

View on GitHub
Deep Wiki
Context7

A Laravel Nova field.

Frequently asked questions about Nova Image Tags
What is stepanenko3/nova-image-tags used for?
It is a Laravel Nova field that lets you attach searchable tags to images managed through your Nova resources. Instead of relying only on filenames or folder structures, editors can label media with descriptive tags inside the admin panel and use those tags to organize and find assets. It is aimed at image-heavy applications where browsing and filtering a media library needs to be fast and simple. You integrate it by adding the field to an existing Nova resource that already handles your images.
How do I install nova-image-tags with Composer?
Run composer require stepanenko3/nova-image-tags from the root of your Laravel project. Because this is a Nova field, you need a licensed Nova installation already present in the application. Laravel package discovery normally handles service provider registration, so no manual wiring is required. Check the README for any publish, config, or migration steps that should run after the install.
How do I add the image tags field to a Nova resource?
Import the field class at the top of your Nova resource and add an instance to the array returned by the fields method, exactly like any other Nova field. Since it is image-oriented, you will usually place it next to the image or media column it describes. After saving the resource file, open the Nova UI and confirm the field renders, accepts input, and persists values. The README documents the exact namespace and any constructor arguments you may need.
Do I need a database migration to store image tags?
The field needs somewhere to persist tag values, which is typically a column on your images table or a related tags table depending on how your models are structured. Check the README for the expected schema or any publishable migration before wiring the field into a resource. If a migration is published, run php artisan migrate afterwards. If you are adding the column yourself, use a text or JSON type that can hold multiple tags.
Can I filter or search Nova resources by image tag?
Making media findable by tag is the core purpose of the package, so tag values are stored in a queryable form. Whether you rely on Nova's built-in searchable fields or write a custom Nova filter class depends on your resource setup and what the README documents. For anything beyond a small library, add a database index on the tag column so filtering stays responsive. Verify the behaviour on staging with realistic data before relying on it in production.
Which Laravel and Nova versions does this package support?
The authoritative answer is the version constraints inside the package's composer.json, so read that file and the README before installing. Compare those constraints against the Laravel and Nova versions in your application. Nova majors have historically changed field APIs between releases, so pin a compatible combination in your lock file. If you are running an older Nova version, confirm support before planning an upgrade.
Can one image have multiple tags?
Yes, attaching several descriptive tags to a single image is the normal use case for this field. Depending on how the field is configured, input is usually captured either as comma-separated text or through a tag-selection style UI. Check the README for the exact input style plus any delimiter, suggestion, or validation options it exposes. Storing tags as an array or JSON column keeps multi-tag values easy to query later.
How do I test this Nova field in CI?
Add the package to your test application's dependencies and write a small feature test that saves tags through the field and asserts the values persist on the model. Nova itself is a commercial package, so CI environments need either stored Composer credentials or a pre-installed vendor directory. Keeping one focused test around tag persistence catches schema drift early when you upgrade Laravel or Nova. Run it as part of your normal test suite rather than a separate pipeline.
Is nova-image-tags suitable for production with a large media library?
The field itself is thin, so runtime cost is mostly the database read and write for tag values rather than heavy processing. With thousands of images, index the tag column and avoid loading an entire library in one Nova index view by using pagination and filters. Test on staging with realistic volumes before rollout, particularly if you add tag-based filtering to the resource index. Confirm maintenance activity in the repository so you know upgrades will be supported.
What are the alternatives to nova-image-tags?
You can build tagging yourself with a belongsToMany tags relationship plus Nova's BelongsToMany field, which gives full control over schema and filtering. Spatie's tags package combined with Nova fields is a common general-purpose approach, and Spatie Media Library covers custom properties on media records. This package is attractive when you want a small, focused field without designing the tagging UI from scratch. Check the repository's commit history and open issues before adopting it, since maintenance activity matters for long-lived projects.
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.
microsoft/fluentui-system-icons
mmccook/php-json-canonicalization-scheme
middlewares/firewall
qubiqx/montapacking
nyoncode/laravel-package-console
pnscripts/filament-broadquill-lite
pnscripts/laravel-sentfold-lite
vleap/mx-sdk-laravel-internal
twidpay/utils
htetmyathlaing/scout-elasticsearch-driver
artisan-toolbox/front-awesome
ls/client-assistant
users-au/laravel-client
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core