Getting Started

Icons

Icons are resolved dynamically by name — icon="caretRight" resolves to the bundled CaretRight icon component. There's no icon registry to configure.

Usage

html
<UiIcon icon="caretRight" />
<UiButton icon="plus">New</UiButton>

Most components that accept an icon prop (Button, Input, Alert, menu items, …) resolve it through the same UiIcon component under the hood.

Sizes

xs
sm
md
lg
xl

Or pass an exact pixel value instead of a named size, e.g. :size="28".

Filled

A few icons ship a filled counterpart alongside the outline. Pass fill to get it — every other icon ignores the prop, so it's safe to bind dynamically.

checkmark
clockHands
cursor
pause
play
stop
html
<UiIcon icon="play" />
<UiIcon icon="play" fill />

The older checkmarkFill-style names still resolve to the same artwork, so string-only APIs (toast entries, Status items) can keep asking for a filled icon by name alone.

Adding your own

Drop a new PascalCase.vue file into the icon directory — an SVG with a size prop, viewBox="0 0 24 24", and stroke="currentColor" (or fill="currentColor" for solid icons) — and it's immediately usable by its camelCase name, no registration step.

MyIcon.vue
vue
<template>
    <svg :width="size" :height="size" viewBox="0 0 24 24" fill="none">
        <path d="M12 4V20M4 12H20" stroke="currentColor" stroke-width="1.5" stroke-linecap="round" />
    </svg>
</template>

<script lang="ts" setup>
interface IconProps {
    size?: number;
}

withDefaults(defineProps<IconProps>(), {
    size: 24,
});
</script>

All 443 bundled icons

Activity
AirCondition
Airplane
AlignBottom
AlignHorizontally
AlignLeft
AlignRight
AlignTop
AlignVertically
Archive
AreaChart
ArrowBottomLeft
ArrowBottomRight
ArrowDown
ArrowIn
ArrowLeft
ArrowOut
ArrowRight
ArrowRotateLeft
ArrowRotateRight
ArrowSquareDown
ArrowSquareLeft
ArrowSquareRight
ArrowSquareUp
ArrowSwap
ArrowTopLeft
ArrowTopRight
ArrowUp
At
Avatar
Axis
Badge
BadmintonBall
Bank
BarChart
BarChartLeft
BarChartRight
Basketball
BathTub
BatteryCharging
BatteryEmpty
BatteryFull
BatteryLow
BatteryMid
Bed
Bell
Bezier
Blend
Bluetooth
Bone
Book
Bookmark
BookmarkCheck
BookmarkMinus
BookmarkPlus
Bookmarks
BookmarkSlash
BookOpen
Bow
BowlingBall
Briefcase
Brush
Bubbles
Bug
Buildings
BulletList
Cake
Calculator
Calendar
CalendarDate
CalendarMonth
Camera
Card
CardEdit
Cards
CaretDoubleLeft
CaretDoubleRight
CaretDown
CaretLeft
CaretRight
CaretUp
Cart
CategoriesShapes
Cctv
Chair
Chat
Checkbox
Checklist
Checkmark
Checkmarks
Clipboard
ClipboardCheck
ClipboardText
ClipboardX
Clock
ClockHands
Close
Cloud
CloudPlus
Code
CodeSquare
Coffee
Colorfilter
ColorPalette
ColorSwatch
Columns
ComedyMask
Command
CommandKey
Compass
Component
Compute
ComputerChip
ComputerMouse
Cookie
Copy
CopySuccess
Couch
CourseDown
CourseUp
Crop
Crosshair
Crown
Cube
Cursor
CursorCircle
CursorMoving
CursorSquare
Cutlery
Cycling
Danger
Database
DataTable
DataTree
Desktop
DesktopMobile
Diagram
Diamond
Dna
Document
DocumentCloud
DocumentExcel
Documents
DocumentText
DocumentUpload
DonutChart
DotsSix
DotsThree
Download
Droplet
Droplets
Emoji
Envelope
EnvelopeLetter
EnvelopeOpen
Envelopes
ExportArrow
Eye
Eyedropper
EyeOff
EyeSlash
Feather
Female
Film
Filter
Fingerprint
Flag
Flame
Flash
Flashlight
FlashSlash
Flask
Flatscreen
FlipHorizontal
FlipVertical
Floppy
Folder
FolderHeart
FolderMinus
FolderPlus
FolderX
Football
Form
GasStation
Gauge
Gear
Gift
Git
Github
Globe
GlobeEarth
GlobeEdit
GlobePlus
GlobeReload
GlobeSearch
Gps
GpsSlash
Graduation
Grid
GridMasonry
GridPlus
HardDrive
Hashtag
Headphones
Headset
Heart
HeartPulse
Hearts
Home
HorizontalMove
Hotspot
Hourglass
Html
Image
Immersion
ImportArrow
Inbox
InboxExport
InboxFull
InboxImport
Infinite
InfoCircle
InputField
Javascript
Key
Knob
Lamp
Landing
Laptop
Layers
Leaf
Lightbulb
Link
List
Loader
Lock
LockOpen
Login
Logout
MagicWand
MagnifyingGlass
MagnifyText
MainComponent
Male
Map
MapPin
MapPinCheck
MapPinMinus
MapPinPlus
MapPinX
Mask
Maximize
Mcp
Medal
Megaphone
Message
Messages
Microphone
MicrophoneSlash
Minus
Mirror
MirroringScreen
Mobile
Moon
Music
MusicNote
Note
Notepad
OfficeBuildings
Package
PaintBucket
Paperclip
PaperPlane
PasswordInput
PathTool
Pause
Paw
Paypal
Pencil
People
PersonalCard
Phone
PhoneCalling
PhoneCheck
PhoneIncoming
PhoneMinus
PhoneOutgoing
PhonePlus
PhoneSlash
PhoneX
PieChart
Pin
Planet
Plant
Play
PlayingCards
Plug
Plus
PlusSquare
Podium
Pointer
Portfolio
PositionBack
PositionFront
Power
PresentationChart
Printer
Progress
Pulse
QrCode
Quote
Radar
RadarChart
RadialChart
Radio
RadioButton
Random
Receipt
ReceiptDiscount
ReceiptEdit
ReceiptMinus
ReceiptSearch
Recycle
RedoArrow
RefreshArrow
RepeatArrow
Rocket
Route
Rows
Sailboat
Scale
Scanner
ScatterChart
Scissor
SelectInput
SelectionFrame
Server
Share
Shield
Ship
ShootingStar
Shop
Sidebar
SidebarClose
SidebarGrid
SidebarGridMasonry
SidebarOpen
Signpost
Size
Skull
Slider
SliderHorizontal
Sliders
SliderVertical
Snowflake
Sort
SortAscending
SortDescending
SortNone
Sound
SpacingX
SpacingY
Sparkle
Sparkles
Speaker
Square
Stack
Star
Stars
Sticker
Stop
Sun
Sunset
Switch
SwitchOff
Sword
Swords
Tag
TakeOff
Target
TaskList
Telescope
Television
TelevisionRetro
TennisBall
Terminal
Text
TextAlignCenter
TextAlignLeft
TextAlignRight
Textarea
TextBlock
TextBold
TextCase
TextFloat
TextItalic
TextUnderline
ThemeSwitch
Thermometer
ThumbDown
ThumbUp
Ticket
TicketExpired
Timer
TimeReverse
TimerPause
TimerStart
TransactionArrows
Translation
Trash
TrendDown
TrendUp
Trophy
Truck
UndoArrow
Upload
User
UserCheck
UserMinus
UserPlus
Users
UserX
VerificationCheckmark
VerticalMove
Video
VideoCamera
Volleyball
VolumeHigh
VolumeLow
VolumeX
Wallet
WalletOpen
Warning
WarningCircle
Warp
Watch
Webhook
WebPage
WifiHome
Wind
Wrench
Write
Zip