README

Quasar Framework - Extras SVG Icons package
Build high-performance VueJS user interfaces in record time: responsive Single Page Apps, SSR Apps, PWAs, Browser extensions, Hybrid Mobile Apps and Electron Apps. If you want, all using the same codebase!
Installation
npm install quasar-extras-svg-icons
# or
yarn add 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 though a process known as flattening. As mentioned, it strips out unnecessay code to make them smaller and more efficient. Unfortunately, not all icon sets meet this criteria and fail.
Additonally, 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.
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.
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.
Documentation
You can find the latest documentation at quasar-extras-svg-icons.netlify.app
SVG
Quasar v1.7+ required for svg Quasar Icon Sets.
| Vendor | Version | Import SVG Icons as | Prefix | License |
|---|---|---|---|---|
| Akar Icons | 1.9.6 | quasar-extras-svg-icons/akar-icons |
akar |
License |
| Ant Design Icons | 4.2.1 | quasar-extras-svg-icons/ant-design-icons |
antOutlined, antFilled, antTwoTone |
License |
| Box Icons | 2.0.9 | quasar-extras-svg-icons/box-icons |
bx, bxl, bxs |
License |
| Brand Icons | 2.0.0 | quasar-extras-svg-icons/brand-icons |
brnd |
License |
| Brandico Icons | 0.0.0 | quasar-extras-svg-icons/brandico-icons |
brico |
License |
| Bytesize Icons | 1.4.0 | quasar-extras-svg-icons/bytesize-icons |
byte |
License |
| Carbon Icons | 10.45.0 | quasar-extras-svg-icons/carbon-icons |
carbon |
License |
| Carbon Pictograms | 11.21.0 | quasar-extras-svg-icons/carbon-pictograms |
carpic |
License |
| Clarity Icons (@cds/core) | 5.6.2 | quasar-extras-svg-icons/clarity-icons |
clarity |
License |
| Codicons (vscode) | 0.0.27 | quasar-extras-svg-icons/condicons |
codi |
License |
| Cool Icons | 2.5.0 | quasar-extras-svg-icons/cool-icons |
cool |
License |
| CoreUI Icons | 2.1.0 | quasar-extras-svg-icons/coreui-icons |
cui, cib, cif |
License |
| Country Flag Icons | 1.4.20 | quasar-extras-svg-icons/country-flag-icons |
flag |
License |
| Devicons | 1.8.0 | quasar-extras-svg-icons/dev-icons |
dev |
License |
| Drip Icons | 2.0.0 | quasar-extras-svg-icons/drip-icons |
drip |
License |
| Elusive Icons | 1.10.1 | quasar-extras-svg-icons/elusive-icons |
eli |
License |
| Entypo+ Icons | 2.2.1 | quasar-extras-svg-icons/entypo-icons |
entypo |
License |
| Evil Icons | 1.10.1 | quasar-extras-svg-icons/evil-icons |
ei |
License |
| Feather Icons | 4.28.0 | quasar-extras-svg-icons/feather-icons |
feather |
License |
| Flat Color Icons (Icons8) | 1.1.0 | quasar-extras-svg-icons/flat-color-icons |
fci |
License |
| FlatUI Icons | 1.4.0 | quasar-extras-svg-icons/flatui-icons |
flat |
License |
| Fuent UI System Icons | 1.1.159 | quasar-extras-svg-icons/fluentui-system-icons |
fui |
License |
| Fontisto Icons | 3.0.4 | quasar-extras-svg-icons/fontisto-icons |
fontisto |
License |
| Foundation Icons | 0.1.1 | quasar-extras-svg-icons/foundation-icons |
fi |
License |
| Geom Icons | 3.0.0-beta.1 | quasar-extras-svg-icons/grid-icons |
geom |
License |
| Glyphs Brands | v0.1.9 | quasar-extras-svg-icons/glyphs-brands |
glyphsBrandsThin, glyphsBrandsSolid |
License |
| Glyphs Core Icons | v0.8.12 | quasar-extras-svg-icons/glyphs-core-icons |
glyphsCoreBold, glyphsCoreDuo, glyphsCoreOutline, glyphsCoreThin, glyphsCorePoly |
License |
| Grid Icons | 3.4.0 | quasar-extras-svg-icons/grid-icons |
gridicons |
License |
| Health Icons | 0.1.0 | quasar-extras-svg-icons/health-icons |
health |
License |
| Hero Icons | 1.0.5 | quasar-extras-svg-icons/hero-icons |
heroOutline, heroSolid |
License |
| Icomoon Free Icons | 0.0.0 | quasar-extras-svg-icons/icomoon-free-icons |
icomoonFree |
License |
| Iconoir Icons | 1.0.0 | quasar-extras-svg-icons/iconoir |
ico |
License |
| IconPark Icons | 1.0.0 | quasar-extras-svg-icons/iconpark-icons |
ip |
License |
| Ikonate | 1.1.1 | quasar-extras-svg-icons/ikonate |
ikonate |
License |
| Ikons | 0.0.0 | quasar-extras-svg-icons/ikons |
ikons |
License |
| Jam Icons | 2.0.0 | quasar-extras-svg-icons/jam-icons |
jam |
License |
| Linear Icons | 1.0.2 | quasar-extras-svg-icons/linear-icons |
lnr |
License |
| Linecons | 0.0.0 | quasar-extras-svg-icons/linecons |
lcons |
License |
| Maki Icons (Mapbox) | 7.1.0 | quasar-extras-svg-icons/maki-icons |
maki |
License |
| Map Icons | 3.0.3 | quasar-extras-svg-icons/map-icons |
map |
License |
| Material Line Icons | 0.0.4 | quasar-extras-svg-icons/material-line-icons |
matLine |
License |
| Material Theme Icons | 2.2.1 | quasar-extras-svg-icons/material-theme-icons |
mti |
License |
| Modern Icons | 0.0.0 | quasar-extras-svg-icons/modern-icons |
modern |
License |
| Octicons (Primer) | 16.3.0 | quasar-extras-svg-icons/oct-icons |
oct |
License |
| Open Iconic | 1.1.1 | quasar-extras-svg-icons/open-iconic |
oi |
License |
| Openmoji Icons | 13.1.0 | quasar-extras-svg-icons/openmoji-icons |
om, omc |
License |
| Phosphor Icons | 1.4.2 | quasar-extras-svg-icons/phosphor-icons |
pp |
License |
| Pixelart Icons | 1.5.0 | quasar-extras-svg-icons/pixelart-icons |
pix |
License |
| Prime Icons | 5.0.0 | quasar-extras-svg-icons/prime-icons |
prime |
License |
| Radix-UI Icon | 1.0.3 | quasar-extras-svg-icons/remix-icons |
radix |
License |
| Remix Icon | 2.5.0 | quasar-extras-svg-icons/remix-icons |
rem |
License |
| Simple Icons | 6.8.0 | quasar-extras-svg-icons/simple-icons |
sim |
License |
| Simple Line Icons | 2.5.5 | quasar-extras-svg-icons/simple-line-icons |
sli |
License |
| Stroke 7 Icons (Pixeden) | 1.2.3 | quasar-extras-svg-icons/stroke7-icons |
strk7 |
License |
| Subway Icons | 0.0.0 | quasar-extras-svg-icons/subway-icons |
sub |
License |
| System UIcons | 0.0.0 | quasar-extras-svg-icons/system-uicons |
sui |
License |
| Tabler Icons | 1.53.0 | quasar-extras-svg-icons/tabler-icons |
tab, tabBrand |
License |
| Teeny Icons | 0.4.1 | quasar-extras-svg-icons/teeny-icons |
teenyOutline, teenySolid |
License |
| Typicons | 2.1.2 | quasar-extras-svg-icons/typ-icons |
typ |
License |
| UIW Icons | 2.5.3 | quasar-extras-svg-icons/uiw-icons |
uiw |
License |
| Unicons | 4.0.1 | quasar-extras-svg-icons/unicons |
uni, uniSolid, uniThin |
License |
| Vaadin Icons | 22.0.4 | quasar-extras-svg-icons/vaadin-icons |
vaadin |
License |
| Weather Icons | 2.0.12 | quasar-extras-svg-icons/weather-icons |
wi |
License |
| Webfont Medical Icons | 1.0.0 | quasar-extras-svg-icons/webfont-medical-icons |
wmed |
License |
| Windows Icons | 0.0.0 | quasar-extras-svg-icons/windows-icons |
appbar |
License |
| Zond Icons | 1.2.0 | quasar-extras-svg-icons/zond-icons |
zond |
License |
Example (with Vue Composition API):
// some .vue file in devland
<template>
<div>
<q-icon :name="tabMenu" />
<q-btn :icon="pixCalendarMonth" />
</div>
</template>
<script>
import { tabMenu } from 'quasar-extras-svg-icons/tabler-icons'
import { pixCalendarMonth } from 'quasar-extras-svg-icons/pixelarticons'
export default {
// ...
setup () {
return {
tabMenu
pixCalendarMonth
}
}
}
Example (with Vue Options API):
// some .vue file in devland
<template>
<div>
<q-icon :name="tabMenu" />
<q-btn :icon="remBug" />
</div>
</template>
<script>
import { tabMenu } from 'quasar-extras-svg-icons/tabler-icons'
import { remBug } from 'quasar-extras-svg-icons/remix-icon'
export default {
// ...
created () {
this.tabMenu = tabMenu
this.remBug = remBug
}
}
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'
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 replacable, 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,boxBxsDropletandboxBxsHot, that both use the svgusedirective. Our parser cannot handle that, so these icons will be displayed as a black square.country-flags-iconsis missing the South Korean flag as the SVG usesclip-pathwhich our parser at this time cannot handle.health-icons:- has a
!,svgfilename which doesn't translate well to a valid JavaScript variable name, so it is renamed toExclamationMarkas they already have aQuestionMark(because you can't have?in a filename). - A number of icons, like
healthFilledConeTestOnNetsandhealthOutlineRuralPost, look messed up and there is no way to fix them at this time. Use at your own risk, or use the original icon.
- has a
modern-iconsis mssing the SVG formodernBattery30coreui-iconsicons not available because ofmaskandusedirectives (cannot be flattened):cuiCifAu,cuiCifBi,cuiCifBr,cuiCifEg,cuiCifJm,cuiCifKg,cuiCifKn,cuiCifMr,cuiCifNa,cuiCifNz,cuiCifPt,cuiCifSb,cuiCifSk,cuiCifTv,cuiCifTz, andcuiCifZa.flatui-iconsicons not available because ofClipPathandmask(cannot be flattened):flatArt,flatBowling,flatBrush,flatButton,flatCard,flatDynamite,flatFlask,flatRetina,flatRing,flatSafe,flatSkateboard,flatSpray,flatTouch,flatTrash,flatWeather,flatWine.glyphs-brandsthe color brands are not available because ofLinearGradient,RadialGradient, etc (cannot be flattened).glyphs-flagsare not available because ofLinearGradient,RadialGradient, etc (cannot be flattened).clarity-iconsdoes not include thealertedorbadgedicons as they don't make sense when being used in this context.openmoji: we are excluding theblacksvg 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-iconsicons not available because ofmaskandLinearGradient(cannot be flattened):mtiCargoLockandmtiFlash.map-iconsicons not available because of malformed SVG:mapBicycling,mapFishing,mapGolf,mapHorseRiding,mapMotobikeTrail,mapTrailWalking,mapViewing,mapWalking
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:
- The SVG icon set includes color and/or duo-tone icons. Quasar uses the css
currentColorto determine color, so these icons would have had the color stripped out. - 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.
- The SVG uses commands, like
use,LinearGradient,filter, etc., which cannot be integreted 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
transformto make circles. - Lucide: Not true SVG. Requires a browser to create the SVGs.
- material-icon-theme: Issues with arduino, denizenscript, folder-docker, and pascal.
- cryptocurrency-icons: Lots of
useandfilterdirectives. - 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
linerarGradientanduse - ardis-icon-theme: Uses
text - breeze-icons: Uses
LinearGradient - adwaita-icon-theme: Uses
LinearGradientandClipPath - super-tiny-icons: Uses
use
Donate
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.