Phosphor

Browse 9072 free Phosphor SVG icons. Download SVG, copy as JSX, PNG or Base64. MIT licensed. Designed by Phosphor Icons. Styles: Has Padding.

9072 icons • UI Other / Mixed Grid • 24px

+F

About Phosphor

Phosphor Icons is a flexible open-source SVG icon family providing six visual weights — Thin, Light, Regular, Bold, Fill, and Duotone — for every icon in its 1,400+ icon catalog. This makes Phosphor uniquely capable in the free icon space: a single icon system that covers all semantic weight states a design system might need — outlined for inactive, filled for active, bold for emphasis, duotone for decorative. With 1,400+ icon names each available in six weights, the effective library spans over 8,000 unique SVG files. MIT licensed and available for React (@phosphor-icons/react), Vue, Svelte, Angular, Flutter, and Elm. Search Phosphor SVG icons, copy code, export JSX, or download PNG — all free. Compared with Lucide and Heroicons (outline-only), Phosphor's multi-weight system is superior for design systems where icons carry semantic state. The Duotone variant adds depth ideal for landing page illustrations and feature section icons.

How to use Phosphor icons

Icon Set Version

v2.1.1

Package

@phosphor-icons/react, @phosphor-icons/vue

License SPDX

MIT

Grid Size

24px

Sample Icons

folder-open-duotone, check-square-offset-thin, pencil-line-fill

Install

bash
npm install @phosphor-icons/react

React

tsx
import { MagnifyingGlass, Heart, Star } from '@phosphor-icons/react';

export default function App() {
  // weight: "thin" | "light" | "regular" | "bold" | "fill" | "duotone"
  return <MagnifyingGlass size={24} weight="regular" />;
}

Vue

vue
<script setup>
import { PhMagnifyingGlass } from '@phosphor-icons/vue';
</script>
<template>
  <PhMagnifyingGlass :size="24" weight="regular" />
</template>

Via Iconify · HTML

html
<script src="https://code.iconify.design/iconify-icon/2.1.0/iconify-icon.min.js"></script>
<iconify-icon icon="ph:icon-name" width="24"></iconify-icon>

Via Iconify · any framework

tsx
import { Icon } from '@iconify/react';

export default function App() {
  return <Icon icon="ph:icon-name" width={24} />;
}

Package stats

Build-time npm metadata cached weekly • Last refresh Mar 26, 2026

@phosphor-icons/react

A clean and friendly icon family for React

v2.1.10

License

MIT

Weekly downloads

1.2M

Monthly downloads

4.7M

Total downloads

33.8M

Unpacked size

31 MB

Last published

May 22, 2025

Registry updated

May 22, 2025

@phosphor-icons/vue

A clean and friendly icon family for Vue, too!

v2.2.1

License

MIT

Weekly downloads

42,118

Monthly downloads

158.4K

Total downloads

1.4M

Unpacked size

15 MB

Last published

Apr 5, 2024

Registry updated

Apr 5, 2024

Compare Phosphor with similar icon packs

Frequently Asked Questions

Phosphor provides six weights (Thin, Light, Regular, Bold, Fill, Duotone) for every icon — ideal for design systems that need consistent iconography across different states, sizes, and emphasis levels.

Install npm install @phosphor-icons/react, then: import { Heart } from "@phosphor-icons/react";. Set the weight: <Heart weight="fill" />.

Yes. Official packages exist for React, Vue, Svelte, Angular, Flutter, and Elm. Raw SVGs can also be copied here for any framework.