ICON OOP
Icons & Logos
Icon set

Tabler icons: the working guide

Tabler is the set you reach for when you have already searched two other libraries and still cannot find the icon. Over 5,000 icons, MIT licensed, with matched outline and filled versions. That breadth is its strength and also the thing you have to manage.

HomeIcon SetsTabler

Tabler Icons started as the icon set for the Tabler admin dashboard project and outgrew it. It is maintained by Paweł Kuna and a large group of contributors, released under the MIT licence, and now carries more than 5,000 icons across outline and filled styles.

Most icon sets solve the consistency problem by staying small. Tabler solved the coverage problem instead. If your product has an unusual domain, medical, logistics, finance, agriculture, manufacturing, Tabler is usually the first set that actually has your icon rather than a vague approximation of it.

The short version

Tabler is drawn on a 24 by 24 grid with a 2px stroke and rounded caps, the same base rules as Lucide, so the two mix better than most libraries. The real differentiator is the filled set: most outline icons have a filled twin with the same name, which makes selected and unselected states trivial. Licence is MIT, no attribution required.

What coverage actually buys you

Icon coverage is not about having more pictures. It is about how often a designer has to compromise.

When a set is missing an icon, one of three bad things happens. Someone substitutes a vaguely related icon and the interface gets slightly less legible. Someone pulls a single icon from a second library and the visual consistency breaks. Or someone draws a new one, which now needs to be maintained forever and will drift from the set within a year.

Tabler's size means the first of those happens far less often. For a general product this is a mild convenience. For a domain-heavy product, an internal tool, a clinical system, a warehouse app, it is the difference between a coherent interface and a patchwork.

Outline and filled pairs

This is Tabler's most underrated feature. Most outline icons have a filled counterpart drawn on the same silhouette. The convention is a -filled suffix, so star and star-filled, heart and heart-filled, bookmark and bookmark-filled.

That pairing solves a genuine interface problem cleanly:

PatternUnselectedSelected
Bottom tab barOutlineFilled
Favourite / likeOutlineFilled, usually recoloured
Saved itemOutline bookmarkFilled bookmark
Rating starsOutlineFilled up to the rating

Doing this without a matched pair means either recolouring the same outline icon, which reads as weak, or hand-filling an outline icon, which rarely looks right because the silhouette was drawn for a stroke.

Naming and search patterns

Names are lowercase kebab-case and lean descriptive rather than semantic: brand-github, device-mobile, square-rounded-check, arrow-narrow-right. Three prefixes are worth knowing because they cover a large share of the set.

  • brand- for brand and product marks, for example brand-figma.
  • device- for hardware, for example device-laptop.
  • file- for document types, for example file-spreadsheet.

Tabler's naming is more literal than Lucide's. If you are searching for a concept rather than a shape, search the shape. Looking for "delete", search "trash". Looking for "settings", search "adjustments" as well as "settings", because Tabler has both and they mean different things.

Installing Tabler

StackPackage
React@tabler/icons-react
Vue 3@tabler/icons-vue
Svelte@tabler/icons-svelte
Raw SVG files@tabler/icons
Webfont@tabler/icons-webfont

The webfont exists, and for most projects it is the wrong choice. An icon font ships the entire set as one blocking file, cannot be multi-coloured, and is read badly by screen readers unless carefully hidden. The reasoning is set out in SVG vs icon fonts. Use the SVG packages unless you are maintaining something legacy.

Subsetting: the thing nobody does and should

A real product uses somewhere between 30 and 120 distinct icons. Tabler has 5,000. Those two numbers should shape how you use it.

The practical approach is to treat Tabler as a source, not a dependency. Pick your icons, export them, and commit them to your repo as a small local set, either as individual SVGs or a single sprite sheet. You get four things from this: a fixed, reviewable icon inventory, no package version churn changing your icons under you, no bundler configuration to argue about, and a natural checkpoint where someone has to justify adding icon 121.

Why this matters more than bundle size

Modern bundlers tree shake, so the unused 4,900 icons usually do not ship. The real cost of an unmanaged icon library is not kilobytes, it is that nobody knows which icons the product uses, so nobody can keep them consistent. A committed local set turns icons into a reviewable design decision instead of an import someone made at 6pm.

The risk of a 5,000 icon library

Breadth invites inconsistency. With this many options, two developers building similar features will pick two different icons for the same concept: one uses settings, one uses adjustments, one uses tool. Six months later your product has three settings icons and users have learned none of them.

The fix is not a smaller library. It is a one-page icon inventory: concept, chosen icon name, where it is used. Ten minutes to write, and it prevents the single most common icon problem in growing products.

Tabler vs Lucide vs Phosphor

TablerLucidePhosphor
Roughly5,000+1,7001,500 icons, 6 weights each
LicenceMITISCMIT
Filled variantsYes, matched pairsLimitedYes, plus duotone
Native grid24 by 2424 by 24256 by 256
Best whenYou need obscure iconsYou want restraintYou want tunable weight

Tabler and Lucide share a grid and stroke weight, so mixing them is the least-bad mixing you can do if you are genuinely stuck. Phosphor's different native grid means it rarely mixes cleanly with either.

Licence in plain English

Tabler Icons is MIT licensed. Commercial use, modification, redistribution and use inside paid products are all permitted. Keep the licence text with the source if you redistribute the files. No visible attribution is required on your site.

The exception is the brand- icons. The SVG path data is MIT, but the logos those paths depict are trademarks owned by the companies concerned. Using a GitHub mark to link to GitHub is normal nominative use. Using it to imply GitHub endorses your product is not. See icon licensing.

Frequently asked questions

Yes. Tabler Icons is MIT licensed, so commercial use, modification and redistribution are all permitted, including inside paid software. Retain the licence notice if you redistribute the icon files themselves. No visible attribution is needed on your website. Brand icons are a separate matter because the logos remain trademarks of their owners.
More than 5,000 across outline and filled styles, and the set grows regularly. That makes it one of the largest freely licensed icon libraries available, and it is usually the set that has an icon when smaller libraries do not, particularly for domain-specific concepts in medical, logistics, finance and manufacturing interfaces.
Filled icons use the same silhouette as their outline counterpart but as a solid shape, and are named with a -filled suffix. The pairing is designed for selected and unselected states: outline for an inactive tab or an unsaved item, filled for the active or saved version. Building that pattern without matched pairs usually looks compromised.
SVG, in almost all cases. Icon fonts ship the whole set as one render-blocking file, cannot be multi-coloured, are announced oddly by screen readers unless carefully hidden, and fail to a missing-glyph box if the font does not load. The webfont is mainly useful for maintaining older projects that already depend on it.
Better than most combinations, because both are drawn on a 24 by 24 grid with a 2 pixel rounded stroke, so weights broadly match. It is still not ideal, as corner radii and level of detail differ. If you must mix, use one library as the base and pull from the second only for icons the first genuinely lacks, then check them side by side at your real display size.
Keep a short icon inventory listing each concept, the exact icon name chosen for it, and where it is used, then export those icons into your own repo rather than importing freely from the package. This turns icon choice into a reviewable decision and prevents three different settings icons appearing across a product as it grows.

Download Tabler icons as SVG or PNG

Search the full Tabler set including filled variants, recolour, resize and export. Free, in your browser.

Open the ICON OOP tool