export const title = "Install Untitled UI Icons"
export const description = "Untitled UI Icons are a clean, consistent, and neutral icon library crafted for modern UI design. These icons are available as React components with instant npm access."
export const metaDescription = "Learn how to install, import, and style Untitled UI Icons. Untitled UI Icons are a clean, consistent, and neutral icon library crafted for modern UI design."
export const titleParts = "Untitled UI — Icons"
## Installation
To get started, install the Untitled UI Icons package:
```bash
npm install @untitledui/icons
```
```bash
yarn add @untitledui/icons
```
```bash
bun add @untitledui/icons
```
## Using Untitled UI Icons
You can use Untitled UI Icons in two ways: by importing from the default import or by importing individual icon files. Here's a quick guide for both:
### Main module import (recommended)
For modern build tools that support tree-shaking (e.g. Next.js, Vite), you can import icons directly from the main package:
```tsx
import {
Home01,
Settings01,
User01,
Bell01
} from "@untitledui/icons";
```
This method ensures that only the icons you use are included in the final bundle, keeping your bundle size small and optimized.
### Individual module import
If you're using a build tool that doesn't fully support tree-shaking, you can import icons directly from individual files just as easily:
```tsx
import Home01 from "@untitledui/icons/Home01";
import Settings01 from "@untitledui/icons/Settings01";
import User01 from "@untitledui/icons/User01";
import Bell01 from "@untitledui/icons/Bell01";
```
This ensures that only the icons you explicitly import are included in your bundle.
## Styling Untitled UI Icons
All Untitled UI Icons support standard SVG and React props out of the box:
```tsx
import { Home01 } from "@untitledui/icons";
console.log("Home icon clicked")}
/>
```
You can customize icons using the following common SVG and React props:
- `className` – Apply utility classes to control size, color, spacing, and more.
- `strokeWidth` – Adjust the thickness of the icon's strokes.
- `color` – Set the icon color (using `className` for text color is recommended).
- `aria-hidden` – Set to `true` for decorative icons to improve accessibility.
## Untitled UI Icons PRO
The PRO version of [Untitled UI Icons](https://www.untitledui.com/icons) includes 4,600+ icons across 4 styles. Choose between minimal line, modern duocolor or duotone, or solid icon styles.
If you've purchased the PRO version of Untitled UI Icons, you'll need to configure your package manager with your private access token:
Start by creating a configuration file in your project root:
```bash
# .npmrc
@untitledui-pro:registry=https://pkg.untitledui.com
//pkg.untitledui.com/:_authToken=YOUR_TOKEN_HERE
```
```yaml
# .yarnrc.yml
npmScopes:
untitledui-pro:
npmRegistryServer: "https://pkg.untitledui.com"
npmAuthToken: "YOUR_TOKEN_HERE"
```
```yaml
# bunfig.toml
[install.scopes]
"untitledui-pro" = { url = "https://pkg.untitledui.com", token = "YOUR_TOKEN_HERE" }
```
Replace `YOUR_TOKEN_HERE` with your private access token:
Once you've set up access, you can install the PRO icons with a single command:
```bash
npm install @untitledui-pro/icons
```
```bash
yarn add @untitledui-pro/icons
```
```bash
bun add @untitledui-pro/icons
```
The PRO version of Untitled UI Icons includes multiple style variants—line, duocolor, duotone, and solid—each available via separate imports:
```tsx
// Line icons (also available in the free package)
import { Home01, Settings01 } from "@untitledui-pro/icons/line";
// Solid icons
import { Home01, Settings01 } from "@untitledui-pro/icons/solid";
// Duocolor icons
import { Home01, Settings01 } from "@untitledui-pro/icons/duocolor";
// Duotone icons
import { Home01, Settings01 } from "@untitledui-pro/icons/duotone";
```
### Installing in CI/CD
In CI/CD pipelines or other automated environments, you can't complete a browser-based login—and you should never commit your private access token to source control. Instead, store your token as a secret and read it from an environment variable at build time.
In your CI provider (GitHub Actions, GitLab CI, Vercel, etc.), add your private access token as a secret or environment variable—for example, `UNTITLEDUI_PRO_TOKEN`.
Update your configuration file to read the token from the environment instead of hardcoding it. This file is safe to commit, since it no longer contains the token itself:
```bash
# .npmrc
@untitledui-pro:registry=https://pkg.untitledui.com
//pkg.untitledui.com/:_authToken=${UNTITLEDUI_PRO_TOKEN}
```
```yaml
# .yarnrc.yml
npmScopes:
untitledui-pro:
npmRegistryServer: "https://pkg.untitledui.com"
npmAuthToken: "${UNTITLEDUI_PRO_TOKEN}"
```
```yaml
# bunfig.toml
[install.scopes]
"untitledui-pro" = { url = "https://pkg.untitledui.com", token = "$UNTITLEDUI_PRO_TOKEN" }
```
With the token available in the environment, your package manager will authenticate automatically and install the PRO icons:
```bash
npm install @untitledui-pro/icons
```
```bash
yarn add @untitledui-pro/icons
```
```bash
bun add @untitledui-pro/icons
```