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 Unicons Laravel Package

codeat3/blade-unicons

A Laravel Blade component package that makes it easy to use Unicons icons directly in your Blade views with simple, expressive tags—no manual SVG copying required. Lightweight, clean syntax, and perfect for quickly adding crisp, scalable icons to any Laravel app.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Committing to a visual language. Adopting this package is really a decision about Unicons (Iconscout's line/solid/monochrome/thinline set) as the icon aesthetic across admin, marketing, and transactional surfaces. That belongs in a design review with a named owner, not a sprint ticket filed by an engineer.
  • Build vs. buy for UI plumbing. The alternative is committing SVGs into resources/ and hand-maintaining partials. This package makes "buy" a one-file, reversible experiment — a cheap way to test whether a dependency-managed icon system suits the team before standardizing on one across the product.
  • Page-weight and performance budgeting. Inline SVG removes the icon web font, its CSS, and the flash of unstyled icons — a concrete input to Lighthouse targets, slow-network admin performance, and strict-CSP environments. Counterweight: icon-dense pages duplicate inline markup, so measure the delta on a representative screen rather than assume a win.
  • Roadmap enablers to schedule inside a design-system epic. Theming via currentColor, dark mode, RTL, and decorative-icon accessibility (aria-hidden) become nearly free once icons are Blade components rather than <i class="fa-..."> tags. This is a prerequisite within a design-system effort, never an epic of its own.
  • Where it fits. Internal admin panels, MVPs and prototypes, server-rendered Laravel marketing sites, Livewire views, and server-side PDF/export rendering where fonts and JavaScript are unreliable.
  • Decisions this must not anchor. Framework architecture, data modeling, or any public API contract. This is a leaf-level UI dependency and should never appear in an architecture review.
  • Adoption risk to plan for, not discover later. Two stars and zero dependents means we are the first to hit any defect, and Unicons licensing (attribution, redistribution, commercial use) needs clearing before a customer-facing rollout. Track both as explicit go/no-go gates, not footnotes.

When to Consider This Package

Adopt when all of these hold:

  • The stack is Laravel with server-rendered Blade views — not Inertia/React/Vue with its own JS icon library (there, import Unicons from npm directly).
  • Unicons is the chosen or seriously considered design language, being weighed against Heroicons, Tabler, or Font Awesome.
  • Zero-config matters: one composer require, no npm build, no icon-font subsetting, no CDN, no asset publishing.
  • A single-maintainer dependency with 2 stars and 0 dependents is acceptable — prototyping, internal tooling, or a codebase where the fallback is genuinely cheap and documented.
  • You need icons to survive contexts where web fonts and JavaScript do not — PDFs and server-rendered exports (but not HTML email, which strips inline SVG).
  • The team will commit to wrapping it from day one in a project-owned <x-icon name="..." /> component. That one hour of work is the entire abandonment mitigation and should be a precondition of adoption, not a follow-up task.

Look elsewhere when:

  • Governance or community validation is required. blade-ui-kit/blade-icons is the de facto abstraction; register Unicons as a custom set there and get the same icons with real downstream scrutiny.
  • You need an SLA, a security contact, or a vendor review. Zero dependents means zero community bug-finding — we will be first to hit any defect.
  • You need fewer than ~20 icons. Copy the SVGs into the repo; the dependency costs more than the asset.
  • License clarity is unresolved. Confirm Iconscout's Unicons terms before any customer-facing rollout. This package does not change the upstream license, and cannot.
  • The team is already standardized on Heroicons or an existing blade-icons setup. A second icon set just grows vendor weight and shared-dependency surface to reason about.
  • The front end is a JS SPA or the primary icon surface is HTML email. Neither is served by inline Blade SVG components.

How to Pitch It (Stakeholders)

For executives (30 seconds): This is a free, lightweight add-on that lets our Laravel application display a professional icon set with no JavaScript, no web fonts, and no design-tool subscription. Cost is zero and integration is hours, not weeks. The trade-off is that it is a small open-source project maintained by one person with almost no adoption, so my recommendation is to pilot it in an internal or low-risk surface and standardize only if the design language sticks. The exit is cheap: icons are static assets, and because we will route every view through our own one-file wrapper component, swapping providers later is a single-file change, not a rewrite.

For engineering (the substance):

  • Adds one Composer package. Icons render as inline SVG Blade components — no runtime JS, no CSS payload, no font-loading flash. Release 1.10.0 is a Laravel 13 compatibility bump (PR #19), a positive maintenance signal but not a capability change.
  • Icons inherit currentColor, so dark mode and theming work with existing Tailwind/CSS variables for free. Style variants (line/solid/monochrome/thinline) ship flattened, so verify variant naming against vendor/codeat3/blade-unicons/resources/svg/ rather than the marketing site — the filename is the component name.
  • Wrap it from day one in a project-owned <x-icon name="..." /> component so no view references the vendor component directly. If the package dies, we rewrite one file and vendor the SVGs.
  • An alias map in config ('delete' => 'trash-alt') keeps a project vocabulary in front of vendor names, so an upstream rename is a one-file diff and we have an enumerated list of icons we actually use.
  • Verify the release claim in CI instead of trusting the changelog: confirm the Laravel and blade-icons constraints in composer.json (v1 vs v2 matters — a future conflict at the worst possible moment is the realistic failure), pin exactly (1.10.*), and add a cheap test that every aliased icon renders an <svg>. That test turns the most likely failure mode — a silent upstream rename — into a red build.
  • Operational notes for the build: php artisan icons:cache belongs in the Dockerfile after composer install, not in a boot script on a read-only filesystem; re-run it whenever composer update changes the icon inventory, or new icons 404 silently. Do not point <x-icon> at email templates — Gmail and Outlook strip inline SVG.
  • Default aria-hidden="true" in the wrapper and require an explicit label prop to opt out, so the accessible choice is the default one.
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.
elsayed85/laravel-api-exceptions
ouhssini/laravel-demo-mode
daworks/ncloud-outbound-mailer-driver
gp247/cms
ignibyte/aic-gates
nexa-merchant/blog
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