@frontiers/icons

A comprehensive icon library with 202 SVG icons and Vue 3 components for the Frontiers design system
35,698
Install
npm install @frontiers/icons
Latest Version:2.2.0
Vue:3
License:MIT
Last Updated:Jul 13, 2026
Links: npm
Maintainer: frontiersadmin

@frontiers/icons

202 professionally designed icons as Vue 3 components and SVG files for the Frontiers design system.

npm version License: MIT

Features

  • 🎨 202 icons - Complete design system coverage
  • ⚡ Vue 3 components - Ready-to-use with TypeScript support
  • 📦 Tree-shakeable - Import only what you need
  • 🎯 Customizable - Dynamic size and color via currentColor
  • 📁 Raw SVGs - Use in any framework

Installation

npm install @frontiers/icons
# or
pnpm add @frontiers/icons

Quick Start

<script setup>
import { ChevronRightIcon, UserFillIcon, AlertIcon } from "@frontiers/icons"
</script>

<template>
  <ChevronRightIcon :size="24" />
  <UserFillIcon :size="32" class="text-blue-500" />
  <AlertIcon />
</template>

Usage

Import Components

<script setup>
// Import from root (recommended)
import { ChevronRightIcon, AlertIcon } from "@frontiers/icons"

// Or from components
import { ChevronRightIcon } from "@frontiers/icons/components"
</script>

Import SVG Files

import chevronRight from "@frontiers/icons/svg/chevron-right.svg"

Props

All Vue components accept:

Prop Type Default Description
size Number | String 24 Icon size in px

Plus all standard SVG attributes via v-bind="$attrs".

Styling

Icons use currentColor for easy theming:

<template>
  <!-- Inherits text color -->
  <div class="text-blue-500">
    <ChevronRightIcon />
  </div>

  <!-- With Tailwind -->
  <AlertIcon class="w-6 h-6 text-red-500" />

  <!-- Custom size -->
  <UserFillIcon :size="32" style="color: #007bff;" />
</template>

Examples

Button with Icon

<template>
  <button class="btn">
    <span>Next</span>
    <ChevronRightIcon :size="20" />
  </button>
</template>

Loading State

<script setup>
import { SpinnerIcon } from "@frontiers/icons"
const loading = ref(false)
</script>

<template>
  <button :disabled="loading">
    <SpinnerIcon v-if="loading" class="animate-spin" :size="20" />
    <span v-else>Submit</span>
  </button>
</template>

Dynamic Icons

<script setup>
import { computed } from "vue"
import * as Icons from "@frontiers/icons"

const props = defineProps({ icon: String, size: Number })
const IconComponent = computed(() => Icons[props.icon])
</script>

<template>
  <component :is="IconComponent" :size="size" />
</template>

<!-- Usage: pass icon names like "ChevronRightIcon", "UserFillIcon", etc. -->

Navigation Menu

<script setup>
import { HomeIcon, UserIcon, SettingsIcon } from "@frontiers/icons"
</script>

<template>
  <nav>
    <router-link to="/"><HomeIcon :size="20" /> Home</router-link>
    <router-link to="/profile"><UserIcon :size="20" /> Profile</router-link>
    <router-link to="/settings"
      ><SettingsIcon :size="20" /> Settings</router-link
    >
  </nav>
</template>

Available Icons (202)

View the complete icon gallery in the demo.html file or explore icons by category below.

ArrowDownIcon, ArrowDownCircledIcon, ArrowDownCircledFillIcon, ArrowDownLeftIcon, ArrowDownRightIcon, ArrowLeftIcon, ArrowLeftAndRightIcon, ArrowLeftCircledIcon, ArrowLeftCircledFillIcon, ArrowRightIcon, ArrowRightCircledIcon, ArrowRightCircledFillIcon, ArrowUpIcon, ArrowUpAndDownIcon, ArrowUpCircledIcon, ArrowUpCircledFillIcon, ArrowUpLeftIcon, ArrowUpRightIcon, ChevronDownIcon, ChevronDownCircledIcon, ChevronDownCircledFillIcon, ChevronLeftIcon, ChevronLeftCircledIcon, ChevronLeftCircledFillIcon, ChevronRightIcon, ChevronRightCircledIcon, ChevronRightCircledFillIcon, ChevronUpIcon, ChevronUpCircledIcon, ChevronUpCircledFillIcon, FirstPageIcon, LastPageIcon

BurgerIcon, CheckIcon, CheckmarkIcon, CheckmarkFillIcon, CloseIcon, CloseCircledIcon, CloseCircledFillIcon, DragIcon, FilterIcon, FilterFillIcon, HomeIcon, HomeFillIcon, LessIcon, MagnifyingGlassIcon, MoreCircledIcon, MoreCircledFillIcon, MoreOptionsHorizontalIcon, MoreOptionsVerticalIcon, SpinnerIcon, UserIcon, UserFillIcon

AttachmentIcon, CopyIcon, DeleteIcon, DeleteFillIcon, DownloadIcon, EditIcon, ForwardIcon, FullscreenIcon, LinkIcon, LinkedinIcon, NoFullscreenIcon, OpenInNewIcon, OpenInNewFillIcon, ReloadIcon, ReplyIcon, ReplyAllIcon, SaveIcon, SaveFillIcon, SendIcon, SendFillIcon, ShareIcon, ShareFillIcon, StopIcon

AlertIcon, AlertFillIcon, ClockIcon, ClockFillIcon, FeedbackErrorBlackIcon, FeedbackErrorWhiteIcon, FeedbackInfoBlackIcon, FeedbackInfoWhiteIcon, FeedbackSuccessBlackIcon, FeedbackSuccessWhiteIcon, FeedbackWarningBlackIcon, FeedbackWarningWhiteIcon, HelpIcon, HelpFillIcon, HelpNoCircledIcon, HideIcon, HideFillIcon, InfoIcon, InfoFillIcon, NotificationIcon, NotificationFillIcon, ViewIcon, ViewFillIcon

ArticleIcon, ArticleFillIcon, ArticleNewIcon, ContentHubIcon, EBookIcon, EBookFillIcon, NewsletterIcon, NewsletterFillIcon, PaperIcon, PaperFillIcon, ProductHubIcon, PublicIcon, PublicFillIcon, ResearchTopicsIcon, ResearchTopicsFillIcon

BlueskyIcon, FacebookIcon, InstagramIcon, LinkedinIcon, OrcidIcon, OrcidFillIcon, TikTokIcon, XTwitterIcon, YoutubeIcon

CalendarIcon, CalendarFillIcon, FilesIcon, FilesFillIcon, GroupIcon, GroupFillIcon, ListIcon, ListNumberIcon, NumberedListIcon, SortIcon, SortAscendingIcon, SortDescendingIcon

BookmarkIcon, BookmarkFillIcon, ChatIcon, ChatFillIcon, FavoriteIcon, FavoriteFillIcon, LikeIcon, LikeFillIcon, ReviewForumIcon, ReviewForumFillIcon, StarIcon, StarFillIcon

BoldIcon, ItalicIcon, ReWriteIcon, UnderlineIcon

AtIcon, ChartBarIcon, ChartBarFillIcon, CloudDownloadIcon, CloudDownloadFillIcon, CloudOfflineIcon, CloudOfflineFillIcon, DesktopIcon, DesktopFillIcon, DislikeIcon, DislikeFillIcon, EmojiIcon, FeedIcon, FlagIcon, FlagFillIcon, FundingIcon, FundingFillIcon, GraphLineIcon, HashtagIcon, HistoryIcon, ImageIcon, ImageFillIcon, LabelIcon, LabelFillIcon, LaptopIcon, LaptopFillIcon, LightbulbIcon, LockIcon, MarkAsReadIcon, MarkAsUnreadIcon, MoreIcon, OptOutIcon, PlaceIcon, PlaceFillIcon, PricetagIcon, PricetagFillIcon, PublishIcon, QuoteIcon, QuoteFillIcon, QuoteNoCircledIcon, QuoteNoCircledFillIcon, ReportIcon, RssIcon, RssFillIcon, SettingsIcon, SettingsFillIcon, SoundIcon, StrikethroughIcon, TodayIcon, UpLevelIcon, UploadIcon, VideoIcon

Migration to v2.0.0

Version 2.0.0 includes breaking changes from a Figma icon library sync. Icon names have been updated to follow a consistent naming convention.

Renamed Icons (6)

Old Name New Name Change
CloseCircleFillIcon CloseCircledFillIcon Circle → Circled
QuoteNoCircleFillIcon QuoteNoCircledFillIcon Circle → Circled
QuoteNoCircleIcon QuoteNoCircledIcon Circle → Circled
HelpNoCircleIcon HelpNoCircledIcon Circle → Circled
SettingIcon SettingsIcon Setting → Settings
TiktokIcon TikTokIcon Tiktok → TikTok

Update Imports

- import { SettingIcon, TiktokIcon, HelpNoCircleIcon, CloseCircleFillIcon } from '@frontiers/icons'
+ import { SettingsIcon, TikTokIcon, HelpNoCircledIcon, CloseCircledFillIcon } from '@frontiers/icons'

TypeScript

Full TypeScript support included:

import type { IconComponent, IconName } from "@frontiers/icons"
import { ChevronRightIcon } from "@frontiers/icons"

const icon: IconComponent = ChevronRightIcon
const name: IconName = "ChevronRightIcon"

Package Exports

{
  "exports": {
    ".": "./dist/index.mjs",
    "./components": "./dist/components/index.mjs",
    "./svg/*": "./svg/*.svg"
  }
}

Contributing

For development and contribution guidelines, see CONTRIBUTING.md.

License

MIT © Frontiers


202 icons • Vue 3 • TypeScript • Tree-shakeable • Zero dependencies

Related Packages

@frontiers/pictograms

A comprehensive pictogram library with colorful SVG illustrations and Vue 3 comp...

32,367
@mingcute/vue

Mingcute SVG icon components for Vue.

2,882 1,651
@hugeicons/vue

Hugeicons Vue Component Library https://hugeicons.com

278,917 1,219
@devigner-ui/icons-vue

8,588 open-source icons for Vue 3: 2,147 symbols, each in outline, twotone, bold...

735 16

Version History

Version Released License
2.2.0 MIT
2.1.0 MIT
2.0.0 MIT
1.1.1 MIT
1.1.0 MIT