Documentation

CLI

new

Search, inspect, and download SVG logos from your terminal with npx devicons. Scriptable JSON output and a local MCP server.

The devicons CLI finds developer logos and saves them as SVG files without leaving your terminal. It reads from the Icons API, prints readable tables or JSON, and also runs the Devicons MCP server locally. It requires Node 20 or newer, and there’s nothing to configure.

npx devicons search react

Commands

CommandWhat it does
devicons search <query>Search icons by name, alias, or tag
devicons info <slug>Show an icon’s description, tags, variants, and component names
devicons svg <slug>Print an icon’s SVG to stdout
devicons add <slug...>Save icons as SVG files
devicons categoriesList icon categories
devicons category <slug>List the icons in a category
devicons mcpRun the MCP server over stdio

Options

OptionApplies toDescription
--jsonsearch, info, categories, categoryPrint the API response as JSON
--category <slug>searchOnly return icons in a category
--limit <n>search (1–100), category (1–200)Maximum results
--variant <file>svgPick a specific variant file, such as nextjs-icon
--monosvg, addUse the monochrome (currentColor) variant
--out <dir>addOutput directory, default ./icons
--forceaddOverwrite files that already exist
--api <url>allAPI base URL (default https://devicons.io, or DEVICONS_API)
-h, --help / -v, --version—Help and version

Examples

Download the logos for your stack:

npx devicons add nextjs postgresql redis vercel --out ./public/logos

Inline a monochrome SVG that follows your text color:

npx devicons svg github --mono > src/icons/github.svg

Find every vector database logo, as JSON:

npx devicons search "vector database" --json

List the LLM provider logos:

npx devicons category llm --limit 20

Use in scripts and CI

--json prints exactly what the API returns, so you can pipe it into jq:

npx devicons search docker --json | jq -r '.results[].svg'

Exit codes:

CodeMeaning
0Success
1Usage error: unknown command or flag, missing or invalid slug, invalid --api URL, or Node older than 20
2Icon, variant, or category not found
3Network or API error
4Could not write a file

Slugs are case-insensitive. add only writes inside --out, skips files that already exist unless you pass --force, and prints every file it writes.