← Atlas · Topics: icons, assets, typography-and-styles
Material Symbols
- Site
- fonts.google.com
- Type
- icon library
- Verdict
- Very useful
- Licence
- Ship licence, open source permissive
open-source-permissiveFree. Apache License 2.0, as stated in Google's developer docs and the GitHub repository - Agent channels
- none
- Pricing
- free
- Reviewed
What it is
Material Symbols is Google's current icon set, introduced in April 2022 and built as variable fonts first. It comes in three styles, Outlined, Rounded and Sharp, and each style has four variable axes: fill (0 to 1), weight (100 to 700), grade (finer thickness control than weight, with little effect on size) and optical size (20 to 48). Google's own pages give different totals ("over 2,500" in one place, "3,800+" in another); the public icon metadata listed about 3,900 symbols at review. The older Material Icons set (about 2,160 icons in five static styles) is still browsable on the same page but no longer updated. Source files live in google/material-design-icons on GitHub (about 54,000 stars at review).
When to open it
Open Material Symbols for Android and Material Design products, for Google Workspace-style admin tools, and whenever you want one icon to animate or change state through font axes rather than swapping files. It is also a very broad general-purpose set when the Material look is acceptable.
Most useful
- Icon browser on Google Fonts: search, pick a style, adjust the axes live, then take the embed code or download SVG and PNG files for web, Android and iOS
- Google Fonts CSS API: load a style with
family=Material+Symbols+Outlinedand write icons as text ligatures such ashome - Subsetting with
icon_names: pass an alphabetised, comma-separated list of names and the font shrinks to a few kilobytes instead of loading the whole set - Axes in CSS:
font-variation-settingscan switch fill for selected states or animate it on interaction - Community npm packages:
material-symbolsand@material-design-icons/svgby an outside maintainer, auto-published from the upstream repo (about 1.9 million monthly downloads formaterial-symbolsat review)
Using it with agents
There is no llms.txt, MCP server or official npm package, but agents handle it well because it is just a font URL and text names. Ask the agent to build the Google Fonts URL with only the axes you need, add icon_names for the icons actually used, and include display=block. For bundled apps, point it at the community material-symbols package or at SVGs from the repository, and have it check names on the icon browser, since ligature names must match exactly.
Watch out for
- Loading every axis range for a style is heavy: Google's docs quote a 7.9 MB font payload, against a few kilobytes for a small
icon_namessubset - Without
display=blockthe ligature words (such assettings) flash as text before the font arrives - Google has not published npm packages since v3 in 2016. The popular packages come from a community maintainer, and the repository says Google does not check them
- Google does not accept icon pull requests, only requests as issues, and third-party logos are excluded for legal reasons
- Material Icons is frozen, so newer glyphs exist only in Material Symbols. Migrate rather than loading both fonts side by side
Reusable ideas
- Treat fill, weight and optical size as font axes so state changes can animate instead of swapping assets
- Let the URL request only the icons a page uses, so an icon font stays small
- Match icon weight and grade to the text beside them so symbols and labels look equally heavy
- Keep a legacy set available but frozen, with a clear note that new work should use the successor