Open-source project
catppuccin/vscode-icons avatar
catppuccin/vscode-icons

catppuccin vscode-icons: a pastel file icon theme for VSCode

🦊 Soothing pastel icons for VSCode/VSCodium

1,036 stars88 forksTypeScriptMIT

At a glance

What is it?
Catppuccin Icons for VSCode and VSCodium is an icon theme extension that replaces the file explorer glyphs with a pastel set drawn from the Catppuccin palette, with per-language and per-file association overrides. It is a cosmetic extension with a real regeneration step, so it suits developers who want a consistent explorer and do not mind a short pause when settings change.
Who is it for?
Adopt catppuccin vscode-icons if you want a consistent pastel explorer in VSCode or VSCodium and are willing to trade a short settings rewrite for it, since every settings change regenerates the theme files. Skip it if your editor is not VSCode or VSCodium, or if you want the icon set shipped by the project itself, and note that the extension declares a single category, Themes.
Can I use it commercially?
Yes. MIT is a permissive licence: you can use, modify and sell software built on it, as long as you keep its copyright and licence notices.
Is it still maintained?
Yes. The repository last received commits 1 day ago.
What is it written in?
Mainly TypeScript, according to GitHub's language statistics.

Answers come from the project's GitHub data, last synced on October 23, 2026, and from our analysis. They are not legal advice.

Editorial analysis

An icon theme, not a colour theme

This extension does one job: it changes the icons. The colour scheme of the editor is a separate project, and the documentation points at a Catppuccin theme for the rest of VSCode and VSCodium, a theme that brings the icons into file explorers on the web, and a JetBrains icons project for other IDEs. That separation is worth understanding before you install, because installing the icon theme alone will not make the editor look like the Catppuccin screenshots. The extension itself is published as `Catppuccin.catppuccin-vsc-icons`, with the publisher `Catppuccin`, the name `catppuccin-vsc-icons`, the display name `Catppuccin Icons for VSCode`, and the category `Themes`. The primary language of the source is TypeScript, the licence is MIT, and the last push was on 2026-10-14 with releases v1.26.0 on 2025-10-12, v1.24.0 on 2025-08-17 and v1.23.0 on 2025-08-03.

Two marketplaces, and the VSIX for manual installs

Installation is a marketplace operation. The extension is listed on the Visual Studio Marketplace and on Open-VSX, and the documentation says to install it from one of those. The manual route exists for cases the marketplace does not cover: download the VSIX from the latest GitHub release, open the Command Palette, select `Extensions: Install from VSIX...`, then pick the file you downloaded. That is a full bypass of the marketplace update path, so you take on the job of noticing new releases yourself. The alternative route is worth knowing for VSCodium users, since Open-VSX is listed alongside the Visual Studio Marketplace. The repository itself is not the install target, though the source is there: `src/`, `icons/`, `scripts/`, `assets/`, a `package.json`, a `pnpm-lock.yaml`, a `renovate.json` and a `shell.nix` for a reproducible development environment.

Changing a setting regenerates the whole theme

The one behaviour that surprises people is that this extension does not patch the icon mapping live. Changing settings regenerates and rewrites the theme files and icons, it may take some time on lower-end computers, and you may be prompted to reload the window for changes to take effect. That is a fair price for a handful of booleans, but it means a settings change is not an instant preview. The three documented defaults are all in one place:

jsonc
{
  // Set to `true` to disable folding arrows next to folder icons.
  "catppuccin-icons.hidesExplorerArrows": false,

  // Set to `false` to only use the default folder icon.
  "catppuccin-icons.specificFolders": true,

  // Set to `true` to only use the `text` fill color for all icons.
  "catppuccin-icons.monochrome": false
}

The full set of options is not in the README, and the documented way to see it is to open the settings UI and look under `Extensions > Catppuccin Icons`. The extension manifest also declares `onStartupFinished` as its activation event, and requires VSCode `^1.83.0` with Node `>=20.0.0` for development.

Associations are matched by language, extension, filename and folder

The customisation mechanism is a set of four association maps, and each one overrides a provided default. You can map a language id to an icon, a file extension to an icon, a specific filename to an icon, or a folder name to an icon:

jsonc
{
  "catppuccin-icons.associations.languages": {
    "typescriptreact": "typescript-react"
  },
  "catppuccin-icons.associations.extensions": {
    "spec.ts": "typescript-test"
  },
  "catppuccin-icons.associations.files": {
    "vite.config.ts": "vite"
  },
  "catppuccin-icons.associations.folders": {
    "typings": "folder_types"
  }
}

The specificity of the four maps is what makes the theme usable in a real repository. Mapping by extension alone cannot distinguish `vite.config.ts` from every other TypeScript file, and mapping by filename alone cannot catch a hundred test files. Having both means the interesting cases are reachable without writing a theme from scratch. The values on the right hand side are icon identifiers, and the constraint is that all available icons are the ones listed in the preview images, since custom or external SVGs are not supported.

A factory reset command and the request path for new icons

Because the associations are user settings that regenerate theme files, a bad edit can leave the explorer in a state you cannot easily reason about. The extension provides one command for that, `Catppuccin Icons: Factory reset settings`, which removes all customization and resets the theme to the defaults. That is the escape hatch to reach for first when an override produces something odd. The other route to a new icon is a request rather than a local file. To request a new icon or a specific feature, the documented process is to open an issue documenting everything needed, with the note that the more information provided, the faster the request will be processed. The repository points at a contribution guide for people willing to add new icons and features directly, and the request template is a chooser rather than a blank form, which suggests the maintainers want specific information up front.

What the theme does not cover

The scope is icons, and there are gaps that matter if you are particular. There is no per-project theme, since the settings are user level, so a repository that expects its own icons cannot get them from this extension. There is no custom SVG support, which means a project with a bespoke logo in its tree either has to live with the closest shipped icon or get that icon added upstream. The `monochrome` option is a blunt instrument too, described as using only the Text fill color for all icons, which is useful for a low-distraction setup and useless for distinguishing types. The four Catppuccin flavours, Latte, Frappé, Macchiato and Mocha, are shown as previews rather than described as a runtime switch, so the palette follows whatever the associated theme provides. And the three listed releases run from v1.23.0 to v1.26.0, and a version number that suggests the API surface has settled rather than churned.

Editorial conclusion

Adopt catppuccin vscode-icons if you want a consistent pastel explorer in VSCode or VSCodium and are willing to trade a short settings rewrite for it, since every settings change regenerates the theme files. Skip it if your editor is not VSCode or VSCodium, or if you want the icon set shipped by the project itself, and note that the extension declares a single category, Themes. Before changing anything, note that custom or external SVGs are not supported, so any icon you want has to be requested and shipped with the extension, and remember that the documented install path is the Visual Studio Marketplace or Open-VSX, with the VSIX on the GitHub release page reserved for manual installation.

Frequently asked questions

How do I install Catppuccin Icons for VSCode?

Install the extension from the Visual Studio Marketplace or from Open-VSX, both of which are listed as supported marketplaces. For a manual install, download the VSIX from the latest GitHub release, then use Extensions: Install from VSIX... from the Command Palette.

How do I map a specific file to a different icon in catppuccin vscode-icons?

Use the association maps in your settings. Files with the name vite.config.ts go to the vite icon through catppuccin-icons.associations.files, and files with the spec.ts extension go to the typescript-test icon through catppuccin-icons.associations.extensions.

Can I use my own SVG icons with catppuccin vscode-icons?

No. All available icons are the ones listed in the preview images, and custom or external SVGs are not supported. You can request an icon through an issue instead.

How do I reset the catppuccin vscode-icons customisations?

Run the command Catppuccin Icons: Factory reset settings, which removes all customization and resets the theme to the defaults.

What happens when I change a catppuccin vscode-icons setting?

Changing settings regenerates and rewrites the theme files and icons, which can take some time on lower-end computers, and you may be prompted to reload the window for the changes to take effect.

Official sources

  1. catppuccin/vscode-icons on GitHub
  2. License: MIT
  3. Project website
  4. README
  5. Releases
Add this badge to your README

If you maintain this project, the badge below links readers to this analysis and shows its maintenance status from the daily GitHub snapshot. Paste the markdown into your README; add ?metric=license or ?metric=stars to the image URL for a different field.

Add this badge to your README

markdown
[![Hysen Labs](https://hysenlabs.com/badge/catppuccin-vscode-icons.svg)](https://hysenlabs.com/projects/catppuccin-vscode-icons)

Was this useful?