shieldcn
Docs
Studio
Showcase
Pricing
Sponsor
jal-co/shieldcn552
shieldcn

Member of the Vercel OSS Program

Analytics provided by OpenPanel

Monitored by Sentry

Powered by Neon.

Community

GitHubjal-co/uiStatsllms.txtPrivacyContact

Product

DocumentationAPI ReferenceToken PoolGeneratorAgent Skill

inspired by shields.io and badgen.net

Made with in by Justin Levine

shieldcn
Docs
Studio
Showcase
Pricing
Sponsor
jal-co/shieldcn552

Search documentation

Search all badge providers, guides, and reference docs.

Getting Started

IntroductionREADME StudioCLIAgent SkillNewSelf-HostingAPI ReferenceToken PoolSponsor

Badges

Badge GroupStatic BadgeDynamic JSONHTTPS Endpoint

Charts

Overview

Headers

OverviewGenerator

Sponsors

OverviewGenerator

Contributors

OverviewGenerator
shieldcn

Member of the Vercel OSS Program

Analytics provided by OpenPanel

Monitored by Sentry

Powered by Neon.

Community

GitHubjal-co/uiStatsllms.txtPrivacyContact

Product

DocumentationAPI ReferenceToken PoolGeneratorAgent Skill

inspired by shields.io and badgen.net

Made with in by Justin Levine

Managed brands

Create a reusable brand — colors, theme, font, and logo — and reference it from any badge or README header by URL. Edit once, update everywhere.

A brand is a named, reusable set of style tokens owned by your account. Reference it from any badge or header URL and it applies the brand's colors, theme, font, and logo. Edit the brand in the dashboard and every embed that references it re-renders on the next fetch.

Managed brands are a Plus feature — one brand per account.

Creating a brand

Open the dashboard → Brands → Add brand. You can:

  1. Import from a domain — paste stripe.com and shieldcn pulls the logo, color palette, and description automatically, then generates an editable brand.md. Review everything before saving.
  2. Edit by hand — set a slug, name, description, palette, variant, theme, and upload logos/fonts.

The slug is what you reference in URLs. Pick something short — it becomes part of every embed (?brand=acme).

Referencing a brand

Two equivalent forms:

<!-- Query param -->
![build](https://shieldcn.dev/github/acme/app/ci.svg?brand=acme)

<!-- Pretty path -->
![build](https://shieldcn.dev/b/acme/github/acme/app/ci.svg)

The brand supplies theme, color, labelColor, valueColor, font, variant, radius, logo, logoColor, gradient, and mode when you don't set them explicitly.

Precedence

Explicit query params always win, so you can reference a brand and still override one value per badge:

![v](https://shieldcn.dev/npm/acme-ui.svg?brand=acme&variant=outline)

Precedence is explicit query param > brand value > default.

Brand logos and fonts

Once a brand has hosted assets, opt into them per badge:

<!-- Use the brand's hosted logo (mode-aware light/dark) -->
![build](https://shieldcn.dev/github/acme/app/ci.svg?brand=acme&logo=brand)

<!-- Render in the brand's uploaded font -->
![v](https://shieldcn.dev/npm/acme-ui.svg?brand=acme&font=brand)

font=brand-mono and font=brand-heading select the brand's other uploaded typefaces. See Hosted assets for the full list.

README headers

README header banners accept ?brand= too, so your header logo, colors, and font all follow the brand:

![header](https://shieldcn.dev/header/banner/Acme.svg?brand=acme&logo=brand)

Editing propagates everywhere

Because every embed references the brand by URL, editing the brand in the dashboard updates all of them. Propagation is bounded by a short cache TTL, so a rebrand shows up across GitHub's Camo proxy within minutes.

Unknown or deleted brands fail open: the badge renders with defaults instead of breaking. A shipped README badge is never a broken image.

Data & ownership

Brands belong to your account. Public visitors can consume your brand URLs (that's the point — they're on third-party READMEs) but cannot create or edit brands.

On This Page

Creating a brandReferencing a brandPrecedenceBrand logos and fontsREADME headersEditing propagates everywhereData & ownership