Skip to content

Web Components

Devicons as a framework-less <dev-icon> custom element — 578 icons in original, plain, line, and their -wordmark variants. Works in any page, any framework, no build required.

Terminal window
pnpm add @devicons-pack/web-components
import {defineDevIcon, register} from '@devicons-pack/web-components';
import {Javascript} from '@devicons-pack/web-components/original';
defineDevIcon(); // defines <dev-icon>
register(Javascript); // makes it available by name
<dev-icon name="javascript"></dev-icon>
<dev-icon name="javascript" variant="plain-wordmark" label="Javascript"></dev-icon>

Or skip the registry and set the icon directly:

document.querySelector('dev-icon').icon = Javascript;

Only imported icons end up in your bundle. Without label the svg is aria-hidden.