Skeleton takes an agnostic approach to icons, allowing you to use any combination of SVGs, emoji, unicode, or dedicated icon libraries. Mix and match to fulfill your project's unique requirements.
Lucide
While Skeleton is icon-agnostic, we recommend Lucide for its broad framework support and clean aesthetic. All examples found on this site use Lucide, but feel free to substitute with any alternative.
Sizes
You can size icons and related elements using the following utility classes:
size-elem-*h-elem-*w-elem-*
TIP: Tailwind Components (buttons, badges, chips, field sizes, etc) adjust icon size automatically for any SVG-based icons (such as Lucide). Explicitly setting the size is redudant.
xs sm base lg xl 2xl 3xl 4xl 5xl 6xl 7xl 8xl 9xl Icon sizes are based on Tailwind’s built in --text-* property, which means you can match icon sizes as follows.
<div class="flex items-center gap-4">
<SomeIcon class="size-elem-{size}" />
<div class="h-elem-{size}">...</div>
</div>As well as extend with custom icon sizes as expected.
:root {
--text-10xl: --spacing(42); /* 168px */
}@utility icon-10xl {
width: var(--text-10xl);
height: var(--text-10xl);
}Alternatives
Looking for something a bit different? Check out these other popular alternatives.
- Iconify : provides a vast array of icon sets supported by popular icon libraries.
- Font Awesome : provides a huge variety of icons in their free tier.
- SimpleIcons : provides an excellent selection of brand icons.
- Radix Icons : features modern styles and a large selection, supports React only.
- Iconify : provides a vast array of icon sets supported by popular icon libraries.
- Font Awesome : provides a huge variety of icons in their free tier.
- HeroIcons : from the makers of Tailwind CSS, supports React and Vue.
- SimpleIcons : provides an excellent selection of brand icons.