logoforge
Health Pass
- License — License: NOASSERTION
- Description — Repository has a description
- Active repo — Last push 0 days ago
- Community trust — 34 GitHub stars
Code Pass
- Code scan — Scanned 12 files during light audit, no dangerous patterns found
Permissions Pass
- Permissions — No dangerous permissions requested
No AI report is available for this listing yet.
971 brand logos for developers: SVG files, typed React components, shadcn registry (official directory), MCP server. African brands included.
Logoforge
Brand logos for developers, as shadcn components.
1,011 clean SVG logos of the tools developers use — install any of them as a typed React component
with one command, copy the SVG, or build a whole “Trusted by” logo cloud in seconds.
npx shadcn@latest add @logoforge/stripe
Website · Logo cloud builder · Categories · Docs · Request a logo
⭐ If Logoforge saves you a logo hunt, a star helps other developers find it.
Why Logoforge
- One command, one typed component.
npx shadcn add @logoforge/stripewritescomponents/logos/stripe.tsx— no package to install, no CSS touched, nothing but React.<StripeLogo />,<GithubLogo variant="mono" />,<VercelLogo type="wordmark" />: TypeScript only offers the variants a logo really has. - Dark mode that works. Near-black marks (GitHub, Vercel, Notion…) ship a dark file; the component switches with your
.darkclass — Tailwind v3 and v4, no JavaScript. - Mono that keeps its detail. Badge-style marks (Adobe apps, AWS services) get a knockout one-color version — the symbol cut out of its shape — not a solid blob.
- Logo clouds in one command. Pick logos on /cloud, choose grid, marquee or bento; one
shadcn addinstalls the section and every logo it imports. - African brands. MTN, Orange Money, M-Pesa, Flutterwave, Paystack, Moniepoint, OPay, Kuda, Chipper Cash, Yoco, Interswitch, Airtel, Orange, Andela — the brands most logo sets leave out.
- Built for AI editors. An MCP server lets Claude, Cursor, Windsurf or VS Code search and add logos for you.
- Every file is traceable. Each variant records its source, its exact upstream file and its licence.
The gallery — 1,011 logos in 30 categories (AI, frameworks, databases, cloud, payments, learning, gaming, African brands…), color or mono.
Use it
shadcn CLI
@logoforge is in the official shadcn registry directory — no setup needed. Install any logo (slug = the logo page URL):
npx shadcn@latest add @logoforge/stripe @logoforge/supabase
Older shadcn CLI? Declare the namespace once in components.json
{
"registries": {
"@logoforge": "https://logoforge.terravidhal.me/r/{name}.json"
}
}
import { StripeLogo } from "@/components/logos/stripe";
<StripeLogo className="size-8" /> // brand colors, auto dark mode
<StripeLogo variant="mono" className="size-6" /> // currentColor
<StripeLogo type="wordmark" className="h-6 w-auto" />
<StripeLogo mode="dark" /> // force a theme (no Tailwind needed)
<StripeLogo title="" /> // decorative: aria-hidden
SVG files
Every variant is a plain file: https://logoforge.terravidhal.me/logos/<slug>/<variant>.svg
| Variant | What it is | When |
|---|---|---|
icon |
The mark, brand colors | always |
icon-mono |
One color, currentColor |
most logos |
icon-dark |
For dark backgrounds | when the mark would vanish on dark |
wordmark / wordmark-dark |
The full lockup | when the brand has one |
Or grab them straight from this repository: logos/.
MCP server (Claude, Cursor, Windsurf, VS Code)
claude mcp add --transport http logoforge https://logoforge.terravidhal.me/mcp
Tools: search_logos, list_categories, get_logo, get_logo_svg, get_logo_component, build_logo_cloud.
Setup for every editor: docs/mcp.
JSON API
curl https://logoforge.terravidhal.me/api/logos.json # every logo
curl https://logoforge.terravidhal.me/api/logos/stripe.json # one logo, with sources
Static, no key, CORS open. Or read data/logos.json directly.
What's in this repository
logos/<slug>/*.svg optimized SVG files, one folder per logo
components/<slug>.tsx the generated React component (what the registry installs)
data/logos.json GENERATED manifest: names, aliases, categories, colors, variants, sources
data/curation.json which logos ship and where each comes from ← edit this
data/overrides.json reviewed fixes, each with its reason ← and this
data/additions/<slug>/ hand-sourced artwork + source.json (official or public domain)
data/backgrounds.json GENERATED badge detection for knockout monos
scripts/ the pipeline: import · analyze · check
reports/ import report + contact sheets for visual review
How the set is built
- Sources, pinned —
sources.lock.jsonfixes the Simple Icons version and the gilbarbara/logos commit. - Licence filter — CC0 only from the sets: Simple Icons icons published under another licence (CC BY, GPL, MIT…) are dropped. Brands no free set covers are added by hand in
data/additions/, public-domain files first, the brand's own artwork otherwise — each with itssource.json. - Optimize & vet — SVGO (viewBox kept, no fixed size, ids prefixed by slug); any script, event handler, embedded image or external reference is rejected.
- Variants — dark files are derived automatically (black ↔ white swap for knockout marks, near-black text to white, dark brand colors lightened to a 3:1 contrast, masks left untouched); monos come from Simple Icons, or are derived — as knockouts for badge marks detected in headless Chrome.
- Components — SVGR turns each variant into JSX; ids are suffixed per variant so several can share a page.
- Human review — every run writes contact sheets (
reports/review-NN.html); anything flagged must be looked at before it ships, and the decision is recorded indata/overrides.json.
npm install
npm run import # build logos/, components/, data/logos.json, reports/
npm run analyze # detect badge icons (needs Chrome; CHROME_PATH to override), then import again
npm run check # validate everything — runs in CI on every pull request
Contributing
Request a logo — open an issue with the brand name and a link to its official brand assets.
Add a logo from a free set:
- Add an entry to
data/curation.json:{ "slug": "acme", "si": "<simple-icons slug>", "gb": "<gilbarbara shortname>", "categories": ["devtools"] }. npm run import && npm run analyze && npm run import, then open the contact sheet inreports/and look at your logo on light and dark, in color and mono.- Fix anything off in
data/overrides.jsonwith areason, runnpm run check, open a pull request.
Add a logo no free set has: create data/additions/<slug>/icon.svg from a public-domain file or the brand's own website, plus a source.json (origin, page, file, license: public-domain or trademark, retrieved), and add "addition": true to its curation entry. Never trace a PNG: if no vector exists, the logo waits.
Categories are listed in data/categories.json.
Everyone taking part follows the Code of Conduct.
Licences and trademarks
- Tooling and data (scripts, components template, manifest): MIT.
- Artwork: from Simple Icons (CC0 1.0), gilbarbara/logos (CC0 1.0), Wikimedia Commons public-domain files, and — for a few brands no free set covers — the brands' own artwork. See CREDITS.md; every file's source is in
data/logos.json. - Trademarks: all product names, logos and brands are property of their respective owners. They are provided for identification only and their presence does not imply endorsement. A free licence on a file grants nothing on the brand: use a logo to refer to its product, and follow the brand's guidelines.
Brand owners: to remove or correct a logo, write from your company's domain to the address on logoforge.terravidhal.me/legal — handled within 72 hours.
Logoforge is free and open source. If it helped you, ⭐ star the repo — it's the best way to help other developers find it.
Built by Vidhal Elame · sibling of Blockforge
Reviews (0)
Sign in to leave a review.
Leave a reviewNo results found
