DEV Community

Cover image for I Got Tired of Hunting for SVG Logos. So I Open-Sourced 4,000 of Them
GDS K S
GDS K S

Posted on • Originally published at thesvg.org

I Got Tired of Hunting for SVG Logos. So I Open-Sourced 4,000 of Them

A few days ago, we launched theSVG on DEV with ~3,847 brand SVG icons.

Since then:

  • 4,007 icons (160+ new brands added)
  • 56 categories (up from 20+)
  • Dedicated dark and light variants for hundreds of icons
  • Enhanced search with category, page, and extension results
  • MCP server so Claude, Cursor, and Windsurf can fetch icons natively

Here's what's new and what we learned building it.


The icon count problem nobody warns you about

When we launched, people asked: "Why not just use Simple Icons?"

Fair question. Simple Icons is a great project. But here's what happens in practice:

You need the Stripe logo on a dark background. Simple Icons gives you a monochrome SVG. You need the colored version. You go to Stripe's press page. They give you a PNG. You convert it. The viewBox is wrong. You fix it. You repeat this for 15 more brands.

theSVG gives you up to 5 variants per icon:

  • 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 the brand name

No conversion. No hunting. Just pick the variant you need.


What's new since launch

Dedicated dark and light variants

Most icon libraries give you one file and wish you luck on dark backgrounds. We ship separate dark and light variants for hundreds of icons, so you always get a version that's designed to look right on your background - not a hacky CSS inversion.

https://thesvg.org/icons/github/default.svg   <- brand colors
https://thesvg.org/icons/github/dark.svg       <- built for dark bg
https://thesvg.org/icons/github/light.svg      <- built for light bg
Enter fullscreen mode Exit fullscreen mode

The website automatically shows the right variant based on your theme. In code, just pick the variant you need.

Search got smarter

The search bar (Cmd+K) now returns grouped results:

  • Icons - with variant badges showing what's available (mono, dark, wordmark...)
  • Categories - type "design" and the Design category appears with its icon count
  • Pages - Extensions, API Docs, Submit are all searchable
  • Extensions - find the React package, Figma plugin, CLI, or MCP server
  • Recent searches - your last 5 searches persist across sessions

MCP server for AI coding

This is the one people didn't expect to care about, then couldn't stop using.

{
  "mcpServers": {
    "thesvg": {
      "command": "npx",
      "args": ["@thesvg/mcp-server"]
    }
  }
}
Enter fullscreen mode Exit fullscreen mode

Tell Claude "add the GitHub logo to my navbar" and it pulls the actual SVG from theSVG. No copy-pasting URLs. No leaving your editor.

Works with Claude Code, Cursor, Windsurf, and any MCP-compatible tool.


The developer toolkit (quick refresher)

If you missed the first post, here's the full stack:

npm packages

# Core library - all 4,007 icons, tree-shakeable
npm install thesvg

# React components with forwardRef + TypeScript
npm install @thesvg/react

# CLI - shadcn-style icon installer
npx @thesvg/cli add github stripe figma
Enter fullscreen mode Exit fullscreen mode

React usage

import { Github, Figma, Stripe } from "@thesvg/react";

function Footer() {
  return (
    <div className="flex gap-4">
      <Github className="h-5 w-5" />
      <Figma className="h-5 w-5" />
      <Stripe className="h-5 w-5" />
    </div>
  );
}
Enter fullscreen mode Exit fullscreen mode

Every component is individually importable. Your bundler only ships what you use. One icon is ~3KB, not 12MB.

CDN - zero install

<img src="https://thesvg.org/icons/github/default.svg" width="32" />
<img src="https://thesvg.org/icons/github/dark.svg" width="32" />
Enter fullscreen mode Exit fullscreen mode

Use these in READMEs, docs, emails, dashboards, Notion pages. No API key, no account.

REST API

# Search
curl https://thesvg.org/api/icons?q=stripe&category=Finance

# Get one icon with all metadata
curl https://thesvg.org/api/icons/stripe

# List categories
curl https://thesvg.org/api/categories
Enter fullscreen mode Exit fullscreen mode

Open, free, no auth required. Build custom icon pickers, internal tools, or CI pipelines that validate brand assets.


What we learned

1. Variants matter more than quantity

We could have shipped 10,000 monochrome icons. Instead we focused on quality variants. A single icon with default, dark, mono, and wordmark covers 95% of real use cases. Developers don't need 10 versions of a logo. They need the right 4.

2. Dark mode needs dedicated variants, not hacks

CSS filter: invert() seems like a quick fix for dark backgrounds, but it breaks brand colors. A blue logo becomes orange. A red badge turns cyan. The only reliable solution is shipping actual dark-optimized SVGs. We now have dedicated dark and light variants for the most popular brands, and we're growing that coverage with every release.

3. AI integration drives adoption

The MCP server was an experiment. It turned out to be one of the most-used features. Developers who use AI coding tools want their tools to have access to real assets, not hallucinated URLs. If you maintain an open-source library, consider building an MCP server. It's a distribution channel most people haven't discovered yet.

4. CDN links are the silent hero

The npm packages get the attention, but the CDN links drive the most traffic. People drop thesvg.org/icons/react/default.svg into GitHub READMEs, Notion docs, and Slack messages. Every usage is a backlink. Build your assets to be directly linkable.


The full package list


Try it

Browse: thesvg.org
Install: npm install @thesvg/react
Star: github.com/GLINCKER/thesvg

MIT licensed. Brand icons remain the property of their respective trademark holders.

Missing a brand? Submit it or open a PR.

If theSVG saved you time, a star on GitHub helps more than you'd think.


This is a follow-up to our launch post. theSVG is maintained by GLINCKER.

Top comments (0)