Security News
JSR Working Group Kicks Off with Ambitious Roadmap and Plans for Open Governance
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
@material-icons/svg
Advanced tools
Material Design Icons is the official icon set from Google. The icons are designed under the material design guidelines.
This is an updated version of icons, which includes all icons available at material.io.
You can find an older version of this icon set in google/material-design-icons repository.
Because the official repository is no longer maintained, I have decided to make an alternative repository with the latest icons.
Version 3 that is available in the official icons repository only includes 1 variation of each icon.
This repository includes several variations for each icon:
This repository includes only icons in SVG format. Other available formats are in different repositories:
If you need another format, please open an issue on this repository and specify what format, size and colour you need.
This readme explains how to use updated icons set in your projects.
This repository does not use the same build process as the official Google MDI repository and has a different folder structure.
SVG files are available in the directory "svg", followed by icon name. Each directory contains up to 5 SVG files, one for each icon variation.
All icons are 24x24, cleaned up and optimized. If you need a different size, change width and height attributes in the icon. SVG files are scalable, duplicating them for different sizes is pointless.
To get SVG files, you can either clone GitHub repository or install @material-icons/svg
NPM package.
Web font is is available in material-icons-font repository.
However, you should avoid using font if you can. Font loads all icons that take a while to load and quite a big stylesheet. Also, fonts render with blurred ugly edges on some operating systems, worst offender is Windows.
Good news, all icons are available as modern JavaScript framework that replaces glyph fonts. See below.
All icons are available with Iconify JavaScript framework.
Iconify project makes it easy to add SVG icons to websites and offers over 40,000 icons to choose from.
You can use Iconify not only with this icon set, but also Templarian's Material Design Icons, Material Design Light, FontAwesome 5 and many other icon sets on the same page without loading massive fonts.
How is it achieved? Iconify project uses a new innovative approach to loading icons. Unlike fonts and SVG frameworks, Iconify only loads icons that are used on the current page instead of loading entire fonts. How is it done? By serving icons dynamically from publicly available JSON API (you can make a copy of script and API if you prefer to keep everything on your servers).
Iconify is designed to be as easy to use as possible. It uses icon placeholder syntax and icons inherit size and colour from the parent element, so they are easy to style with CSS.
Add this line to your page to load Iconify:
<script src="https://code.iconify.design/1/1.0.4/iconify.min.js"></script>
you can add it to <head>
section of the page or before </body>
.
To add any icon, write something like this:
<span class="iconify" data-icon="ic:baseline-access-time" data-inline="false"></span>
or this:
<iconify-icon data-icon="ic:twotone-account-circle"></iconify-icon>
There are 2 small differences in icon names when using Iconify: icons have "ic:" prefix and underscores in icon name have been replaced by the dash.
See how to use Iconify tutorial and browse MDI icons list to get code for each icon.
No need to reinvent components. See Iconify for React.
How to use it:
npm install @iconify/react @iconify/icons-ic
import { Icon, InlineIcon } from "@iconify/react";
import face from "@iconify/icons-ic/baseline-face";
import home from "@iconify/icons-ic/twotone-home";
<Icon icon={home} />
<p>This is some text with <InlineIcon icon={face} /></p>
This repository is available on github.io. You can link to any SVG file like this:
https://material-icons.github.io/material-icons/svg/{name}/{family}.svg
where {name} is icon name, {family} is icon variation.
There are 2 branches of this repository: "original" and "master".
The "original" branch includes only icons from material.io with some bug fixes.
The "master" branch includes few custom icons as well as fixed icons that were slightly modified (such as "outline" icon being changed to have the outline).
Icon categories, tags and version numbers are available in data.json
The format is similar to metadata Google provides for the latest icons.
If you want to add icons to the master branch, you need to sign Google's Contributor License Agreement. Why Google's CLA? Maybe one day these icons will be merged into the official repository.
See CONTRIBUTING.md
All contributed icons must be 24x24, must have all 5 variations and must match material design guidelines.
If a contributed icon does not fit into one of the existing categories, such as "AV", "Editor", a new category will have to be created. For a new category to be added there needs to be large enough number of icons that fit that category.
See https://github.com/material-icons/build
(copied from Google's repository)
We have made these icons available for you to incorporate into your products under the Apache License Version 2.0. Feel free to remix and re-share these icons and documentation in your products. We'd love attribution in your app's about screen, but it's not required. The only thing we ask is that you not re-sell these icons.
FAQs
Material Design icons by Google, updated.
We found that @material-icons/svg demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.
Security News
Research
An advanced npm supply chain attack is leveraging Ethereum smart contracts for decentralized, persistent malware control, evading traditional defenses.
Security News
Research
Attackers are impersonating Sindre Sorhus on npm with a fake 'chalk-node' package containing a malicious backdoor to compromise developers' projects.