whatisgithub

What is material-icon.el?

zhaodaniuu/material-icon.el — explained in plain English

Analysis updated 2026-05-18

9Emacs LispAudience · developerComplexity · 1/5LicenseSetup · easy

In one sentence

Brings VS Code's Material Icon Theme into Emacs, showing file and folder type icons in Dired, Ibuffer, and Speedbar.

Mindmap

mindmap
  root((material-icon.el))
    What it does
      File type icons
      Folder icons
      Visual file browsing
    Where it shows
      Dired
      Ibuffer
      Speedbar
    Tech stack
      Emacs Lisp
      SVG icons
      Eldev build tool
    Use cases
      Faster file scanning
      Prettier file listings
    Setup
      Emacs 27.1 plus
      package-vc install
      Manual clone option

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Add file and folder type icons to your Emacs Dired file browser.

USE CASE 2

Show file type icons in Ibuffer's list of open buffers.

USE CASE 3

Get a visual file tree with icons in Speedbar.

USE CASE 4

Port over the same icon look you had in VS Code to your Emacs setup.

What is it built with?

Emacs LispSVGEldev

How does it compare?

zhaodaniuu/material-icon.elbharadswami/gptel-openrouterdouo/lims_dot_emacs
Stars922
LanguageEmacs LispEmacs LispEmacs Lisp
Last pushed2026-06-16
MaintenanceMaintained
Setup difficultyeasyeasymoderate
Complexity1/52/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 30min

Requires Emacs 27.1 or later, package-vc install path needs Emacs 29.1 or newer.

The code is GPL, which means you can use and modify it but derivative works must stay open source, the icon artwork itself is separately MIT licensed and freely reusable.

So what is it?

This project brings the popular Material Icon Theme, originally built for VS Code, into the Emacs text editor. Its job is purely visual: it shows small file type and folder icons next to file names so you can scan a file listing and immediately tell what kind of file you are looking at, without reading the file extension. The icons show up in three places inside Emacs: Dired, which is the built in file browser, Ibuffer, which lists your open buffers, and Speedbar, a sidebar file tree. Each of these can be turned on independently with its own mode, so you can enable icons in Dired without touching Ibuffer or Speedbar if you prefer. The package ships with more than 1,200 hand made SVG icons covering common file types by extension or filename, plus over 50 folder icons based on directory names. Icon size is configurable, and Emacs caches the rendered images so switching sizes does not slow things down. Installation requires Emacs version 27.1 or newer. If you are on Emacs 29.1 or later, you can install it directly from the source repository using the built in package-vc tool, which is the simplest path. Older setups can clone the repository manually and load it the traditional way by adding it to your load path and requiring the package in your Emacs configuration file. For people who want to work on the package itself, there is a small set of build commands powered by a tool called Eldev, letting you compile the source, run linting checks, run the test suite, or do a quick interactive check. Licensing here is split. The Emacs Lisp code itself is under the GPL-3.0-or-later license. The icon artwork is not original to this project. It is pulled from the upstream vscode-material-icon-theme project and remains under that project's MIT license, so the visuals and the code are covered by two different licenses.

Copy-paste prompts

Prompt 1
Show me how to install material-icon.el using package-vc on Emacs 29.1.
Prompt 2
Write an Emacs config snippet that enables material-icon-dired-icons-mode and material-icon-ibuffer-icons-mode on startup.
Prompt 3
Explain how to change the icon size using material-icon-size and clear the cache.
Prompt 4
Help me set up Eldev so I can run make compile and make test on this package.

Frequently asked questions

What is material-icon.el?

Brings VS Code's Material Icon Theme into Emacs, showing file and folder type icons in Dired, Ibuffer, and Speedbar.

What language is material-icon.el written in?

Mainly Emacs Lisp. The stack also includes Emacs Lisp, SVG, Eldev.

What license does material-icon.el use?

The code is GPL, which means you can use and modify it but derivative works must stay open source, the icon artwork itself is separately MIT licensed and freely reusable.

How hard is material-icon.el to set up?

Setup difficulty is rated easy, with roughly 30min to a first successful run.

Who is material-icon.el for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.