Icons

Shield icon

Compare 21 free shield icons from 21 open-source libraries and pick the one that matches your design system. Every icon on this page downloads as an editable SVG or a transparent PNG at any size from 16px to 512px — no login, no account, no attribution required.

All 21 free shield icons

Library comparison

Which library should you use?

LibraryStyleLicenseShield icon
Bootstrap Icons Fill MIT Shield
Boxicons Bold MIT Shield
CSS.gg Outline MIT Shield
Eva Icons Bold MIT Shield Fill
Feather Outline MIT Shield
Fluent UI Icons Bold MIT Shield 12 Filled
Iconoir Outline MIT Shield
IconPark Outline Outline Apache 2.0 Shield
IconPark Solid Bold Apache 2.0 Shield
Ionicons Fill MIT Shield
Lucide Outline ISC Shield
Material Design Icons Fill Apache 2.0 Shield
Material Symbols Fill Apache 2.0 Shield
Material Symbols Light Light Apache 2.0 Shield
Mingcute Bold Apache 2.0 Shield Fill
Octicons Outline MIT Shield
Phosphor Outline MIT Shield
Pixel Art Icons Fill MIT Shield
Remix Icons Bold Apache 2.0 Shield Fill
Solar Icons Bold CC BY 4.0 Shield Bold
Tabler Icons Outline MIT Shield

Outline sets such as Lucide, Tabler and Feather stay legible at 16px in dense interfaces. Material Symbols and Bootstrap Icons give you matched outline and filled pairs. Phosphor, Solar and Fluent add duotone, bold and weight-graded variants when you need more visual hierarchy.

Use this icon in your project

Inline SVG (copy & paste)

Paste this straight into HTML or JSX. It inherits currentColor, so it follows your theme.

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="shield icon"><path fill="currentColor" d="M5.338 1.59a61 61 0 0 0-2.837.856a.48.48 0 0 0-.328.39c-.554 4.157.726 7.19 2.253 9.188a10.7 10.7 0 0 0 2.287 2.233c.346.244.652.42.893.533q.18.085.293.118a1 1 0 0 0 .101.025a1 1 0 0 0 .1-.025q.114-.034.294-.118c.24-.113.547-.29.893-.533a10.7 10.7 0 0 0 2.287-2.233c1.527-1.997 2.807-5.031 2.253-9.188a.48.48 0 0 0-.328-.39c-.651-.213-1.75-.56-2.837-.855C9.552 1.29 8.531 1.067 8 1.067c-.53 0-1.552.223-2.662.524zM5.072.56C6.157.265 7.31 0 8 0s1.843.265 2.928.56c1.11.3 2.229.655 2.887.87a1.54 1.54 0 0 1 1.044 1.262c.596 4.477-.787 7.795-2.465 9.99a11.8 11.8 0 0 1-2.517 2.453a7 7 0 0 1-1.048.625c-.28.132-.581.24-.829.24s-.548-.108-.829-.24a7 7 0 0 1-1.048-.625a11.8 11.8 0 0 1-2.517-2.453C1.928 10.487.545 7.169 1.141 2.692A1.54 1.54 0 0 1 2.185 1.43A63 63 0 0 1 5.072.56"/></svg>

React component

Install the package for the library you picked, then import the component.

npm install bootstrap-icons

import { Shield } from "bootstrap-icons";

export function Example() {
  return <Shield size={24} />;
}

Choosing the right shield icon

Match the icon to the interface

A shield icon has to read instantly at whatever size your interface uses. Below 20px, prefer outline artwork with a consistent stroke weight — heavy filled glyphs turn into blobs. For navigation bars and empty states above 32px, filled or duotone versions carry more visual weight and scan better.

Keep stroke weight consistent across every icon in a view. Mixing a 1.5px Lucide glyph with a 2px Tabler glyph in the same toolbar is the most common reason icon sets look unprofessional.

Accessibility

Decorative icons need aria-hidden="true" so screen readers skip them. If the shield icon is the only thing labelling a control — an icon-only button, for example — give the button an aria-label such as "Shield" and leave the SVG itself hidden.

Never rely on the icon alone to convey state. Pair it with a tooltip or visible text wherever the meaning is not already obvious from context.

Related icon searches

Libraries on this page

Frequently asked questions

Where can I download a free shield icon?

IconStash indexes 21 free shield icons from 21 open-source libraries, including Bootstrap, Boxicons, CSS.gg, Eva, Feather. Choose one on this page, set the exact size and colour, then copy the SVG markup or download a transparent PNG. No account and no login are required.

Are these shield icons free for commercial use?

Yes. Every icon on this page comes from an open-source library published under a permissive licence (MIT, Apache-2.0, ISC, CC BY 4.0 and similar), all of which allow commercial use. The comparison table above lists the licence for each library so you can confirm the exact terms before shipping.

Can I download a shield icon as a PNG?

Yes. Open any icon on this page, set an exact pixel size between 16px and 512px, choose any colour, and download a transparent PNG. Because every icon here is a vector, the exported PNG stays sharp at any resolution — IconStash also offers a ZIP pack containing 16, 24, 32, 48, 64, 128, 256 and 512px files.

Which library has the best shield icon?

It depends on the design system you are matching. Outline libraries such as Lucide, Tabler and Feather suit dense product interfaces; Material Symbols and Bootstrap Icons ship matched outline and filled variants of the same glyph; Phosphor and Solar add duotone, bold and broken weights. The grid above shows all 21 options side by side so you can judge them at real size.

How do I add a shield icon to a React app?

Copy the SVG markup for any icon on this page and paste it directly into JSX, or install the official npm package for the library you picked — lucide-react, @tabler/icons-react, @phosphor-icons/react, react-bootstrap-icons and react-icons are the most common. Both approaches are shown in the code samples above.

What sizes and styles do shield icons come in?

All 21 icons on this page are vector artwork, so they scale cleanly to any size. The libraries represented here render the shield concept in fill, bold, outline, light styles, and IconStash can export PNGs at 16, 24, 32, 48, 64, 128, 256 or 512px, or any custom value in between.

Can I change the colour of a shield icon?

Yes. Icons are exported using currentColor, so they inherit the CSS colour of their parent element and follow your theme automatically. You can also pick an exact hex colour in the IconStash editor before downloading, or override the colour with a CSS rule such as .icon { color: #C1DD2D; }.