Giter Club home page Giter Club logo

material-icons's Introduction

Material Design Icons

Material Design Icons is the official icon set from Google. The icons are designed under the material design guidelines.

Updated set

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.

Available 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:

  • baseline
  • sharp
  • outline
  • round
  • two-tone

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.

Getting started

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.

Using SVG

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

Web font is is available in material-icons-font repository.

Avoid using web font!

Icon fonts are easy to use, but they are bad, very bad. They were a good idea many years ago when browsers had poor support for SVG, but in modern world avoid icon fonts like a plague. Why?

  • Icon fonts are ugly. When browser renders icon font glyph, it uses different algorythm than when rendering images. This results in blurry edges, bad alignment, it is especially bad when using Windows.
  • Fonts are for displaying text. If you want to display an image, use image.
  • Icon fonts contain lots of icons you do not use. Why load 5000 icons to display 5? It is a waste of bandwidth for visitors. It causes website to load slower, which also affects SEO.

So what is the alternative? Use SVG!

Iconify

All icons are available with Iconify.

What is Iconify?

Iconify project makes it easy to add SVG icons to websites and offers over 100,000 icons to choose from.

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. That means if you display 20 icons on page, visitor will load data only for those 20 icons, no extra stuff.

You are no longer limited to this icon set, but can choose various icons from other icon sets that follow Material Design guidelines:

and many other icon sets.

How to use this icon set with Iconify?

Browse this icon set on Iconify website, click any icon (for example, content-paste) and scroll down to see code.

Iconify offers multiple ways to use icons:

Linking to SVG

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.

Branches

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

Icon categories, tags and version numbers are available in data.json

The format is similar to metadata Google provides for the latest icons.

CLA

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

Custom icons

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

License

(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.

material-icons's People

Contributors

cyberalien avatar thedelk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

material-icons's Issues

save all icon

this is code of save all icon (sharp)
if u can add

M 2 2 L 2 14 L 4 14 L 4 4 L 14 4 L 14 2 L 2 2 z M 6 6 L 6 21 L 21 21 L 21 10 L 17 6 L 6 6 z M 8 8 L 15 8 L 15 11 L 8 11 L 8 8 z M 13.5 14 C 14.883 14 16 15.117 16 16.5 C 16 17.883 14.883 19 13.5 19 C 12.117 19 11 17.883 11 16.5 C 11 15.117 12.117 14 13.5 14 z

Publish in npm

Is that repository published somewhere in npm?

I want to use the svg directly in a webpack project

Icons outdated

I was comparing some of the icons with those in the official Google icon library hosted on Google Fonts, and noticed that the undo icon is different, with the core icon library using the flatter rounded undo icon.

I also noticed some icons (e.g. nest_mini) are not present in this repo.

This appears to be the case for a handful of icons. Can this repo please be updated to include all the latest icons?

Thank you! ๐Ÿ™๐Ÿผ

Missing icons from Material Symbols?

Some symbols found in Material Symbols are missing from Material Icons, e.g. search_check and others.
Is there a good reason why Google's two icon sets differ so much? Is there any chance or plan to bring in the missing symbols into this repository?

Thanks!

The SVGs are not all 24x24

Hey, love this repo! I'm creating a Sketch Library out of all of them, but a thing that gets in the way is that the SVGs are not actually all 24x24px. For example, "assignment_late" is 18x20px in this repo, while the SVG 24 that you download from material.io is actually 24x24px.

2020-05-24 at 03 41

PNG?

Hello, I really appreciate what you've done here, and ordinarily I would be very content with it. However, my project runs on Rainmeter, and you cannot use SVGs with Rainmeter.

Would it be possible to create PNGs of the icons for the repository? Ideally you would have a variety of sizes, but if not, I would probably be good with 48x48. Maybe 128x128 as well?

Thanks in advance!

FR: New folder structure organised by variant

It would be great if a new folder structure is added.
E.g.
/variants/{VARIANT}/{ICON}.svg => /variants/twotone/admin_panel_settings.svg
or directly /{VARIANT}/{ICON}.svg

This would allow people to easily separate icons of a certain variant. Currently if one wants to do that, they would need to use a .sh script and loop through all files. Since some people might already be using the current structure in some sort of API or library, it might be best to keep the current one in parallel.

Icons Tree Shaking or Size Reducing on Build

I'm using "material-icons": "^0.6.3" with Angular 12, and import them as @import '~material-icons/iconfont/material-icons.css';.

Everything is perfect, except that on ng build icon fonts are pretty heavy: around 4,5 MB.

mat-icons

Is there any way to reduce their size by loading them partially or tree shaking?

Usage in Vue

For anyone looking to use this library in a Vue project and creating a dynamic icon component, this is the way to include the correct image:

<img :src="src">
computed: {
    src() {
      const {name, family} = this
      return require(`@material-icons/svg/svg/${name}/${family}.svg`)
    },
  },

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.