ATTENTION: As part of a major update, we will be replacing the existing
phosphor-icons
package with@phosphor-icons/web
. We recommend using the new version, as it has improved performance and significantly smaller bundle size, in addition to having the option to only load the weights you need. Some class names and APIs have changed, so please read the documentation before upgrading. The legacy package will continue to recieve maintenance, but will not be updated with new icons upstream. Take me to the legacy version ➜
Phosphor is a flexible icon family for interfaces, diagrams, presentations — whatever, really. Explore all our icons at phosphoricons.com.
We use a similar approach as many other icon sets out there, providing icons as several webfonts that uses Unicode's Private Use Area character codes to map normally non-rendering characters to icons. Simply add one or more weights by including its stylesheet to the document <head>
, and drop in icons with an <i>
tag and the appropriate classes for the weight and the icon:
<!DOCTYPE html>
<html>
<head>
<link
rel="stylesheet"
type="text/css"
href="https://unpkg.com/@phosphor-icons/[email protected]/src/bold/style.css"
/>
</head>
<body>
<i class="ph-bold ph-smiley"></i>
<i class="ph-bold ph-heart" style="color: hotpink"></i>
<i class="ph-bold ph-cube"></i>
</body>
</html>
Note
You can import as many or as few weights as needed. Only imported weights will match and render as icons.
Phosphor Icons come in 6 weights: regular
, thin
, light
, bold
, fill
, and duotone
. In order to use a weight, you must include a link to its stylesheet, and use the appropriate weight class on the icon (the regular
weight uses .ph
instead of .ph-regular
):
<link
rel="stylesheet"
type="text/css"
href="https://unpkg.com/@phosphor-icons/[email protected]/src/duotone/style.css"
/>
...
<i class="ph-duotone ph-baseball"></i>
The URL format is https://unpkg.com/@phosphor-icons/web@<VERSION>/src/<WEIGHT>/style.css
. Other common CDNs may also be used.
If you intend to use all 6 weights, they can be made available by including the library as a script tag, using the base URL:
<script src="https://unpkg.com/@phosphor-icons/[email protected]"></script>
...
<i class="ph-light ph-address-book"></i>
<i class="ph ph-sunglasses"></i>
Warning
Though assets will be cached for subsequent loads, this will bring in around 3MB of fonts and CSS, and may have impact on page load speed.
If your environment supports loading CSS files as modules, icon weights can be imported for effect from the package.
$ yarn add @phosphor-icons/web
import "@phosphor-icons/web/light";
import "@phosphor-icons/web/bold";
Since the icons are just text under the hood, they can be colored and styled with CSS like any other font, including font-size
, color
, etc.
<style>
.ph-bold {
font-size: 48px;
}
.green {
color: limegreen;
}
</style>
...
<!-- 96px -->
<i class="ph-bold ph-airplane"></i>
<!-- 96px and green -->
<i class="ph-bold ph-skull green"></i>
Warning
Overriding the font-family
, font-style
, font-weight
, font-variant
, or text-transform
may break the icons and render unprintable characters. Don't do it. Additionally, all weights use the :before
pseudoelement to inject the font glyph, so overriding this property in icon classes can break them. The duotone
weight also uses the :after
pseudoelement, so it is best not to modify either when styling icons.
- @phosphor-icons/homepage ▲ Phosphor homepage and general info
- @phosphor-icons/core ▲ Phosphor icon assets and catalog
- @phosphor-icons/react ▲ Phosphor icon component library for React
- @phosphor-icons/web ▲ Phosphor icons for Vanilla JS
- @phosphor-icons/vue ▲ Phosphor icon component library for Vue
- @phosphor-icons/swift ▲ Phosphor icon component library for SwiftUI
- @phosphor-icons/elm ▲ Phosphor icons for Elm
- @phosphor-icons/flutter ▲ Phosphor IconData library for Flutter
- @phosphor-icons/webcomponents ▲ Phosphor icons as Web Components
- @phosphor-icons/figma ▲ Phosphor icons Figma plugin
- @phosphor-icons/sketch ▲ Phosphor icons Sketch plugin
- @phosphor-icons/pack ▲ Phosphor web font stripper to generate minimal icon bundles
- @phosphor-icons/theme ▲ A VS Code (and other IDE) theme with the Phosphor color palette
- phosphor-react-native ▲ Phosphor icon component library for React Native
- phosphor-svelte ▲ Phosphor icons for Svelte apps
- phosphor-r ▲ Phosphor icon wrapper for R documents and applications
- blade-phosphor-icons ▲ Phosphor icons in your Laravel Blade views
- wireui/phosphoricons ▲ Phosphor icons for Laravel
- phosphor-css ▲ CSS wrapper for Phosphor SVG icons
- ruby-phosphor-icons ▲ Phosphor icons for Ruby and Rails applications
- eleventy-plugin-phosphoricons ▲ An Eleventy plugin for add shortcode, allows Phosphor icons to be embedded as inline svg into templates
- phosphor-leptos ▲ Phosphor icon component library for Leptos apps (rust)
- wordpress-phosphor-icons-block ▲ Phosphor icon block for use in WordPress v5.8+
- ember-phosphor-icons ▲ Phosphor icons for Ember apps
If you've made a port of Phosphor and you want to see it here, just open a PR here!
MIT © Phosphor Icons
figma's People
figma's Issues
Include "tags" into the figma library file to make search easier
Include "Size" option
Ideally, it would be great if you added a "Size" option. Then when they are inserted into the file, they are fills, not strokes. Scaling them is not aligned with how they display in code/browsers. This would also avoid extra work for designers to avoid using "Outline stroke" and/or scale them, for accurate dev hand-off or displaying in the Figma files. Thanks, much appreciated!
Making the Duotone Icons only two layers
It would be great if the Duotone icons could be simplified into only being 2 layers. Otherwise when we override stroke width and colour and swap an instance the part of the icons often does not receive the override.
Post a language pack update
Hi,
my team are working with Phosphor icons but we needed a portuguese pack of lang in figma, can we share or send a pull request with language pack to be used in english and other languages?
The Phosphor did thinked about language pack to update all platforms?
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.