Icons

Heart icon

Compare 22 free heart icons from 22 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 22 free heart icons

Library comparison

Which library should you use?

LibraryStyleLicenseHeart icon
Ant Design Icons Fill MIT Heart
Bootstrap Icons Fill MIT Heart
Boxicons Bold MIT Heart
CSS.gg Outline MIT Heart
Eva Icons Bold MIT Heart Fill
Feather Outline MIT Heart
Fluent UI Icons Bold MIT Heart 12 Filled
Heroicons Outline MIT Heart
Iconoir Outline MIT Heart
IconPark Outline Outline Apache 2.0 Heart
Ionicons Fill MIT Heart
Line MD Outline MIT Heart
Lucide Outline ISC Heart
Material Design Icons Fill Apache 2.0 Heart
Mingcute Bold Apache 2.0 Heart Fill
Octicons Outline MIT Heart
Phosphor Outline MIT Heart
Pixel Art Icons Fill MIT Heart
Radix Icons Outline MIT Heart
Remix Icons Bold Apache 2.0 Heart Fill
Solar Icons Bold CC BY 4.0 Heart Bold
Tabler Icons Outline MIT Heart

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 1024 1024" width="24" height="24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" role="img" aria-label="heart icon"><path fill="currentColor" d="M923 283.6a260 260 0 0 0-56.9-82.8a264.4 264.4 0 0 0-84-55.5A265.3 265.3 0 0 0 679.7 125c-49.3 0-97.4 13.5-139.2 39q-15 9.15-28.5 20.1q-13.5-10.95-28.5-20.1c-41.8-25.5-89.9-39-139.2-39c-35.5 0-69.9 6.8-102.4 20.3c-31.4 13-59.7 31.7-84 55.5a258.4 258.4 0 0 0-56.9 82.8c-13.9 32.3-21 66.6-21 101.9c0 33.3 6.8 68 20.3 103.3c11.3 29.5 27.5 60.1 48.2 91c32.8 48.9 77.9 99.9 133.9 151.6c92.8 85.7 184.7 144.9 188.6 147.3l23.7 15.2c10.5 6.7 24 6.7 34.5 0l23.7-15.2c3.9-2.5 95.7-61.6 188.6-147.3c56-51.7 101.1-102.7 133.9-151.6c20.7-30.9 37-61.5 48.2-91c13.5-35.3 20.3-70 20.3-103.3c.1-35.3-7-69.6-20.9-101.9M512 814.8S156 586.7 156 385.5C156 283.6 240.3 201 344.3 201c73.1 0 136.5 40.8 167.7 100.4C543.2 241.8 606.6 201 679.7 201c104 0 188.3 82.6 188.3 184.5c0 201.2-356 429.3-356 429.3"/></svg>

React component

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

npm install @ant-design/icons

import { Heart } from "@ant-design/icons";

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

Choosing the right heart icon

Match the icon to the interface

A heart 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 heart icon is the only thing labelling a control — an icon-only button, for example — give the button an aria-label such as "Heart" 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 heart icon?

IconStash indexes 22 free heart icons from 22 open-source libraries, including Ant Design, Bootstrap, Boxicons, CSS.gg, Eva. 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 heart 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 heart 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 heart 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 22 options side by side so you can judge them at real size.

How do I add a heart 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 heart icons come in?

All 22 icons on this page are vector artwork, so they scale cleanly to any size. The libraries represented here render the heart concept in fill, bold, outline 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 heart 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; }.