How to make Seelen UI Icon Packs


Directory: %appdata%\com.seelen.seelen-ui\iconpacks

Seelen Generated Pack: "C:\Users\USER\AppData\Local\com.seelen.seelen-ui\gen-icon-pack"


 

To start, create a folder within the directory folder noted at the top. Name it whatever you would like in order to distinguish your pack.

Within this folder, place all your image files. Any common image format is supported (Like: PNG, JPG, SVG, ICO).

Once done, create a .txt file inside and then rename it to metadata.yml, replacing the .txt extension. Or if you can, directly create the .yml file. This file will contain all the required information for your icon pack.

my-icon-pack/
├─ metadata.yml
├─ explorer.png
├─ firefox_light.png
├─ chrome_dark.png
└─ folder.svg

Alright, now open up the metadata.yml in your text or code editor of choice and type in or copy and paste the below contents:

id: '@yourname/icon-pack-example'
metadata:
  displayName: "Example Icon Pack"
  appTargetVersion:
    - 2
    - 4
    - 10
entries:

ID is just your friendly identifier for the pack.

App Target Version does not need to be updated unless there has been a change/update to the icon pack system. However if you want no version warnings, set it to the latest version at the time of creation and update as wanted.

If you have plans to publish icon packs to the site, you can add language translations to the above like so:

id: '@yourname/icon-pack-example'
metadata:
  displayName:
    en: "Example Icon Pack"
    es: "Paquete de Iconos de Ejemplo"
  description:
    en: "An example icon pack."
    es: "Un paquete de iconos."
  appTargetVersion:
    - 2
    - 4
    - 10
entries:

Language List.

Note that the description is what is shown on your resource's page to explain it's purpose.

 


 

Alright, after you've done that, we need to add entries for each app whose icon you want to change. Here's a quick overview first:

- type: ~
  ...
  icon:
    base: ~
    light: ~
    dark: ~
    mask: ~

Available Type's: unique , shared , and custom.

As for the Icon options...

Base sets the default icon to be used.

Light sets the icon to be used when you are in Light Mode (Personalization > Colors).

Dark sets the icon to be used when you are in Dark Mode (Personalization > Colors).

└─ Note that if you have both light and dark icons set alongside base, the base icon will not be used in any situation, so do not include it.

Mask.

└─ Note that if you wish to retain the color of you icons, no discoloring, ensure to set mask to null.

 


 

Usage:

Type — unique

Direct path:

- type: unique
  path: C:\Windows\explorer.exe
  icon:
    base: explorer.png

Apps with UMID (UWP Apps):

- type: unique
  umid: Microsoft.Windows.Photos_8wekyb3d8bbwe!App
  path: C:\Program Files\WindowsApps\Microsoft.Windows.Photos\Photos.exe
  icon:
    light: photos_light.png
    dark: photos_dark.png

Type — custom

Specific components: Start Menu Icon and Explorer Icon:

- type: custom
  key: '@seelen/weg::start-menu'
  icon:
    base: start-menu-icon.svg
    mask: start-menu-icon.svg
- type: custom
  key: '@seelen/weg::folder'
  icon:
    base: folder-icon.svg
    mask: folder-icon.svg

Type — shared

Used for file extensions like .png, .zip, .mp4, etc.

- type: shared
  extension: png
  icon:
    base: png.png
- type: shared
  extension: zip
  icon:
    base: zip.png

 


 

Tip 1: If you open up settings (Win + K) and navigate to the For Developers tab near the bottom, and ENABLE Developer Tools, you will see a new tab appear called Cached Icons.

Tip 2: If you get stuck/need help with some specific app, it would be a good idea to visit the Seelen Generated Pack directory noted at the top and open up the metadata.yml.

 


 

Example Pack

id: '@yourname/icon-pack-example'
metadata:
  displayName: "Example Icon Pack"
  appTargetVersion:
    - 2
    - 4
    - 10
entries:
  - type: unique
    umid: Microsoft.Windows.Photos_8wekyb3d8bbwe!App
    path: C:\Program Files\WindowsApps\Microsoft.Windows.Photos_2025.11040.23001.0_x64__8wekyb3d8bbwe\Photos.exe
    icon:
      light: photo.ico
      dark: photo.ico
      isAproximatelySquare: true
  - type: unique
    path: C:\Windows\System32\cmd.exe
    icon:
      base: terminal.ico
  - type: unique
    path: C:\Windows\System32\Taskmgr.exe
    icon:
      base: activity.ico
  • By: K. Ivy
  • Published at: Wed Dec 17 2025
  • Last revision: Sat Mar 07 2026