Introduction

TIP

If you’re looking to help out, check out the Contributing guide.

What is quasar-extras-svg-icons?

Why?

Why this package? Because it strips down unnecessary package files (so faster download times), all in one place, tested and ready to use with Quasar. One other reason is that this package complements the @quasar/extras package by adding additional SVG Icons that you can use in your Quasar apps. These SVG icons have gone through a process known as flattening. As mentioned, it strips out unnecessary code to make them smaller and more efficient. Unfortunately, not all icon sets meet this criteria and fail.

Additionally, most icon sets have fixed colors. Our flattening process also includes the ability to change these colors to ‘currentColor’ so you have more control over the way the icon looks when you use our icon sets. Of course, this doesn’t apply to some icons sets where the fixed colors are mandatory (like flags). In some cases, we have created a “two-tone” icon set by not only employing the ‘currentColor’, but then also using ‘currentColor’ with an opacity in the same icon.

Icons that cannot be represented correctly by Quasar’s compact path-string format are excluded. We do not substitute override SVGs, trace replacement artwork, or approximate gradients. Active builders retry the upstream source on every build, so an icon can return when its source becomes compatible. Historical catalogs use explicit exclusion lists because they no longer have an active upstream builder.

Many of the icon sets are not installable via NPM or NPM version does not coincide with GitHub version (out of sync), so this may be the only way to access them without bloating your project.

Plus, TypeScript type definition files are generated so you won’t get any warnings when using the icons.

For icon sets with multiple major releases, the package keeps at most two major versions: the current major and the immediately preceding major. When a newer major is added, its oldest shipped major is removed. Review the release notes before upgrading if your application imports a versioned icon-set folder.

Contents

Please make sure you have latest quasar-extras-svg-icons npm package version installed into your project folder in order for you to benefit from everything below.

SVG

Quasar v1.7+ required for svg Quasar Icon Sets.

Rows are generated from the shipped index.d.ts files, so versions and icon counts reflect the current package output. Prefixes are the exported variable prefix(es) used when importing icons. Upstream license files are shipped in each icon-set folder when available.

Icon SetVersionImport PathPrefix(es)Icons
Akar Icons1.9.31quasar-extras-svg-icons/akar-iconsakar421
Ant Design Icons4.6.0quasar-extras-svg-icons/ant-design-iconsantOutlinedantFilledantTwoTone848
Box Icons2.1.4quasar-extras-svg-icons/box-iconsbxbxlbxs1,634
Brand Icons2.0.0quasar-extras-svg-icons/brand-iconsbrnd36
Brandico Icons0.0.0quasar-extras-svg-icons/brandico-iconsbrico45
Bytesize Icons1.4.0quasar-extras-svg-icons/bytesize-iconsbyte101
Carbon Icons11.92.0quasar-extras-svg-icons/carbon-icons-v11carbon2,877
Carbon Icons10.48.0quasar-extras-svg-icons/carbon-iconscarbon2,051
Carbon Pictograms12.88.0quasar-extras-svg-icons/carbon-pictograms-v12carpic1,576
Carbon Pictograms11.24.0quasar-extras-svg-icons/carbon-pictogramscarpic803
Clarity Icons6.17.0quasar-extras-svg-icons/clarity-icons-v6clarity719
Clarity Icons5.6.4quasar-extras-svg-icons/clarity-iconsclarity681
Codicons0.0.46-24quasar-extras-svg-icons/codiconscodi638
Cool Icons5.2.0quasar-extras-svg-icons/cool-icons-v5coolBulkRegularcoolBulkRoundcoolBulkSharpcoolDuocolorRegularcoolDuocolorRoundcoolDuocolorSharpcoolDuotoneRegularcoolDuotoneRoundcoolDuotoneSharpcoolFillRegularcoolFillRoundcoolFillSharpcoolLineRegularcoolLineRoundcoolLineSharp19,860
Cool Icons4.1quasar-extras-svg-icons/cool-icons-v4cool442
CoreUI Icons3.1.0quasar-extras-svg-icons/coreui-icons-v3cuicibcif1,565
CoreUI Icons2.1.0quasar-extras-svg-icons/coreui-iconscuicibcif1,576
Country Flag Icons1.6.20quasar-extras-svg-icons/country-flag-iconsflag264
Dash Icons0.9.0quasar-extras-svg-icons/dashiconsdash342
Devicons2.4.0quasar-extras-svg-icons/dev-icons-v2dev1,142
Devicons1.8.0quasar-extras-svg-icons/dev-iconsdev192
Dripicons2.0.0quasar-extras-svg-icons/drip-iconsdrip200
Elusive IconFont0.0.0quasar-extras-svg-icons/elusive-iconseli299
Entypo Icons2.2.1quasar-extras-svg-icons/entypo-iconsentypo411
Evil Icons1.10.1quasar-extras-svg-icons/evil-iconsei70
Feather Icons4.29.2quasar-extras-svg-icons/feather-iconsfeather287
Flat Color Icons (Icons8)1.1.0quasar-extras-svg-icons/flat-color-iconsfci329
FlatUI Icons1.4.0quasar-extras-svg-icons/flatui-iconsflat69
FluentUI System Icons1.1.345quasar-extras-svg-icons/fluentui-system-iconsfui19,936
Fontisto Icons3.0.4quasar-extras-svg-icons/fontisto-iconsfontisto615
Foundation Icons0.1.1quasar-extras-svg-icons/foundation-iconsfi283
Geom Icons3.0.0-beta.2quasar-extras-svg-icons/geom-iconsgeom52
Gitlab Icons2.33.0quasar-extras-svg-icons/gitlab-iconsgitlab375
GitLab Icons3.171.0quasar-extras-svg-icons/gitlab-icons-v3gitlab507
Glyphs Brands0.1.9quasar-extras-svg-icons/glyphs-brandsglyphsBrandsThinglyphsBrandsSolid322
Glyphs Core Icons0.8.12quasar-extras-svg-icons/glyphs-core-iconsglyphsCoreBoldglyphsCoreDuoglyphsCoreOutlineglyphsCoreThinglyphsCorePoly4,313
Grid Icons3.4.3quasar-extras-svg-icons/grid-iconsgridicons206
Health Icons3.1.0quasar-extras-svg-icons/health-icons-v3healthFilledhealthOutline1,552
Health Icons2.0.0quasar-extras-svg-icons/health-icons-v2healthFilledhealthOutline1,484
Hero Icons2.2.0quasar-extras-svg-icons/hero-icons-v2heroOutline24heroSolid20heroSolid24972
Hero Icons1.0.6quasar-extras-svg-icons/hero-iconsheroOutlineheroSolid460
Icomoon Free Icons0.0.0quasar-extras-svg-icons/icomoon-free-iconsicomoonFree491
Iconoir Icons7.12.2quasar-extras-svg-icons/iconoir-icons-v7icoRegularicoSolid1,656
Iconoir Icons6.11.0quasar-extras-svg-icons/iconoir-icons-v6ico1,371
IconPark Icons1.0.0quasar-extras-svg-icons/iconpark-iconsip2,604
Ikonate1.1.1quasar-extras-svg-icons/ikonateikonate283
Ikons1.0.0quasar-extras-svg-icons/ikonsikons300
Jam Icons2.0.0quasar-extras-svg-icons/jam-iconsjam896
Keyrune Icons3.19.0quasar-extras-svg-icons/keyrune-iconskeyrune434
Linear Icons1.0.2quasar-extras-svg-icons/linear-iconslnr170
Linecons0.0.0quasar-extras-svg-icons/lineconsline48
Lucide Icons1.68.0quasar-extras-svg-icons/lucide-iconslucide2,309
Map Icons3.0.3quasar-extras-svg-icons/map-iconsmap167
Mapbox Maki Icons8.2.0quasar-extras-svg-icons/maki-icons-v8maki215
Mapbox Maki Icons7.1.0quasar-extras-svg-icons/maki-iconsmaki204
Material Icon Theme5.40.0quasar-extras-svg-icons/material-icon-theme-v5matTheme1,229
Material Line Icons1.0.6quasar-extras-svg-icons/material-line-icons-v1matLine494
Material Line Icons0.2.19quasar-extras-svg-icons/material-line-iconsmatLine448
Material Theme Icons3.6.0quasar-extras-svg-icons/material-theme-icons-v3mti235
Material Theme Icons2.7.5quasar-extras-svg-icons/material-theme-iconsmti228
Modern Icons0.0.0quasar-extras-svg-icons/modern-iconsmodern94
Oct Icons v1818.3.0quasar-extras-svg-icons/oct-icons-v18oct576
Oct Icons v1919.42.0quasar-extras-svg-icons/oct-icons-v19oct784
Open Iconic1.1.1quasar-extras-svg-icons/open-iconicoi223
Openmoji Icons17.0.0quasar-extras-svg-icons/openmoji-icons-v17omc4,493
Openmoji Icons16.0.0quasar-extras-svg-icons/openmoji-icons-v16omc4,291
Phosphor Icons2.1.2quasar-extras-svg-icons/phosphor-icons-v2pp0
Phosphor Icons1.4.2quasar-extras-svg-icons/phosphor-iconspp6,282
Pixelart Icons2.4.2quasar-extras-svg-icons/pixelart-icons-v2pix1,036
Pixelart Icons1.8.1quasar-extras-svg-icons/pixelart-iconspix486
Polaris Icons9.3.1quasar-extras-svg-icons/polaris-icons-v9pol534
Prime Icons8.0.2quasar-extras-svg-icons/prime-icons-v8prime351
Prime Icons7.0.0quasar-extras-svg-icons/prime-icons-v7prime313
Radix-UI Icons1.3.2quasar-extras-svg-icons/radix-ui-iconsradix326
Remix Icon4.9.1quasar-extras-svg-icons/remix-icons-v4rem3,229
Remix Icon3.6.0quasar-extras-svg-icons/remix-icons-v3rem2,598
Simple Icons16.36.0quasar-extras-svg-icons/simple-icons-v16sim3,467
Simple Icons15.4.0quasar-extras-svg-icons/simple-icons-v15sim3,327
Simple Line Icons2.5.5quasar-extras-svg-icons/simple-line-iconssli189
Stroke 7 Icons (Pixeden)1.2.3quasar-extras-svg-icons/stroke7-iconsstrk7202
Subway Icons0.0.0quasar-extras-svg-icons/subway-iconssub305
System UIcons0.0.0quasar-extras-svg-icons/system-uiconssui430
Tabler Icons3.50.0quasar-extras-svg-icons/tabler-icons-v3tabFilledtabOutline6,257
Tabler Icons2.42.0quasar-extras-svg-icons/tabler-icons-v2tabtabBrand4,872
Teeny Icons0.4.1quasar-extras-svg-icons/teeny-iconsteenyOutlineteenySolid1,200
Typicons2.1.2quasar-extras-svg-icons/typ-iconstyp336
UIW Icons2.6.10quasar-extras-svg-icons/uiw-iconsuiw214
Unicons4.2.0quasar-extras-svg-icons/uniconsuniuniLineuniSoliduniThin1,621
Vaadin Icons v2424.8.2quasar-extras-svg-icons/vaadin-icons-v24vaadin636
Vaadin Icons v2525.3.5quasar-extras-svg-icons/vaadin-icons-v25vaadin656
Weather Icons2.0.12quasar-extras-svg-icons/weather-iconswi219
Webfont Medical Icons1.0.0quasar-extras-svg-icons/webfont-medical-iconswmed144
Windows Icons0.0.0quasar-extras-svg-icons/windows-iconsappbar1,259
Zond Icons1.2.0quasar-extras-svg-icons/zond-iconszond297

// some .vue file in devland
<template>
  <div>
    <q-icon :name="tabMenu" />
    <q-btn :icon="pixCalendarMonth" />
  </div>
</template>

<script setup lang="ts">
  import { tabOutlineMenu as tabMenu } from 'quasar-extras-svg-icons/tabler-icons-v3'
  import { pixCalendarMonth } from 'quasar-extras-svg-icons/pixelart-icons'
</script>

Replacing Quasar Icons

If you wanted to replace a Quasar icon being used in a component, then you have access to modifying the icon set directly.

This example uses Vue 3 script setup, but you can adapt it for your needs:

<script setup>
  import { useQuasar } from 'quasar'
  import { remArrowDownCircleFill } from 'quasar-extras-svg-icons/remix-icons-v4'

  const $q = useQuasar()
  $q.iconSet.expansionItem.icon = remArrowDownCircleFill
</script>

Now, the QExpansionItem will show the remArrowDownCircleFill from the remix-icons.

To determine which icons are replaceable, go to the Quasar GitHub repo.

SVG name format

Svg icons will be defined as String with the following syntax:

Syntax: "<path>|<viewBox>" or "<path>" (with implicit viewBox of '0 0 24 24')
Examples:
  M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z|0 0 24 24
  M9 3L5 6.99h3V14h2V6.99h3L9 3zm7 14.01V10h-2v7.01h-3L15 21l4-3.99h-3z

A more complex example with attributes, would look like this:

M3 12H6L9 3L15 21L18 12H21@@stroke-width:1.5;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;

Known Issues

  • box-icons: (FIXED) There are two icons, boxBxsDroplet and boxBxsHot, that both use the svg use directive. Our parser cannot handle that, so these icons will be displayed as a black square.

  • country-flag-icons is missing the South Korean flag as the SVG uses clip-path which our parser at this time cannot handle.

  • health-icons:

    • has a !,svg filename which doesn’t translate well to a valid JavaScript variable name, so it is renamed to ExclamationMark as they already have a QuestionMark (because you can’t have ? in a filename).
    • A number of icons, like healthFilledConeTestOnNets and healthOutlineRuralPost, look messed up and there is no way to fix them at this time. Use at your own risk, or use the original icon.
  • flatui-icons: unsupported masks and clips are excluded, including flatArt, flatBowling, flatBrush, flatButton, flatCard, flatDynamite, flatFlask, flatRetina, flatRing, flatSafe, flatSkateboard, flatSpray, flatTouch, flatTrash, flatWeather, flatWine.

  • glyphs-brands the color brands are not available because of LinearGradient, RadialGradient, etc (cannot be flattened).

  • glyphs-flags are not available because of LinearGradient, RadialGradient, etc (cannot be flattened).

  • clarity-icons does not include the alerted or badged icons as they don’t make sense when being used in this context.

  • openmoji: we are excluding the black svg icons for a number of reasons. The main one is that they are stripped down versions of the color icons, but while those ones have approximately 5 icons representing skin color, the black icons are not filled in and look the same. This adds unnecessary bulk to our distribution.

  • material-theme-icons: unsupported masks and gradients are excluded, including the previously omitted mtiCargoLock and mtiFlash. Additional exclusions are listed below.

  • map-icons icons not available because of malformed SVG: mapBicycling, mapFishing, mapGolf, mapHorseRiding, mapMotobikeTrail, mapTrailWalking, mapViewing, mapWalking

Excluded icons

The README exclusion index links to every affected icon set’s README, with exact excluded names and reasons. These names are absent from the runtime exports, declarations, and icon lists. The lists and index are regenerated from each build.

For artwork that requires unsupported SVG features, use the original upstream SVG through QIcon’s img: support. See the Upgrade Guide for updating within v3.

Missing Icon Packages?

We have tried to include some of the most popular and current SVG icon packages available. If you find a package you think should be here, do add a feature request in the issues section.

Also, we did try to add a LOT of other packages, but there were reasons why some of them could not be included:

  1. The SVG icon set includes color and/or duo-tone icons. Quasar uses the css currentColor to determine color, so these icons would have had the color stripped out.
  2. Even though a package has a GitHub repo with SVG icons, their NPM package was missing the SVG icons. Instead, they were just distributing the WOFF and WOFF2 fonts that comprised of the icons. If you find one like this, let them know that they should also distribute the SVG icons.
  3. The SVG uses commands, like use, LinearGradient, filter, etc., which cannot be integrated into the Quasar Framework format.

Before making a feature request, install the package you feel should be included into this package and check out if the above criteria will fit the needs of our parser.

Icon sets that fail:

  • Majesticons: They use transform to make circles.
  • material-icon-theme: Issues with arduino, denizenscript, folder-docker, and pascal.
  • cryptocurrency-icons: Lots of use and filter directives.
  • paper-icon-theme: Use linearGradient
  • css-social-buttons (Zocial): viewBox is incorrect in many icons causing cut-off points.
  • icon-park: too many different colors. Not suitable for dark theme or inverted color themes.
  • noto-emoji: Uses linerarGradient
  • region-flags: Uses linerarGradient and use
  • ardis-icon-theme: Uses text
  • breeze-icons: Uses LinearGradient
  • adwaita-icon-theme: Uses LinearGradient and ClipPath
  • super-tiny-icons: Uses use

Building this Package

Build the repository in two steps:

Install dependencies

Use your preferred package manager from the repository root.


pnpm install

Build the icon packages

Run the build script after dependencies are installed.

pnpm build

yarn build

npm run build

bun run build

If you appreciate the work that went into this project, please consider donating to Quasar or Jeff.

Documentation

Head on to the website: quasar-extras-svg-icons

SVG Icon Explorer

Don’t forget to check out our Icon Explorer App so you can find that perfect icon for your app.

Stay in Touch

For latest releases and announcements, follow on Twitter: @jgalbraith64

Chat Support

Ask questions at the official community Discord server: https://chat.quasar.dev

License

All assets included in this repository are exclusive property of their respective owners and licensed under their own respective licenses. Quasar does not take any credit for packages included here.