Skip to content

Bundled icons

gpui-component bundles the icon set below and exposes each one as an IconName variant. The icons are Lucide (ISC-licensed) — every bundled SVG carries the class="lucide lucide-…" marker. Browse the full ~1,600-icon catalog at https://lucide.dev/icons/.

All 99 icons here are type-safe IconName variants — no file work needed:

use gpui_component::{Icon, IconName};
Icon::new(IconName::ArrowDown).size_4()

The other ~1,500 Lucide icons aren’t bundled, but Icon takes an arbitrary path, so it’s a one-file drop:

  1. Grab the SVG from https://lucide.dev/icons/ (or npm i lucide-static).
  2. Drop it under this repo’s assets (e.g. resources/icons/my-icon.svg).
  3. Reference it by path:
Icon::default().path("icons/my-icon.svg").size_4()

Lucide SVGs use stroke="currentColor", so they inherit theme color and sizing just like the bundled ones.

IconName variants are pascal-cased from the filename. A few gpui filenames are aliases — the file is named differently from the Lucide glyph it draws (flagged below); the link points at that underlying Lucide icon.

IconName variantgpui fileLucide glyph
IconName::ALargeSmalla-large-small.svga-large-small
IconName::ArrowDownarrow-down.svgarrow-down
IconName::ArrowLeftarrow-left.svgarrow-left
IconName::ArrowRightarrow-right.svgarrow-right
IconName::ArrowUparrow-up.svgarrow-up
IconName::Asteriskasterisk.svgasterisk
IconName::BatteryChargingbattery-charging.svgbattery-charging
IconName::BatteryFullbattery-full.svgbattery-full
IconName::BatteryLowbattery-low.svgbattery-low
IconName::BatteryMediumbattery-medium.svgbattery-medium
IconName::BatteryWarningbattery-warning.svgbattery-warning
IconName::Batterybattery.svgbattery
IconName::Bellbell.svgbell
IconName::BookOpenbook-open.svgbook-open
IconName::Botbot.svgbot
IconName::Building2building-2.svgbuilding-2
IconName::Calendarcalendar.svgcalendar
IconName::CaseSensitivecase-sensitive.svgcase-sensitive
IconName::ChartPiechart-pie.svgchart-pie
IconName::Checkcheck.svgcheck
IconName::ChevronDownchevron-down.svgchevron-down
IconName::ChevronLeftchevron-left.svgchevron-left
IconName::ChevronRightchevron-right.svgchevron-right
IconName::ChevronUpchevron-up.svgchevron-up
IconName::ChevronsUpDownchevrons-up-down.svgchevrons-up-down
IconName::CircleCheckcircle-check.svgcircle-check
IconName::CircleUsercircle-user.svgcircle-user
IconName::CircleXcircle-x.svgcircle-x
IconName::Closeclose.svgx (alias)
IconName::Copycopy.svgcopy
IconName::Cpucpu.svgcpu
IconName::Dashdash.svgminus (alias)
IconName::Deletedelete.svgdelete
IconName::EllipsisVerticalellipsis-vertical.svgellipsis-vertical
IconName::Ellipsisellipsis.svgellipsis
IconName::ExternalLinkexternal-link.svgexternal-link
IconName::EyeOffeye-off.svgeye-off
IconName::Eyeeye.svgeye
IconName::Filefile.svgfile
IconName::FolderClosedfolder-closed.svgfolder-closed
IconName::FolderOpenfolder-open.svgfolder-open
IconName::Folderfolder.svgfolder
IconName::Frameframe.svgframe
IconName::GalleryVerticalEndgallery-vertical-end.svggallery-vertical-end
IconName::Githubgithub.svggithub
IconName::Globeglobe.svgglobe
IconName::HardDrivehard-drive.svghard-drive
IconName::HeartOffheart-off.svgheart-off
IconName::Heartheart.svgheart
IconName::Inboxinbox.svginbox
IconName::Infoinfo.svginfo
IconName::Inspectorinspector.svgsquare-dashed-mouse-pointer (alias)
IconName::LayoutDashboardlayout-dashboard.svglayout-dashboard
IconName::LoaderCircleloader-circle.svgloader-circle
IconName::Loaderloader.svgloader
IconName::Mapmap.svgmap
IconName::Maximizemaximize.svgmaximize-2 (alias)
IconName::MemoryStickmemory-stick.svgmemory-stick
IconName::Menumenu.svgmenu
IconName::Minimizeminimize.svgminimize-2 (alias)
IconName::Minusminus.svgminus
IconName::Moonmoon.svgmoon
IconName::Networknetwork.svgnetwork
IconName::Palettepalette.svgpalette
IconName::PanelBottomOpenpanel-bottom-open.svgpanel-bottom-open
IconName::PanelBottompanel-bottom.svgpanel-bottom
IconName::PanelLeftClosepanel-left-close.svgpanel-left-close
IconName::PanelLeftOpenpanel-left-open.svgpanel-left-open
IconName::PanelLeftpanel-left.svgpanel-left
IconName::PanelRightClosepanel-right-close.svgpanel-right-close
IconName::PanelRightOpenpanel-right-open.svgpanel-right-open
IconName::PanelRightpanel-right.svgpanel-right
IconName::Pausepause.svgpause
IconName::Playplay.svgplay
IconName::Plusplus.svgplus
IconName::Redo2redo-2.svgredo-2
IconName::Redoredo.svgredo
IconName::Replacereplace.svgreplace
IconName::ResizeCornerresize-corner.svgresize-corner
IconName::Searchsearch.svgsearch
IconName::Settings2settings-2.svgsettings-2
IconName::Settingssettings.svgsettings
IconName::SortAscendingsort-ascending.svgchevrons-up-down (alias)
IconName::SortDescendingsort-descending.svgchevrons-up-down (alias)
IconName::SquareTerminalsquare-terminal.svgsquare-terminal
IconName::StarFillstar-fill.svgstar (alias)
IconName::StarOffstar-off.svgstar-off
IconName::Starstar.svgstar
IconName::Sunsun.svgsun
IconName::ThumbsDownthumbs-down.svgthumbs-down
IconName::ThumbsUpthumbs-up.svgthumbs-up
IconName::TriangleAlerttriangle-alert.svgtriangle-alert
IconName::Undo2undo-2.svgundo-2
IconName::Undoundo.svgundo
IconName::Useruser.svguser
IconName::WindowClosewindow-close.svgwindow-close
IconName::WindowMaximizewindow-maximize.svgwindow-maximize
IconName::WindowMinimizewindow-minimize.svgwindow-minimize
IconName::WindowRestorewindow-restore.svgwindow-restore

99 icons, from gpui-component’s crates/assets/assets/icons/. If you bump the gpui-component pin and the set changes, regenerate this list.