Iconoteka
Search 1,400 open-source icons in 7 weights and 2 styles, and get paste-ready SVG.
Install
Add this to your client's MCP configuration (Claude Desktop: claude_desktop_config.json; Cursor: .cursor/mcp.json; VS Code and others use the same "mcpServers" shape).
iconoteka-mcpclaude mcp add iconoteka -- npx -y iconoteka-mcp@0.2.3
{
"mcpServers": {
"iconoteka": {
"command": "npx",
"args": [
"-y",
"iconoteka-mcp@0.2.3"
]
}
}
}
Documentation
From the project's README on GitHub, refreshed weekly. Links open on GitHub.
Contents
Iconoteka
A universal, open-source library of precisely designed pictograms.
Website · Figma Plugin · License
| 1,400 icons | from rapid prototyping to real-world wayfinding systems |
| 7 weights | Thin, Ultralight, Light, Regular, Medium, Semibold, Bold |
| 2 styles | stroke and fill |
| 16,123 shapes | complete coverage for almost any use case |
| 23 categories | Arrows, Interface, Hardware, Nature, Transportation, … |
Adding icons to your project
Take the icons you need — there's no need to install or clone the whole library.
In Figma — install the plugin, search, drag the icon onto the canvas.
One icon at a time — every icon is a standalone SVG on the CDN:
https://cdn.jsdelivr.net/gh/iconoteka/iconoteka@02.00.15/Icons/Interface/bell-notification-notify-reminder-ring-sound-r-s.svg
The path is Icons/{Category}/{name}-{weight}-{style}.svg, where weight is one
of t u l r m s b (thin → bold) and style is s for stroke or f
for fill. Categories with spaces need URL-encoding: Files%20%26%20Data.
Inline in your markup — both styles are outlined paths, so an icon is a
single <path> with no stroke attributes. Every SVG ships with
fill="currentColor", so it inherits the surrounding text colour:
<svg width="24" height="24" viewBox="0 0 24 24" aria-hidden="true">
<path d="M3 15.55C4.675 13.225 5 11.45 5 8.5…" fill="currentColor"/>
</svg>
Swap the weight or style by changing one letter in the filename — the geometry is designed to stay optically balanced across all seven weights.
Framework packages
Icons as components, generated from the same SVGs:
npm install iconoteka-react # or iconoteka-vue, iconoteka-svelte
import { Bell } from "iconoteka-react";
<Bell />
<Bell weight="bold" variant="fill" size={32} />
weight takes any of the seven, variant is stroke or fill, and anything
else is spread onto the <svg>. Each icon is its own module, so bundlers drop
what you don't import.
Using the full set
icons.json carries every icon and variant in one file — useful for bundling
the set into a design system, generating components, or pulling icons at build
time.
npm install iconoteka
import icons from "iconoteka" with { type: "json" }; // ESM
const icons = require("iconoteka"); // CommonJS
Or fetch it from the CDN:
https://cdn.jsdelivr.net/gh/iconoteka/iconoteka@02.00.15/icons.json
Pin the tag rather than @main — jsDelivr caches branch URLs for up to 7 days.
The npm package contains icons.json only; the raw SVGs stay in the repo.
{
"meta": {
"version": "02.00.09",
"count": 1400,
"categories": 23,
"popular": ["ai", "alert", "bank_card", "bell", "…"]
},
"icons": [
{
"name": "leaf-ecology-nature-natural-leaves-eco-green-organic-plant-wind",
"displayName": "Leaf",
"searchTerms": ["leaf", "ecology", "nature", "natural", "leaves"],
"category": "Nature",
"variants": { "regular": { "stroke": "M12 2.5…", "fill": "M12 2.5…" } }
}
]
}
version.json
A small companion file sits beside icons.json at the repo root:
{ "version": "02.01.00", "display": "v2.1", "count": 1400, "shapes": 16123,
"categories": 23, "keywords": 8430, "words": 5880, "new": 100,
"icons": "https://cdn.jsdelivr.net/gh/iconoteka/iconoteka@02.01.00/icons.json" }
Read it to find the current release, then load the heavy file from the icons
URL it gives. That URL is pinned to a tag, so it is immutable and correct on
every CDN edge at once, and can be cached forever.
Fetch version.json itself from
raw.githubusercontent.com/iconoteka/iconoteka/main/version.json, which has no
CDN cache, rather than from jsDelivr: jsDelivr caches a branch's commit for up
to 12 hours and purging the file does not re-resolve it, so @main can serve
different builds from different edges.
keywords is the slot count — every icon's searchTerms added up. words is
the number of distinct ones.
The first segment of name is the icon's identity; the rest are search-only
aliases, so match on the identity rather than the full string. Weights are
keyed thin, ultralight, light, regular, medium, semibold, bold,
each holding a stroke and/or fill path.
A curated selection carries "popular": true, listed by identity in
meta.popular. Popular is a flag, not a category — no icon is stored twice.
Design
24-point grid — every icon is built on a 24px grid, so straight lines stay crisp at 24, 48, 96px and beyond, and the set sits comfortably alongside other popular libraries.
Advanced optics — deliberate overshoots, density-based weight modularity and optical stroke compensation throughout.
Bracketing system — preserves structural integrity across all seven weights. Unlike stroke-based sets that simply scale outlines, legibility and visual balance hold at both extremes.
System architecture — a structured metaphor hierarchy, a 5° geometric angle rule, tiered corner rounding and modular components keep the library consistent at production scale.
Universality — geometric construction and high visual clarity keep the icons legible across products and industries that demand contrast and structural consistency.
Support
Iconoteka is a free, open-source library created and maintained by one person. Support its future development through a monthly Patreon subscription or a one-time Ko-fi donation.
License
MIT — see LICENSE. Free for personal and commercial use, including in closed-source products. No permission needed, no fee. Credit isn't required, though it's always appreciated.
Author
Built by Oleg Turbaba, Brand Design Director at Clay Global — a multidisciplinary designer working at the intersection of brand identity, digital products and visual experiences.
For enquiries, collaborations, interviews or sponsorships: olegturbaba@gmail.com
Instagram · LinkedIn · Behance
Sharing your work? Mention @iconoteka on Instagram, LinkedIn or X.
Frequently asked questions
What is Iconoteka?
Search 1,400 open-source icons in 7 weights and 2 styles, and get paste-ready SVG.
How do I install Iconoteka?
It runs on your machine. In Claude Code: claude mcp add iconoteka -- npx -y iconoteka-mcp@0.2.3. For other clients, paste the JSON configuration from this page into their MCP settings.
Does Iconoteka need an API key?
Its registry entry lists no required key or secret. Some features may still need an account with the service it connects to.
Is Iconoteka open source?
Yes. Its code is on GitHub under the MIT license.
Who maintains Iconoteka?
It is published by iconoteka. AI.tn lists it but does not maintain or endorse it.
From the official MCP Registry. Listing is not an endorsement: review a server's code and permissions before giving it access to your data.