codeat3/blade-carbon-icons
Blade Carbon Icons brings IBM's Carbon icon set straight to Laravel Blade. Lightweight components let you render any icon with a simple tag — no SVG copying or extra setup required. Just install, configure, and drop crisp, consistent icons into your views and UI components.
<x-carbon-add />) means every Laravel surface — admin panel, dashboard, customer portal — pulls from one vetted icon vocabulary instead of ad-hoc SVGs exported from a designer's folder. This is a brand and UX consistency decision made cheaply.icons/ directory" workflow and removes the case for paid icon subscriptions or an icon-font dependency. Icons become a versioned, greppable, Composer-upgradeable dependency with an almost-free exit path, because the underlying artifacts are just SVGs. Frame this on the roadmap as avoided cost, not a feature.Consider adoption when:
blade-* packages from the same author instead.Look elsewhere when:
Practical adoption criteria: confirm the component naming convention fits your templates; confirm Carbon covers your core UI verbs (add/edit/delete/search/settings/chevrons); verify the PHP and Laravel constraints against every app in the monorepo, since one incompatible app blocks the bump; pin an explicit version rather than floating ^2.0; and spend a short spike establishing a house convention for size, color, and accessibility (aria-hidden on decorative icons, title/role on meaningful ones) so usage does not sprawl.
For executives. This is a small, free, MIT-licensed open-source add-on that gives our Laravel apps a professional, legally clean icon set directly from the template code — no design subscription, no additional build tooling, no per-icon design time. The 2.39.0 release adds support for the next Laravel version, so it will not block the planned framework upgrade. Cost is effectively zero and the exit cost is low: the icons are plain SVGs, so changing our mind later is a find-and-replace exercise, not a re-architecture. The one caveat is maturity — a single-maintainer package with negligible adoption — which is why the recommendation is a contained pilot, not a portfolio-wide standard.
For engineering. blade-carbon-icons provides the Carbon (IBM) icon set as Blade components rendering inline SVG server-side: no JS, no webfont, no CDN, CSP-friendly, auto-discovered via Composer. Release 2.39.0 is a single change — Laravel 13 compatibility (PR #278) — with no new icons, no API changes, no deprecations; 2.38.x should be treated as the last line for pre-13 constraints. Risk is low and well contained: pure presentation layer, holds no state, touches no data, queue, or routes. The real risks are (a) framework-upgrade lockstep — if the maintainer stops tracking Laravel majors, a stale pin becomes an upgrade blocker; (b) component-registration and inlined-SVG byte cost on icon-heavy views, worth measuring rather than assuming; and (c) visual and sizing drift versus whatever icon system it replaces, which no automated check will catch. No dependencies, no migrations; the effort is installation plus template substitution, which is where the time actually goes — under a day for install and a smoke test, one to three days for broad substitution in a mid-size app.
Recommendation. Pilot on one Blade-rendered product, pinned to 2.39.x exactly, sequenced with the Laravel 13 upgrade so there is one test cycle instead of two. Establish an internal convention for icon naming, sizing, color, and accessibility before a second team adopts. Add the package to the periodic dependency-review list with a named owner and record the fork-or-swap contingency (vendor the SVGs or move to a sibling package — a one-to-three-day effort). Review after one release cycle to confirm the maintainer keeps pace with Laravel majors. If the frontend is predominantly Inertia/React, skip it and evaluate a JS-native icon package instead.
How can I help you explore Laravel packages today?