commerce

Shopping bag icon

Shopping bag is an original glyphfox icon from the commerce set, drawn on the 24 by 24 grid with 2 shapes. It has a hand drawn duotone layer that takes a second color. Its closed shapes also give it a solid style, generated at build time. Tags: bag, buy, purchase, store, shop.

Sizes, weights and styles

Every glyphfox icon renders along three axes. The stroke grows a little below 24 px so small icons keep their presence.

Sizes

16 px
20 px
24 px
32 px
48 px

Weights

weight 1
weight 1.5
weight 2
weight 2.5
weight 3

Styles

Outline
Duotone
Solid
sharp corners

Copy the code

Pick a format. Each snippet uses the package entry point for that stack; the props work the same everywhere.

Code formats
App.jsx
import { ShoppingBagIcon } from 'glyphfox/react';

<ShoppingBagIcon />
App.vue
<script setup>
import { ShoppingBagIcon } from 'glyphfox/vue';
</script>

<template>
  <ShoppingBagIcon />
</template>
App.svelte
<script>
  import { ShoppingBagIcon } from 'glyphfox/svelte';
</script>

<ShoppingBagIcon />
app.component
import { GlyphFoxIcon, provideGlyphFox } from 'glyphfox-angular';

<gf-icon name="shopping-bag"></gf-icon>
index.html
<glyph-fox name="shopping-bag"></glyph-fox>
index.html
<script src="https://cdn.jsdelivr.net/npm/glyphfox@1"></script>

<glyph-fox name="shopping-bag"></glyph-fox>
index.html
<span class="gf-shopping-bag" aria-hidden="true"></span>
shopping-bag.svg
<svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="glyphfox glyphfox-shopping-bag" aria-hidden="true"><path d="M4 8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1l-1 12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2Z"/><path d="M9 10V6a3 3 0 0 1 6 0v4"/></svg>
data URI
data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' class='glyphfox glyphfox-shopping-bag' aria-hidden='true'%3E%3Cpath d='M4 8a1 1 0 0 1 1-1h14a1 1 0 0 1 1 1l-1 12a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2Z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E
index.html
<!-- copy node_modules/glyphfox/dist/sprite.svg to your public folder -->
<svg width="24" height="24" aria-hidden="true">
  <use href="/sprite.svg#gf-shopping-bag"></use>
</svg>
index.html
<!-- main.js: import 'glyphfox/runtime'; -->
<i data-glyph="shopping-bag"></i>
icon.js
import { renderToString } from 'glyphfox/core';
import iconShoppingBag from 'glyphfox/icons/shopping-bag';

const svg = renderToString(iconShoppingBag, { size: 24 });

// or, with every icon registered by name:
// import { toSvg } from 'glyphfox';
// toSvg('shopping-bag', { size: 24 });

Details

Nameshopping-bag
React, Vue and Svelte componentShoppingBagIcon
Icon data exporticonShoppingBag
Categoriescommerce
Tagsbag buy purchase store shop
StylesOutline, Duotone (hand drawn layer), Solid
Shapes2
LicenseMIT

With a modifier badge

Add a badge in any corner with modifier or the name syntax. The icon is cut around the badge, so the result still passes the icon rules.

shopping-bag+check
shopping-bag+plus
shopping-bag+x
shopping-bag+alert

Use it in your stack

Guides with the install, the props and the pitfalls for each stack: