← back to all libraries
// ICON LIBRARY

Tabler Icons

5500+ free MIT-licensed high-quality SVG icons

reactvuesveltenextjsMIT
GitHub →Official Site →

STATS

5,500
Icons
18,000
GitHub Stars
0.9M
Weekly Downloads
MIT
License
~1kb per icon
Bundle Size
2020
Since

OVERVIEW

Tabler Icons is the largest free open-source icon library available today, offering over 5,500 carefully crafted SVG icons. It was created by Paweł Kuna as part of the Tabler admin dashboard project and has since grown into one of the most comprehensive icon sets in the developer ecosystem.

What makes Tabler stand out is sheer volume combined with consistency. Every icon follows the same design grid, stroke width, and visual language. Whether you need common UI icons or highly specific symbols for finance, medicine, sports, or technology — Tabler almost certainly has what you need.

Tabler Icons ships with full React, Vue, and Svelte support via separate packages. All packages are fully tree-shakable and include complete TypeScript definitions. Icons accept size, color, strokeWidth, and className props. A Figma plugin is available for design teams.

// VERDICTIf you need the largest possible icon selection without paying, Tabler Icons is the clear winner. The only caution is bundle size — make sure you import icons individually rather than the entire library, or your bundle will bloat significantly.

INSTALLATION

react
npm install @tabler/icons-react
nextjs
npm install @tabler/icons-react

// Note: Works with Next.js App Router. Import icons individually for best tree-shaking performance.
vue
npm install @tabler/icons-vue
svelte
npm install @tabler/icons-svelte
vanilla
npm install @tabler/icons

CODE EXAMPLES

basic
import { IconHome, IconSettings, IconUser } from '@tabler/icons-react'

export default function App() {
  return (
    <div>
      <IconHome size={24} />
      <IconSettings size={24} color="#6366f1" />
      <IconUser size={24} strokeWidth={1.5} />
    </div>
  )
}
with Tailwind
import { IconBell } from '@tabler/icons-react'

export default function Navbar() {
  return (
    <button className="flex items-center gap-2">
      <IconBell className="h-5 w-5 text-gray-500" />
      <span>Notifications</span>
    </button>
  )
}
filled Variant
// Tabler also offers filled variants
import { IconHomeFilled, IconHeartFilled } from '@tabler/icons-react'

export default function App() {
  return (
    <div>
      <IconHomeFilled size={24} />
      <IconHeartFilled size={24} color="red" />
    </div>
  )
}

PROS & CONS

PROS
Largest free icon set
5,500+ icons covering virtually every use case — from common UI to highly specific symbols for medicine, finance, sports, and more.
Both outline and filled styles
Unlike Lucide which is outline-only, Tabler offers filled variants for most icons giving you more design flexibility.
Fully tree-shakable
Import only what you use. Each icon adds roughly 1kb to your bundle, keeping performance optimal.
Multi-framework support
Official packages for React, Vue, Svelte, and vanilla JS cover virtually every modern frontend stack.
Figma plugin available
The official Figma plugin lets designers use the same icons as developers, keeping the design system in sync.
CONS
Large bundle if not careful
With 5,500 icons the full package is massive. Always import icons individually — never import the entire library at once.
All icons prefixed with Icon
Every component is named IconHome, IconUser etc. This adds verbosity compared to libraries like Lucide where you just write Home.
Less recognizable brand
Tabler is less well-known than Lucide or Heroicons in the React community, which can matter for team familiarity.

WHO SHOULD USE THIS

USE IF YOU...
Projects that need a very large and diverse icon set
Admin dashboards and data-heavy applications
Applications that need both outline and filled icon variants
Teams using Svelte who need a well-supported icon library
Projects where finding niche or specialized icons is a priority
AVOID IF YOU...
Projects where you only need 20-30 common icons — Lucide is simpler
Teams new to icon libraries who might accidentally import the whole package
Projects with very strict bundle size requirements without proper tree-shaking setup

FREQUENTLY ASKED QUESTIONS

Q.Is Tabler Icons free for commercial use?
A.Yes. Tabler Icons uses the MIT license, one of the most permissive open source licenses. You can use it in any commercial project without attribution.
Q.How do I use Tabler Icons in Next.js?
A.Install @tabler/icons-react and import icons individually. For example: import { IconHome } from '@tabler/icons-react'. This works in both App Router and Pages Router without any additional configuration.
Q.Does Tabler have filled icons?
A.Yes. Tabler offers filled variants for many icons. Filled icon names end with Filled — for example IconHomeFilled, IconHeartFilled. Not all icons have a filled variant yet.
Q.How is Tabler Icons different from Lucide Icons?
A.The main differences are icon count (5,500 vs 1,400) and style options. Tabler has far more icons and offers filled variants. Lucide has a slightly more polished and consistent design language and is more popular in the React community.
Q.Will Tabler Icons slow down my app?
A.Only if you import incorrectly. Never do import * from '@tabler/icons-react'. Always import individual icons. With proper tree-shaking each icon adds roughly 1kb to your bundle.

COMPARE WITH ALTERNATIVES

Tabler Icons vs Lucide IconsTabler Icons vs HeroiconsTabler Icons vs Phosphor IconsTabler Icons vs Remix IconTabler Icons vs Feather IconsTabler Icons vs Bootstrap IconsTabler Icons vs Radix Icons