mrkeyoor.com_
Mon 07 Sept 06:00 UTC
Dev Toolsevaluationupdated 07 Sept 2026

tabler-icons review

Tabler Icons is a large, MIT-licensed collection of SVG icons for websites and apps. It gives teams one consistent 24x24 visual system, then packages that system for direct SVG use, sprites, webfonts, popular JavaScript frameworks, and several export formats.

trackingstars / 7d
Verdict

Our build failed after 830 seconds because rsvg-convert was not found. That contributor experience needs better prerequisite documentation, and the 104-second test failure means we cannot call the checked-out monorepo clean on our box. For normal product use, however, Tabler Icons is an easy recommendation when its visual style fits: the MIT license, 6,184-icon catalog, and unusually broad official package selection remove a lot of integration friction.

We ran it

Install✓ · 35s2233 packages · 1124 MB
Build✗ · 830s
Tests✗ · 104sran, no count parsed
Repo7195 files~6,132 lines of source · 53.2 MB · 7 CI workflows · tests dir

Answers from our run

Does tabler-icons build from source?

Dependencies installed in 35 seconds (2233 packages), and the build failed. We cloned commit 55f87a7 into a clean Debian container with 3 CPUs and no project-specific setup.

Do tabler-icons's tests pass?

The test command failed in our container, and its output did not report a pass or fail count.

Who should not use tabler-icons?

Contributors who expect the repository itself to build with only the documented pnpm setup, because our build hit a missing system command

What are the alternatives to tabler-icons?

Lucide, Heroicons, Phosphor Icons. Our build failed after 830 seconds because rsvg-convert was not found.

Setup2/5Package use is simple; our full build and tests failed
Docs4/5Clear package and usage guidance, but a build prerequisite was missing
Community4/521,617 stars and a push four days before review
Maturity4/5MIT project at v3.46.0 with many official integrations

Who it’s for

Front-end teams that want one broad icon family across several frameworks
Designers and developers who value editable SVGs and a consistent 2px outline style
React, Vue, Svelte, Angular, Astro, Preact, SolidJS, or React Native projects wanting official packages
Teams that need permissive MIT licensing for commercial products

Who it’s NOT for

Contributors who expect the repository itself to build with only the documented pnpm setup, because our build hit a missing system command
Products that need every symbol in a filled style, since the filled set is much smaller than the outline set
Teams seeking tiny dependency installs for local monorepo development, because our checkout used 1,124 MB after installation
Projects that prefer a deliberately small, tightly curated icon vocabulary

Setup reality

In our run, pnpm installed 2,233 packages in 35 seconds and occupied 1,124 MB, but the build failed after 830 seconds because rsvg-convert was not found, and the test command failed after 104 seconds with exit 137 while @tabler/icons-angular was building. The README makes consuming a published package look correctly simple, usually one install command, but working on the full monorepo is materially heavier and appears to require a system dependency that the provided installation excerpt does not mention. The test log establishes the failed package and exit code, not why the process received exit 137.

A broad icon system, not merely a folder of SVGs

Tabler Icons solves an ordinary but expensive product problem: keeping interface symbols visually consistent while a codebase spreads across pages, teams, and frameworks. Its 6,184 free icons share a 24x24 grid and a default 2px stroke, giving designers and developers a common baseline rather than a collection assembled from unrelated sources. The MIT license also keeps adoption straightforward for commercial and open-source work.

The catalog is weighted toward outline art: 5,130 outline icons versus 1,054 filled icons. That distinction matters if your interface depends on filled states for every control, because the filled collection does not match the outline collection one for one. For the usual navigation, status, action, and content needs, though, the total range is a persuasive reason to start here rather than drawing missing symbols yourself.

The 15 official packages are the practical advantage

The project does more than publish raw files. Its 15 listed packages cover SVGs with metadata, sprites, webfonts, React, React Native, Preact, Vue 3, Svelte 4, Svelte 5 runes, SolidJS, Astro, Angular, PNG, PDF, and EPS. That breadth is especially useful for organizations with multiple front ends: teams can retain the same icon language while choosing an integration that suits each application.

The raw SVG behavior is sensible and well documented. Inline icons use currentColor, so ordinary CSS can control color, width, height, and stroke width. The examples show a 32px icon with a 1.5 stroke, while the sprite package includes filled and no-fixed-stroke variants. The webfont package similarly offers outline styles at stroke widths of 2, 1.5, and 1, plus a filled stylesheet. These are concrete, useful controls rather than decorative marketing claims.

What happened when we ran it

We cloned commit 55f87a7 into a fresh unprivileged Debian container with 3 CPUs, 8 GB of RAM, Node.js 22, and no secrets. The repository contained 7,195 files, about 6,132 lines of source, and occupied 53.2 MB when checked out. Installation succeeded in 35 seconds, bringing in 2,233 packages and increasing the on-disk footprint to 1,124 MB. That is a successful install, but it is a substantial contributor environment for an icon project.

The build did not complete. It ran for 830 seconds and exited with code 1 after /bin/sh reported that rsvg-convert was not found. That log supports a narrow conclusion: our container lacked a command required somewhere in the build, and the README excerpt's installation section did not identify it. We would not guess which operating-system package maintainers expect, but the missing prerequisite should be documented close to contributor setup.

Tests also failed in our run, after 104 seconds with exit 137. The closing output showed 5 successful tasks out of 15, then identified @tabler/icons-angular#build as the failed task; it also listed Astro, Svelte runes, and Svelte build lifecycle failures. Exit 137 alone does not prove whether resource pressure, an external kill, or another condition was responsible. The honest result is simply that the supplied checkout did not pass its test command on our 8 GB box.

Consumption looks easier than contribution

For an application developer, the happy path remains appealing: install one package such as @tabler/icons-react or @tabler/icons-vue, then use components from the matching ecosystem. Static sites can use raw SVGs as image sources or inline markup, while sprite users can address names such as tabler-activity. The package matrix lets a team avoid converting a 24x24 source set itself, and the shared version number should make related formats easier to reason about.

For a repository contributor, the story is rougher. This is a monorepo with workspaces, 7 CI workflow files, a tests directory, and no Dockerfile. None of those signals is bad by itself, but together with the 1,124 MB install and our two failed commands, they show that cloning the repository is not the same low-effort task as consuming a published package. A reproducible development image or an explicit native-tools checklist would narrow that gap.

Activity is recent, while issue handling needs inspection

The project has 21,617 GitHub stars and 105 open issues, strong evidence of reach but not proof that every report receives attention. Version 3.46.0 shipped on July 28, 2026, and the repository was pushed on September 3, just 4 days before this review. Those dates together indicate active development; the release being 41 days old is not a sign of abandonment.

What the supplied data cannot show is response time, maintainer count, or how many of the 105 issues are bugs versus requests. Prospective adopters with a critical missing glyph or framework-specific concern should inspect relevant open and closed issues before standardizing. Still, recent source activity, a current v3 release, 7 workflows, and wide adoption make this look healthier than an icon repository preserved only for legacy users.

It belongs in the presentation layer, chosen package by package

In a real stack, Tabler Icons should sit close to UI components, not become a service or runtime dependency. A React application should take the React package, a documentation site might use Astro components or raw SVGs, and a server-rendered multipage site might prefer the sprite or webfont. Choosing one of the 15 formats per surface keeps the integration legible and avoids inventing an internal conversion pipeline.

The final decision is mostly visual and operational. Compare Tabler's 2px outline language with Lucide, Heroicons, and Phosphor, verify that the specific filled icons you need exist, then test the chosen package in your own bundler and accessibility patterns. We would use the published packages confidently when the artwork fits, but we would require documented system prerequisites and a clean build before treating commit 55f87a7 as contributor-ready.

Alternatives

ProjectWhat it isPick it when
Lucide gh↗A community-led icon family descended from Feather, with framework packages.pick this instead when you prefer Lucide's visual vocabulary or already use its component packages.
HeroiconsA smaller outline-and-solid SVG set from the makers of Tailwind CSS.pick this instead when a compact set and close alignment with Tailwind-oriented design matter more than breadth.
Phosphor IconsA flexible icon family centered on multiple weights and styles.pick this instead when weight variation is a core part of your interface language.

What people are saying

  1. [velocity-scout] tabler/tabler-icons

Sources

  1. Tabler Icons GitHub repository
  2. Tabler Icons homepage

More dev tools reviews

tldraw · PowerToys · spacemacs · darwin-vm · Seelen-UI · sofka · the whole board →