shapeso
| Install | |
|---|---|
npm install shapeso |
|
| Latest Version: | 0.2.0 |
| License: | Custom |
| Last Updated: | Oct 9, 2026 |
| Links: | npm |
shapeso
Shape's icons from the terminal: search 11,160 catalog icons from Shape, Lucide, Simple Icons, Solar and SVG Logos, and add them to a project as SVG, React, Vue or Svelte. The engine accepts seventeen common style keys; logo basics preserve the brand mark and named capabilities list only supported effects. Compatible SVG Logos artwork also offers Original colours, its default. Needs Node 20 or later.
npx shapeso search weather
npx shapeso add sun cloud cloud-rain --style duotone --format react --out src/icons
npx shapeso get rocket --style iso --plane top > rocket.svg
npx shapeso search accessibility --library solar
npx shapeso get solar:accessibility-linear > accessibility.svg
npx shapeso search google --library svg-logos
npx shapeso get logos:google-icon > google.svg
Commands
| Command | What it does |
|---|---|
shape search <query> |
Find icons by name or tag (-c nature for one collection, --library solar for one source) |
shape add <icon...> |
Write icons into your project (./icons unless --out) |
shape get <icon> |
Print one icon to stdout |
shape restyle <file.svg | -> |
Restyle a 24 × 24 stroke SVG you drew |
shape styles [icon] |
List common keys, or the supported styles for a named icon |
shape collections |
List the collections |
shape init |
Save your defaults (style, format, folder) to shape.json |
Options
--style outline, fill, duotone, duotone-bold, solid-duo, contained, offset, glass, sharp, broken, dotted, drawing, pixel, pixel-duo, dot-matrix, iso, iso-solid; SVG Logos: logos-original; Solar: solar-linear, solar-outline, solar-bold, solar-bold-duotone, solar-line-duotone, solar-broken · --library shape, lucide, simple-icons, solar, svg-logos · --format svg, react, vue, svelte, data-uri, css · --size · --stroke · --color · --tone · --gap (broken's gap, dotted's spacing) · --box circle/squircle/square for contained · --plane left/top/right · --edge sharp/round · --offset, --direction n/ne/e/se/s/sw/w/nw and --accent for offset and glass · --js for .jsx · --force to overwrite · --json for scripts.
Omitting --style uses the source default: Outline for line drawings, Fill for Simple Icons, duotone-bold for Solar and logos-original for SVG Logos. All seventeen common style IDs are accepted; logo basic modes resolve to a canonical brand mark. Derived effects may alter lines, geometry, material or perspective while the stored source artwork remains unchanged. Exact Solar aliases such as solar:accessibility-linear retain their variant unless --style overrides it. When adding original-variant aliases, suggested file names include the variant so two native styles do not overwrite each other. Use shape styles solar-accessibility to inspect the seventeen common keys. The explicit solar-* keys export original Solar variants separately from the common effects.
Install it globally to type shape instead of npx shapeso:
npm i -g shapeso
For agents, there's also an MCP server: @shapeso/mcp.
Licence
Free to use, including commercial work, under each source's terms. Shape-authored software and artwork have the terms in LICENSE.md; third-party artwork retains its own licence. Shape's icon-set redistribution and extraction restrictions do not limit Lucide's ISC, Simple Icons' and SVG Logos' CC0 or Solar's CC BY 4.0 permissions.
Solar icons are by 480 Design, under CC BY 4.0. Retain creator credit, source and licence links, and indicate changes when sharing. Original source · Distribution · Licence. Shape retains imported source artwork, converts XML and namespaces local references. Original-variant exports preserve that artwork; common style effects derive adapted drawing geometry. Retain the change notice with the credit. Full licence and attribution notices ship in THIRD_PARTY_NOTICES.md.
Simple Icons is a separate library with all 3,463 active native-filled logos. Search with --library simple-icons in the CLI or library: "simple-icons" in MCP. Logos default to Fill. Basic line/fill requests share the canonical filled brand mark; named style listings show Fill plus eight optional creative effects. Stored authored line variants are retained as source data.
Solar is a separate library with 1,451 families × six native styles = 8,706 source variants. Families are counted once in the catalog. Solar guide · Source CSV · Source credits.
SVG Logos is a separate library with 1,960 active colour marks from Gil Barbara's SVG Logos collection, pinned to @iconify-json/logos 1.2.15. Search with --library svg-logos in the CLI or library: "svg-logos" in MCP. Canonical names use svg-logos-<slug>; logos:<slug> and svg-logos:<slug> are accepted aliases, including the nine upstream parent aliases.
Compatible SVG Logos artwork defaults to Original colours (logos-original), retaining source colours, gradients and opacity while fitting the artwork into a 24 × 24 viewBox with its aspect ratio preserved. --color / color is ignored in Original colours. Compatible marks expose Fill and eight creative effects alongside Original colours. For 488 source-contrast or component-detail risks, every style request preserves Original colours and only that mode is listed. Use shape styles <name> or MCP list_styles with a name to inspect actual capabilities. Listing without a name returns the common seventeen keys.
The SVG Logos collection distribution is CC0 1.0. Brand trademarks, original artwork ownership and usage guidelines still apply. Derived effects are Shape adaptations and do not imply owner or collector approval. Collection licence · Package source and import guide. The full upstream licence is included in THIRD_PARTY_NOTICES.md.
Three source marks contain singular gradient transforms that fail to paint in browsers: svg-logos-million, svg-logos-million-icon and svg-logos-obsidian-icon. These default to Fill and expose Fill and eight optional creative effects; requesting logos-original falls back to Fill. Their raw source records remain unchanged. Details.
Related Packages
Incremark icons - SVG icon library for Vue, React, and Svelte components.
All ~3200 Remix Icons as importable SVG strings with framework wrapper component...
Official CLI for Esvigy — add customizable, animated illustrations directly to y...
Version History
| Version | Released | License |
|---|---|---|
| 0.2.0 | Custom | |
| 0.1.0 | Custom |