Material Symbols and Ionicons are two of the most widely used
open-source icon sets. Both are free, both ship framework packages, and both will look perfectly
reasonable in a product UI — which is exactly why the choice is annoying. This page puts the two
side by side using the actual artwork and the real numbers.
The short answer
Material Symbols is the broader set: 18,547 icons against 2,607 in Ionicons — roughly 611% more coverage, which matters most if you build interfaces that need unusual glyphs.
Material Symbols gives you more visual range: 4 variants per concept (variable weight, fill, grade and optical size axes), where Ionicons ships 3.
Both are Apache 2.0, so licensing is not a deciding factor here.
Specifications compared
Specification comparison
Material Symbols
Ionicons
Icons
18,547
2,607
Visual variants per concept
4 — variable weight, fill, grade and optical size axes
3 — outline, filled and sharp
Design grid
24×24
24×24
License
Apache 2.0
MIT
Attribution required
No
No
Official React package
@material-symbols/svg-400
ionicons
Same icons, both libraries
Every pair below is the same concept rendered from each library's own source files. This is the
part you cannot get from a written review — the difference in stroke weight, corner rounding and
optical size is the thing you will actually notice in your interface.
Material SymbolsIonicons
home
search
settings
—
user
heart
star
cart
—
bell
mail
calendar
Which one should you choose?
Pick Material Symbols when
Products that want continuous control over icon weight and fill state, and teams that would rather ship one font file than manage five icon sets.
Consider otherwise if: If you need individually imported SVG components with tree-shaking, the older Material Icons set or Lucide is a better fit — a variable font loads all 18,547 glyphs even if you use thirty of them.
Pick Ionicons when
Mobile and hybrid apps, cross-platform products, and interfaces that want three clear icon variants from one consistent source.
Consider otherwise if: For a more modern, minimal aesthetic, Lucide and Heroicons are the current defaults. Material Design Icons offers five themes if you need more range.
Coverage
Material Symbols contains 18,547 icons and Ionicons contains 2,607.
Material Symbols is Google's current icon format and the successor to Material Icons. It is built on variable font technology: all 18,547 icons live in a single font file, and four axes — Weight, Fill, Grade, and Optical Size — can be adjusted continuously rather than by swapping between five static themes.
Ionicons was built for the Ionic Framework and has been refined since 2013, which makes it one of the longest-maintained icon sets here. The 2,607 icons ship in three variants — Outline, Filled, and Sharp — each drawn on a 24×24 grid.
Licensing
Material Symbols is released under Apache 2.0.
No attribution required, but carries an explicit patent grant and requires notice for modified files.
Ionicons is released under MIT.
Commercial use, modification and redistribution with no attribution required.
Using them from IconStash
You do not have to commit to one. IconStash indexes both libraries, so you can search a concept
once and see how each set drew it, then export SVG or PNG at any size and colour. Start with
Material Symbols or
Ionicons, or browse
every library comparison.
Frequently asked questions
Is Material Symbols or Ionicons better for React projects?
Both have first-party React packages: @material-symbols/svg-400 and ionicons. Material Symbols has the larger catalogue, so for a React app the practical difference is coverage and visual style rather than integration effort. Both tree-shake, so bundle size tracks the number of icons you import, not the size of the library.
Which has more icons, Material Symbols or Ionicons?
Material Symbols has 18,547 icons and Ionicons has 2,607. Material Symbols is larger by about 611%. Raw count is not the whole story though — a 20,000-icon set with many near-duplicate variants can be slower to search than a tightly edited 2,000-icon set.
Can I mix Material Symbols and Ionicons in one interface?
You can, but it usually looks wrong. Each library draws to its own grid and stroke weight — Material Symbols uses 24×24 and Ionicons uses 24×24 — so icons from both sit slightly differently next to each other. If you must mix them, keep each library to a distinct area of the interface rather than interleaving them in the same toolbar.
What licenses do Material Symbols and Ionicons use?
Material Symbols is Apache 2.0: No attribution required, but carries an explicit patent grant and requires notice for modified files. Ionicons is MIT: Commercial use, modification and redistribution with no attribution required. Neither requires payment, but attribution rules differ, so check before shipping in a product where credit is inconvenient.
Do Material Symbols and Ionicons include filled and outline versions?
Material Symbols offers variable weight, fill, grade and optical size axes; Ionicons offers outline, filled and sharp. If you need to express selected and unselected states with the same glyph, the library with more variants saves you from importing a second set.
Which is better for small sizes like 16px?
At 16px, stroke weight and counter size matter more than coverage. Material Symbols draws on a 24×24 grid and Ionicons on 24×24. Libraries that redraw per size rather than scaling — such as Fluent UI — generally hold up best. The reliable test is to preview both at your actual render size, which you can do on any icon page on IconStash.