The brand icon problem
Every developer has been there. You need a GitHub logo. You Google it. You find a blurry PNG from 2019. The press kit needs a login. The icon pack only has monochrome. 30 minutes later you are tracing an SVG in Figma.
Brand icons are scattered across the internet. Some live in icon packs with restrictive licenses. Others are buried in press kits behind corporate email walls. Quality varies wildly. And almost none come in multiple variants, so you end up making them yourself.
The average developer spends 10-15 minutes per icon just finding a usable SVG. Multiply that across a project with 20+ integrations and you have burned half a day on logos.
Introducing theSVG
thesvg.org is a free, open-source brand icon library with 4,600+ icons across 20+ categories. Search, copy, ship.
But it is not just a website with a search bar. It is a full developer toolkit.
npm packages - tree-shakeable by default
npm install @thesvg/iconsimport github from "@thesvg/icons/github";
github.svg; // raw SVG string
github.title; // "GitHub"
github.hex; // "181717"
github.variants; // { default, mono, light, dark, wordmark }Only the icons you import end up in your bundle. The package generates individual entry points per icon, so your bundler drops everything else. One icon costs ~3KB, not 12MB.
React components with full typing
npm install @thesvg/reactimport { Github, Figma, Stripe } from "@thesvg/react";
<Github width={24} height={24} className="text-gray-900" />
<Figma width={32} height={32} aria-label="Figma" />Every component ships with full SVGProps<SVGSVGElement> types, forwardRef support, and zero runtime dependencies.
CDN - zero install
<img src="https://thesvg.org/icons/github/default.svg" width="32" height="32" />Every icon has a direct URL. Use it in README files, documentation, emails, or dashboards. No API key, no account.
Use these as tech stack badges in your GitHub README:


CLI - never leave your terminal
npx @thesvg/cli search "google"
npx @thesvg/cli add github vercel nextjs --format jsxDrops SVG files or JSX/Vue components directly into your project. Auto-detects your directory structure.
MCP server for AI coding assistants
{
"mcpServers": {
"thesvg": {
"command": "npx",
"args": ["@thesvg/mcp-server"]
}
}
}Claude, Cursor, and Windsurf can search and embed brand icons natively. Ask your AI assistant "add a GitHub icon" and it pulls the real SVG.
5 variants per icon
Most icon libraries give you one version. theSVG gives you up to five:
| Variant | Use case |
|---|---|
default | Brand colors - the standard logo |
mono | Single color - works with any theme |
light | Optimized for light backgrounds |
dark | Optimized for dark backgrounds |
wordmark | Full text logo with brand name |
import github from "@thesvg/icons/github";
const darkLogo = github.variants["dark"];
const wordmark = github.variants["wordmark"];The full ecosystem
| Package | What It Does |
|---|---|
thesvg | All icons, one import |
@thesvg/icons | Core icon data + TypeScript types |
@thesvg/react | 4,600+ typed React components |
@thesvg/cli | CLI: search, add, export |
@thesvg/mcp-server | MCP server for AI assistants |
Why we built this
Brand icons should be accessible. Developers should not need a subscription or corporate login to use a company's own logo.
We built theSVG because we kept hitting the same friction in our own projects. Every time we started a new landing page, dashboard, or integration list, the icon hunt would eat 30+ minutes of real productivity.
The codebase is MIT licensed. Brand icons remain the property of their respective trademark holders - we just make them easy to find and use.
Try it
- Browse all icons: thesvg.org
- GitHub: github.com/glincker/thesvg
- Install:
npm install @thesvg/icons
Missing a brand? Submit a new icon or open a PR. Every brand deserves a place.
If this saves you time, a star on GitHub helps more than you'd think.
theSVG is built by glincker. All brand icons and logos are the property of their respective trademark holders.