Product Icon Reference
Visual Studio Code contains a set of built-in icons that are used in views and the editor, but can also be used in hovers, the status bar, and by extensions. These icons are product icons as opposed to file icons, which are used next to file names throughout the UI.
The product icons that ship with VS Code are contained in the Codicon icon font and form the default product icon theme. Extensions can provide new Product Icon Themes to redefine these icons and give VS Code a new appearance.
In order to allow this, all product icons are identified an ID. The icon identifier is what’s used in UI components. The association of icon identifier to an actual icon font glyph is then done in the product icon theme.
Icons in labels
Icons can be used in Markdown labels in hovers, in the StatusBarItem text and QuickPickItem label API. The syntax for adding an icon in Markdown is $(iconIdentifier)
:
$(alert);
You can also embed text and use multiple icons:
$(eye) $(heart) $(mark-github) GitHub
Animation
You can apply a spinning animation to any icon by appending ~spin
to the icon name:
$(sync~spin)
Icon Listing
Below are the full listings of the product icons by identifier. The preview shows the default icon as shipped with VS Code, but Product Icon Themes can replace these.
You can see from the previews that some glyphs appear multiple times for different identifiers. For example, the same right arrow is used for chevron-left
, folding-collapsed
, and breadcrumb-separator
.
That’s a choice of the default icon theme but a custom product icon theme has the freedom to style each usage differently.
In order to allow each icon in VS Code to be customized, every icon usage has a separate ID, describing the function of the icon. This is work in progress and more icons will be added in the coming milestones. In order to keep existing themes working, every new icon is defined with a default icon that is used when a theme has no icon definition for a given ID.
preview | identifier | default |
---|---|---|
breadcrumb-separator | chevron-right | |
dialog-close | close | |
dialog-error | error | |
dialog-info | info | |
dialog-warning | warning | |
diff-insert | add | |
diff-remove | remove | |
diff-review-close | close | |
diff-review-insert | add | |
diff-review-remove | remove | |
find-close | close | |
find-collapsed | chevron-right | |
find-expanded | chevron-down | |
find-next-match | arrow-down | |
find-previous-match | arrow-up | |
find-replace | replace | |
find-replace-all | replace-all | |
find-selection | selection | |
folding-collapsed | chevron-right | |
folding-expanded | chevron-down | |
marker-navigation-next | chevron-down | |
marker-navigation-previous | chevron-up | |
menu-selection | check | |
menu-submenu | chevron-right | |
menubar-more | more | |
notifications-clear | close | |
notifications-clear-all | clear-all | |
notifications-collapse | chevron-down | |
notifications-configure | gear | |
notifications-expand | chevron-up | |
notifications-hide | chevron-down | |
panel-close | close | |
panel-maximize | chevron-up | |
panel-restore | chevron-down | |
parameter-hints-next | chevron-down | |
parameter-hints-previous | chevron-up | |
quick-input-back | arrow-left | |
remote-explorer-documentation | book | |
remote-explorer-feedback | ||
remote-explorer-get-started | star | |
remote-explorer-report-issues | comment | |
remote-explorer-review-issues | issues | |
scrollbar-button-down | triangle-down | |
scrollbar-button-left | triangle-left | |
scrollbar-button-right | triangle-right | |
scrollbar-button-up | triangle-up | |
search-clear-results | clear-all | |
search-collapse-results | collapse-all | |
search-details | ellipsis | |
search-expand-results | expand-all | |
search-goto-file | go-to-file | |
search-hide-replace | chevron-right | |
search-new-editor | new-file | |
search-refresh | refresh | |
search-remove | close | |
search-replace | replace | |
search-replace-all | replace-all | |
search-show-context | list-selection | |
search-show-replace | chevron-down | |
suggest-more-info | chevron-right | |
toolbar-more | more | |
tree-filter-clear | close | |
tree-filter-on-type-off | list-selection | |
tree-filter-on-type-on | list-filter | |
tree-item-expanded | chevron-down | |
tree-item-loading | loading | |
account | ||
activate-breakpoints | ||
add | ||
alert | ||
archive | ||
array | ||
arrow-both | ||
arrow-down | ||
arrow-left | ||
arrow-right | ||
arrow-small-down | ||
arrow-small-left | ||
arrow-small-right | ||
arrow-small-up | ||
arrow-up | ||
beaker | ||
bell | ||
bell-dot | ||
bold | ||
book | ||
bookmark | ||
briefcase | ||
broadcast | ||
browser | ||
bug | ||
calendar | ||
call-incoming | ||
call-outgoing | ||
case-sensitive | ||
check | ||
checklist | ||
chevron-down | ||
chevron-left | ||
chevron-right | ||
chevron-up | ||
chrome-close | ||
chrome-maximize | ||
chrome-minimize | ||
chrome-restore | ||
circle-filled | ||
circle-outline | ||
circle-slash | ||
circuit-board | ||
clear-all | ||
clippy | ||
clock | ||
clone | ||
close | ||
close-all | ||
close-dirty | ||
cloud-download | ||
cloud-upload | ||
code | ||
collapse-all | ||
color-mode | ||
comment | ||
comment-add | ||
comment-discussion | ||
compare-changes | ||
console | ||
credit-card | ||
dash | ||
dashboard | ||
database | ||
debug | ||
debug-alt | ||
debug-alt-2 | ||
debug-alternate | ||
debug-breakpoint | ||
debug-breakpoint-conditional | ||
debug-breakpoint-conditional-disabled | ||
debug-breakpoint-conditional-unverified | ||
debug-breakpoint-data | ||
debug-breakpoint-data-disabled | ||
debug-breakpoint-data-unverified | ||
debug-breakpoint-disabled | ||
debug-breakpoint-function | ||
debug-breakpoint-function-disabled | ||
debug-breakpoint-function-unverified | ||
debug-breakpoint-log | ||
debug-breakpoint-log-disabled | ||
debug-breakpoint-log-unverified | ||
debug-breakpoint-unsupported | ||
debug-breakpoint-unverified | ||
debug-console | ||
debug-continue | ||
debug-disconnect | ||
debug-hint | ||
debug-pause | ||
debug-restart | ||
debug-restart-frame | ||
debug-reverse-continue | ||
debug-stackframe | ||
debug-stackframe-active | ||
debug-stackframe-dot | ||
debug-stackframe-focused | ||
debug-start | ||
debug-step-back | ||
debug-step-into | ||
debug-step-out | ||
debug-step-over | ||
debug-stop | ||
desktop-download | ||
device-camera | ||
device-camera-video | ||
device-desktop | ||
device-mobile | ||
diff | ||
diff-added | ||
diff-ignored | ||
diff-modified | ||
diff-removed | ||
diff-renamed | ||
discard | ||
edit | ||
editor-layout | ||
ellipsis | ||
empty-window | ||
error | ||
exclude | ||
expand-all | ||
extensions | ||
eye | ||
eye-closed | ||
eye-unwatch | ||
eye-watch | ||
feedback | ||
file | ||
file-add | ||
file-binary | ||
file-code | ||
file-directory | ||
file-directory-create | ||
file-media | ||
file-pdf | ||
file-submodule | ||
file-symlink-directory | ||
file-symlink-file | ||
file-text | ||
file-zip | ||
files | ||
filter | ||
flame | ||
fold | ||
fold-down | ||
fold-up | ||
folder | ||
folder-active | ||
folder-opened | ||
gear | ||
gift | ||
gist | ||
gist-fork | ||
gist-new | ||
gist-private | ||
gist-secret | ||
git-branch | ||
git-branch-create | ||
git-branch-delete | ||
git-commit | ||
git-compare | ||
git-fork-private | ||
git-merge | ||
git-pull-request | ||
git-pull-request-abandoned | ||
github | ||
github-action | ||
github-alt | ||
github-inverted | ||
globe | ||
go-to-file | ||
grabber | ||
graph | ||
gripper | ||
group-by-ref-type | ||
heart | ||
history | ||
home | ||
horizontal-rule | ||
hubot | ||
inbox | ||
info | ||
issue-closed | ||
issue-opened | ||
issue-reopened | ||
issues | ||
italic | ||
jersey | ||
json | ||
kebab-horizontal | ||
kebab-vertical | ||
key | ||
keyboard | ||
law | ||
library | ||
light-bulb | ||
lightbulb | ||
lightbulb-autofix | ||
link | ||
link-external | ||
list-filter | ||
list-flat | ||
list-ordered | ||
list-selection | ||
list-tree | ||
list-unordered | ||
live-share | ||
loading | ||
location | ||
lock | ||
log-in | ||
log-out | ||
logo-github | ||
mail-read | ||
mail-reply | ||
mark-github | ||
markdown | ||
megaphone | ||
mention | ||
menu | ||
microscope | ||
milestone | ||
mirror | ||
mirror-private | ||
mirror-public | ||
more | ||
mortar-board | ||
move | ||
multiple-windows | ||
mute | ||
new-file | ||
new-folder | ||
no-newline | ||
note | ||
octoface | ||
open-preview | ||
organization | ||
organization-filled | ||
organization-outline | ||
output | ||
package | ||
paintcan | ||
pencil | ||
person | ||
person-add | ||
person-filled | ||
person-follow | ||
person-outline | ||
pin | ||
pinned | ||
play | ||
plug | ||
plus | ||
preserve-case | ||
preview | ||
primitive-dot | ||
primitive-square | ||
project | ||
pulse | ||
question | ||
quote | ||
radio-tower | ||
reactions | ||
record-keys | ||
references | ||
refresh | ||
regex | ||
remote | ||
remote-explorer | ||
remove | ||
remove-close | ||
repl | ||
replace | ||
replace-all | ||
reply | ||
repo | ||
repo-clone | ||
repo-create | ||
repo-delete | ||
repo-force-push | ||
repo-forked | ||
repo-pull | ||
repo-push | ||
repo-sync | ||
report | ||
request-changes | ||
rocket | ||
root-folder | ||
root-folder-opened | ||
rss | ||
ruby | ||
run | ||
run-all | ||
save | ||
save-all | ||
save-as | ||
screen-full | ||
screen-normal | ||
search | ||
search-save | ||
search-stop | ||
selection | ||
server | ||
settings | ||
settings-gear | ||
shield | ||
sign-in | ||
sign-out | ||
smiley | ||
sort-precedence | ||
source-control | ||
split-horizontal | ||
split-vertical | ||
squirrel | ||
star | ||
star-add | ||
star-delete | ||
star-empty | ||
star-full | ||
star-half | ||
stop | ||
symbol-array | ||
symbol-boolean | ||
symbol-class | ||
symbol-color | ||
symbol-constant | ||
symbol-constructor | ||
symbol-enum | ||
symbol-enum-member | ||
symbol-event | ||
symbol-field | ||
symbol-file | ||
symbol-folder | ||
symbol-function | ||
symbol-interface | ||
symbol-key | ||
symbol-keyword | ||
symbol-method | ||
symbol-misc | ||
symbol-module | ||
symbol-namespace | ||
symbol-null | ||
symbol-number | ||
symbol-numeric | ||
symbol-object | ||
symbol-operator | ||
symbol-package | ||
symbol-parameter | ||
symbol-property | ||
symbol-reference | ||
symbol-ruler | ||
symbol-snippet | ||
symbol-string | ||
symbol-struct | ||
symbol-structure | ||
symbol-text | ||
symbol-type-parameter | ||
symbol-unit | ||
symbol-value | ||
symbol-variable | ||
sync | ||
sync-ignored | ||
tag | ||
tag-add | ||
tag-remove | ||
tasklist | ||
telescope | ||
terminal | ||
text-size | ||
three-bars | ||
thumbsdown | ||
thumbsup | ||
tools | ||
trash | ||
trashcan | ||
triangle-down | ||
triangle-left | ||
triangle-right | ||
triangle-up | ||
unfold | ||
ungroup-by-ref-type | ||
unlock | ||
unmute | ||
unverified | ||
variable | ||
verified | ||
versions | ||
vm | ||
vm-active | ||
vm-outline | ||
vm-running | ||
warning | ||
watch | ||
whitespace | ||
whole-word | ||
window | ||
word-wrap | ||
wrench | ||
wrench-subaction | ||
x | ||
zap | ||
zoom-in | ||
zoom-out |