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
Blade Emblemicons

Blade Emblemicons Laravel Package

codeat3/blade-emblemicons

Blade Emblemicons offers lightweight Laravel Blade components for rendering Emblemicons icons directly in your views. Install via Composer and use simple x-emblemicon tags with customizable classes and attributes to add crisp SVG icons to any Laravel app.

View on GitHub
Deep Wiki
Context7

A package to easily make use of Emblem Icons in your Laravel Blade views.

Frequently asked questions about Blade Emblemicons
How do I install codeat3/blade-emblemicons in a Laravel application?
Install it with Composer by running composer require codeat3/blade-emblemicons. Laravel's package auto-discovery registers the service provider, so there is nothing to add to config/app.php and no npm or asset build step. Once installed, render an icon in any Blade view with a tag such as <x-emblemicon-home />. The SVG markup is inlined into your HTML at render time.
Which Laravel versions does blade-emblemicons support?
The package follows the illuminate/* constraints inherited through blade-ui-kit/blade-icons, and release 1.6.0 added Laravel 13 compatibility. Because support is governed by the underlying illuminate/support and blade-icons version floors, check the composer.json constraints on the version you install rather than assuming support for older majors. If you are pinned to an older Laravel release, verify the constraint before adding the package. The practical rule is that the wrapper is only as current as the blade-icons release it depends on.
How do I change the size and color of an Emblemicons icon in Blade?
The icons render inline SVG that inherits currentColor, so color is controlled by the CSS color on the element or any ancestor, including Tailwind text-color utilities. Size is handled the same way as any inline SVG: pass width and height attributes or a sizing class such as w-6 h-6 directly on the component tag. No package configuration is required for either. Because output is inline SVG, standard CSS and utility classes apply without extra selectors.
Can I pass class, width, height, or aria-hidden attributes to the icon component?
Yes. Attribute passthrough, including class, width, height, aria-hidden, title, and fill, is handled by the underlying blade-ui-kit/blade-icons component, not by this package. That means utility-class sizing and accessibility attributes work as expected on the Blade tag. Verify the rendering once in your own layout, since decorative versus semantic icon usage is a common accessibility audit finding. Adding aria-hidden="true" for purely decorative icons and a title for meaningful ones is good practice.
How do I publish the blade-emblemicons config file or change the icon prefix?
Publish the configuration with php artisan vendor:publish --tag=blade-emblemicons-config. The published file exposes settings such as the SVG path, the component prefix, and disk options, so you can rename the prefix if it collides with another icon set. There are no environment variables required for the package to work. Publishing is optional and only needed when you want to override the defaults.
Does blade-emblemicons require a build step or make external HTTP requests at runtime?
No. All Emblem Icons SVGs ship inside the vendor directory, and the component inlines the SVG markup into your Blade output. There is no npm build, no icon font, and no CDN or external HTTP request at runtime. The trade-off is bundle weight on disk, since the full set is installed with no tree-shaking; only the icons you actually render appear in the HTML.
How do I find the correct icon name to use in the component tag?
Component names map to the SVG filenames inside resources/svg/ in the installed package directory, usually vendor/codeat3/blade-emblemicons/resources/svg. Browse that folder or the upstream Emblem Icons set to confirm the exact name, including any size or style suffixes. The real effort in adopting this package is mapping your design system's icon names to those filenames, not the installation itself. Keep that mapping documented so view changes stay predictable.
Can I use the @svg directive instead of the Blade component tag?
Yes. Since the package registers the Emblem Icons set with blade-ui-kit/blade-icons, you can render icons through the @svg directive using the registered prefix, as well as through the component tag. This is useful when the icon name is dynamic and stored in a variable or database field. Both paths produce the same inline SVG output. Pick one convention per project to keep templates consistent.
Is blade-emblemicons safe to use in production, and what are the maintenance risks?
The code itself is a thin, low-risk presentation-layer wrapper with no database, queue, cache, or auth surface, so it can be added or removed without touching domain logic. The real risks are supply-chain ones: a single maintainer, a small user base, and no API contract on icon names, so an upstream rename between minor releases can silently break a view. Pin the version in composer.lock, test icon rendering in CI, and confirm the Emblem Icons licence permits redistribution inside vendor/. Release 1.6.0 adding Laravel 13 support is a good sign that Laravel major compatibility is being tracked.
How does blade-emblemicons compare to blade-heroicons or other Blade icon packages?
They are the same kind of package: a thin generated wrapper around blade-ui-kit/blade-icons that exposes a specific icon set as Blade components. The API, attribute passthrough, and upgrade behaviour are largely defined by blade-icons, so the meaningful difference is the icon language itself, not the code. Choose based on whether Emblem Icons fits your design system, and avoid running overlapping icon wrappers in one app. Using two wrappers doubles vendor weight and creates design-consistency drift.
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.
vento/laravel-airbrake
wfeller/laravel-batch
maco-studios/mage-os-installer
busarm/armie
siberfx/laravel-logger
kfteam1991/dcat-admin
dashed/dashed-laposta
dashed/dashed-ecommerce-montaportal
dashed/dashed-ecommerce-etsy
neohq/string-blade-compiler
log1x/acf-composer
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox
pairus/product-data
fayne/laravel-filament-cms-core
nodisrupt/laravel-agent
sierratecnologia/media-manager