brand-logos
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseSVGL Brand Logo
SVGL品牌Logo
SVGL is a library of brand/product/tool logos served as clean, optimized SVGs. It exposes a free, unauthenticated REST API at and a shadcn-compatible registry for installing logos as React components. Use it instead of hand-writing logo SVGs or pulling random files off the web, since the markup is consistent and maintained.
https://api.svgl.appSVGL是一个提供高清、优化版SVG格式品牌/产品/工具Logo的资源库。它提供了一个免费无需认证的REST API,地址为,同时还有一个兼容shadcn的注册表,可将Logo安装为React组件。由于其标记格式统一且持续维护,建议使用该工具替代手动编写Logo SVG代码或从网络随意获取文件。
https://api.svgl.appWhen to use this skill
何时使用该工具
Trigger on any request to find, download, add, embed, or install a brand, product, company, or tool logo, even when the user does not name SVGL. Common phrasings: "add the X logo", "I need an SVG icon for X", "put a row of integration logos here", "get the dark-mode version of the Y logo", "install the Z logo as a component".
This skill is for known brand/product logos. It is not for generic UI icons (use an icon set like Lucide/Heroicons), illustrations, or a company's own custom logo that wouldn't be in a public library.
当用户提出查找、下载、添加、嵌入或安装品牌、产品、公司或工具Logo的需求时,即使未提及SVGL,也可触发使用该工具。常见表述包括:"添加X的Logo"、"我需要X的SVG图标"、"在这里添加一行集成Logo"、"获取Y的深色模式版本Logo"、"将Z的Logo安装为组件"。
该工具仅适用于已知品牌/产品的Logo。请勿将其用于通用UI图标(应使用Lucide/Heroicons等图标库)、插图,或公司专属的自定义Logo(此类Logo不会出现在公共资源库中)。
Choosing the approach
选择合适的使用方式
Decide between the two workflows based on what the user is building:
- REST API (download the raw SVG) — the default. Use when the user wants an file on disk, inline SVG markup, or a logo for a non-React stack (plain HTML, Vue, Svelte, Astro, email, design files). Also use it for quick lookups and "does SVGL have X?" questions.
.svg - shadcn registry (install as a React component) — use only when the project already uses React + shadcn (there's a ) and the user wants a reusable component rather than a static file. When unsure which the project uses, check for
components.jsonand the framework before assuming. A request for "the SVGL CLI" means this flow (SVGL has no CLI of its own — it's the shadcn CLI against SVGL's registry).components.json
根据用户的开发场景,从以下两种工作流中选择:
- REST API(下载原始SVG) —— 默认方式。当用户需要磁盘上的文件、内联SVG标记,或为非React技术栈(纯HTML、Vue、Svelte、Astro、邮件、设计文件)提供Logo时使用。也可用于快速查询以及“SVGL是否有X的Logo?”这类问题。
.svg - shadcn注册表(安装为React组件) —— 仅当项目已使用React + shadcn(存在文件),且用户需要可复用组件而非静态文件时使用。若不确定项目使用的技术栈,先检查是否存在
components.json及框架信息再做判断。当用户请求“SVGL CLI”时,即指此工作流(SVGL本身没有独立CLI,是通过shadcn CLI调用SVGL的注册表)。components.json
REST API workflow
REST API工作流
Base URL: . All responses are JSON except the raw SVG endpoint.
https://api.svgl.appEach logo entry looks like this (note that and may be either a single URL string or a object, and may be a string or array):
routewordmark{ light, dark }categoryjson
{
"id": 573,
"title": "GitHub",
"category": "Software",
"route": {
"light": "https://svgl.app/library/github_light.svg",
"dark": "https://svgl.app/library/github_dark.svg"
},
"wordmark": {
"light": "https://svgl.app/library/github_wordmark_light.svg",
"dark": "https://svgl.app/library/github_wordmark_dark.svg"
},
"url": "https://github.com/",
"brandUrl": "https://brand.github.com/"
}基础URL:。除原始SVG端点外,所有响应均为JSON格式。
https://api.svgl.app每个Logo条目结构如下(注意和可能是单个URL字符串或对象,可能是字符串或数组):
routewordmark{ light, dark }categoryjson
{
"id": 573,
"title": "GitHub",
"category": "Software",
"route": {
"light": "https://svgl.app/library/github_light.svg",
"dark": "https://svgl.app/library/github_dark.svg"
},
"wordmark": {
"light": "https://svgl.app/library/github_wordmark_light.svg",
"dark": "https://svgl.app/library/github_wordmark_dark.svg"
},
"url": "https://github.com/",
"brandUrl": "https://brand.github.com/"
}Endpoints
端点说明
| Goal | Request |
|---|---|
| Search by title | |
| List a category | |
| Discover categories | |
| All logos (optionally capped) | |
| Optimized SVG markup | |
| Unoptimized SVG markup | |
The for the endpoint is the filename from a URL without the path/extension prefix — e.g. the route maps to . The optimized version (run through svgo) is almost always what you want; only reach for if the user needs the original markup (e.g. to diff against a source file or preserve specific structure).
<name>/svg/routehttps://svgl.app/library/github_light.svg/svg/github_light.svg?no-optimize| 目标 | 请求方式 |
|---|---|
| 按标题搜索 | |
| 列出分类下的Logo | |
| 查看所有分类 | |
| 获取所有Logo(可限制数量) | |
| 获取优化后的SVG标记 | |
| 获取未优化的SVG标记 | |
/svg/<name>routehttps://svgl.app/library/github_light.svg/svg/github_light.svg?no-optimizeSteps
操作步骤
- Search by the brand name: . If nothing returns, try a shorter or alternate spelling, or list the likely category to browse.
curl -s "https://api.svgl.app?search=stripe" - Pick the right variant from the result:
- If is a plain string, there's one universal logo — use it.
route - If is
route, choose based on where it will render:{ light, dark }variants are designed to sit on dark backgrounds (light artwork),darkvariants on light backgrounds. When the app supports both themes, grab both and switch with CSS. Don't assume — match the destination background.light - Use only when the user explicitly wants the logo with the company name (the wordmark/lockup) rather than the icon mark. If the user says "logo" generically, prefer
wordmark(the icon mark).route
- If
- Download the chosen SVG into the project's existing asset location rather than inventing a new folder. Look for where other logos/icons already live (e.g. ,
public/,public/logos/,src/assets/,app/assets/icons/) and match that convention and naming style.static/ - Confirm what you saved and where, and mention if both light/dark files were stored.
Example — download the GitHub icon (light + dark) into an existing assets dir:
bash
curl -s -o public/logos/github-light.svg "https://api.svgl.app/svg/github_light.svg"
curl -s -o public/logos/github-dark.svg "https://api.svgl.app/svg/github_dark.svg"If the user wants it inline (e.g. to paste into a component), fetch the markup and embed it directly rather than saving a file:
bash
curl -s "https://api.svgl.app/svg/stripe.svg"- 搜索品牌名称:。若未返回结果,尝试更短或替代拼写,或列出可能的分类进行浏览。
curl -s "https://api.svgl.app?search=stripe" - 选择合适的变体:
- 若是普通字符串,则只有一个通用Logo,直接使用即可。
route - 若是
route对象,根据渲染场景选择:{ light, dark }变体适用于深色背景(亮色图案),dark变体适用于浅色背景。若应用支持双主题,需同时获取两个变体并通过CSS切换。请勿主观假设,务必匹配目标背景。light - 仅当用户明确需要带公司名称的Logo(文字标志/组合标志)时,才使用。若用户仅笼统提及“Logo”,优先选择
wordmark(图标标志)。route
- 若
- 下载选中的SVG至项目已有的资源目录,不要新建文件夹。查找其他Logo/图标的存放位置(例如、
public/、public/logos/、src/assets/、app/assets/icons/),遵循相同的命名规范和目录结构。static/ - 确认保存的内容及位置,并说明是否同时存储了亮色/暗色文件。
示例——将GitHub图标(亮色+暗色)下载至已有的资源目录:
bash
curl -s -o public/logos/github-light.svg "https://api.svgl.app/svg/github_light.svg"
curl -s -o public/logos/github-dark.svg "https://api.svgl.app/svg/github_dark.svg"若用户需要内联使用(例如粘贴到组件中),直接获取标记并嵌入即可,无需保存文件:
bash
curl -s "https://api.svgl.app/svg/stripe.svg"shadcn registry workflow
shadcn注册表工作流
SVGL has no standalone CLI of its own. When a user asks for "the SVGL CLI", "svgl cli", or "install via the SVGL CLI", they mean this flow — the shadcn registry, driven by the standard CLI pointed at SVGL's registry. Don't go looking for a separate command; route these requests here.
shadcnsvglFor React projects already on shadcn, logos can be installed as typed components. Just run the install command, using the project's existing package manager (check for , , , or and match it — don't introduce a new one):
pnpm-lock.yamlpackage-lock.jsonyarn.lockbun.lockbbash
pnpm dlx shadcn@latest add @svgl/githubSVGL没有独立的CLI。当用户请求“SVGL CLI”、“svgl cli”或“通过SVGL CLI安装”时,即指此工作流——通过标准 CLI调用SVGL的注册表。无需寻找单独的命令,直接按此流程处理。
shadcnsvgl对于已使用shadcn的React项目,可将Logo安装为带类型定义的组件。只需运行安装命令,使用项目已有的包管理器(检查是否存在、、或,匹配使用即可,不要引入新的包管理器):
pnpm-lock.yamlpackage-lock.jsonyarn.lockbun.lockbbash
pnpm dlx shadcn@latest add @svgl/githubnpm: npx shadcn@latest add @svgl/github
npm: npx shadcn@latest add @svgl/github
yarn: yarn dlx shadcn@latest add @svgl/github
yarn: yarn dlx shadcn@latest add @svgl/github
bun: bunx shadcn@latest add @svgl/github
bun: bunx shadcn@latest add @svgl/github
The `@svgl/...` namespace resolves out of the box — current `shadcn` versions know how to fetch from `https://svgl.app/r/<name>.json` without any project config. This generates React components (e.g. a `GithubLight` component) that accept standard `SVGProps`, so the user can size and style them like any other component. The component name maps to the same logo names used by the API.
**Fallback:** only if the CLI can't resolve the `@svgl` namespace (e.g. an older shadcn version), register it explicitly in `components.json` and re-run:
```json
{
"registries": {
"@svgl": "https://svgl.app/r/{name}.json"
}
}
`@svgl/...`命名空间可直接解析——当前版本的`shadcn`无需任何项目配置,即可从`https://svgl.app/r/<name>.json`获取资源。此命令会生成React组件(例如`GithubLight`组件),该组件支持标准`SVGProps`,用户可像操作其他组件一样调整其尺寸和样式。组件名称与API使用的Logo名称一致。
**回退方案:** 若CLI无法解析`@svgl`命名空间(例如shadcn版本较旧),需在`components.json`中显式注册后重新运行命令:
```json
{
"registries": {
"@svgl": "https://svgl.app/r/{name}.json"
}
}Cautions
注意事项
- Rate limits. The API is open and unauthenticated but rate-limited to prevent abuse. Don't loop over hundreds of logos or poll it; search once, fetch the specific SVGs you need, and cache the files locally instead of re-downloading.
- Brand usage rights. SVGL distributes logos for convenience, but trademark and brand-guideline rules still apply. Follow the brand owner's guidelines (the entry's /
brandUrloften points to them) — don't recolor, distort, or imply an endorsement/partnership the user doesn't have.url - Don't clone SVGL. Per SVGL's own terms, the API is meant for extensions, plugins, and tools that help the community — not for scraping its catalog to rebuild a competing logo library.
- 速率限制:API开放且无需认证,但存在速率限制以防止滥用。请勿循环获取数百个Logo或频繁轮询;只需搜索一次,获取所需的特定SVG,并将文件本地缓存,避免重复下载。
- 品牌使用权限:SVGL仅为方便用户提供Logo,但商标和品牌指南规则仍然适用。需遵循品牌所有者的指南(条目内的/
brandUrl通常指向相关指南)——不得重新着色、变形Logo,或暗示用户未获得的背书/合作关系。url - 请勿克隆SVGL:根据SVGL的条款,API仅用于扩展、插件及帮助社区的工具——不得抓取其目录以重建竞争型Logo资源库。
Output
输出说明
After fetching or installing, tell the user concisely:
- Which logo(s) and variant(s) you used (icon vs wordmark, light/dark).
- Where files were saved or which component(s) were installed.
- Any follow-up they should handle themselves (theme switching wiring, brand-guideline review for prominent/marketing use).
获取或安装完成后,向用户简洁说明:
- 使用了哪些Logo及变体(图标标志/文字标志、亮色/暗色)。
- 文件保存位置或安装的组件名称。
- 用户需自行处理的后续事项(如主题切换配置、用于显眼/营销场景时的品牌指南审核)。