Pixel-perfect   Retina-ready   Fast   Consistent   Hackable   No tracking


APM:APM badge/apm/l/:packageName
AUR license:AUR license badge/aur/license/:packageName
Bower:Bower badge/bower/l/:packageName
Cocoapods:Cocoapods badge/cocoapods/l/:spec
Conda - License:Conda - License badge/conda/l/:channel/:package
CPAN:CPAN badge/cpan/l/:packageName
CRAN/METACRAN:CRAN/METACRAN badge/cran/l/:packageName
Crates.io:Crates.io badge/crates/l/:crate
Crates.io:Crates.io badge/crates/l/:crate/:version
CTAN:CTAN badge/ctan/l/:library
DUB:DUB badge/dub/l/:packageName
Eclipse Marketplace:Eclipse Marketplace badge/eclipse-marketplace/l/:name
GitHub:GitHub badge/github/license/:user/:repo
Hex.pm:Hex.pm badge/hexpm/l/:packageName
NPM:NPM badge/npm/l/:packageName
NPM:NPM badge/npm/l/:packageName?registry_uri=https%3A%2F%2Fregistry.npmjs.com
Ore License:Ore License badge/ore/l/:pluginId
Packagist License:Packagist License badge/packagist/l/:user/:repo
Packagist License (custom server):Packagist License (custom server) badge/packagist/l/:user/:repo?server=https%3A%2F%2Fpackagist.org
PyPI - License:PyPI - License badge/pypi/l/:packageName

Your Badge


Using dash "-" separator


Dashes --- Dash
Underscores ___ Underscore
_ or Space    Space

Using query string parameters






Create badges from your own JSON endpoint.






The following styles are available. Flat is the default. Examples are shown with an optional logo:


Here are a few other parameters you can use: (connecting several with "&" is possible)

?label=healthinessesOverride the default left-hand-side text (URL-Encoding needed for spaces or special characters!)
?logo=appveyorInsert one of the named logos from (bitcoin, dependabot, discord, gitlab, npm, paypal, serverfault, stackexchange, superuser, telegram, travis) or simple-icons. Simple-icons are referenced using names as they appear on the simple-icons site. If the name includes spaces, replace them with dashes (e.g: ?logo=visual-studio-code)
?logo=data:image/png;base64,…Insert custom logo image (≥ 14px high). There is a limit on the total size of request headers we can accept (8192 bytes). From a practical perspective, this means the base64-encoded image text is limited to somewhere slightly under 8192 bytes depending on the rest of the request header.
?logoColor=violetSet the color of the logo (hex, rgb, rgba, hsl, hsla and css named colors supported). Supported for named logos but not for custom logos.
?logoWidth=40Set the horizontal space to give to the logo
?link=http://left&link=http://rightSpecify what clicking on the left/right of a badge should do (esp. for social badge style)
?labelColor=abcdefSet background of the left part (hex, rgb, rgba, hsl, hsla and css named colors supported). The legacy name "colorA" is also supported.
?color=fedcbaSet background of the right part (hex, rgb, rgba, hsl, hsla and css named colors supported). The legacy name "colorB" is also supported.
?cacheSeconds=3600Set the HTTP cache lifetime (rules are applied to infer a default value on a per-badge basis, any values specified below the default will be ignored). The legacy name "maxAge" is also supported.

We support .svg and .json. The default is .svg, which can be omitted from the URL.

While we highly recommend using SVG, we also support .png for use cases where SVG will not work. These requests should be made to our raster server https://raster.shields.io. For example, the raster equivalent of https://img.shields.io/v/npm/express is https://raster.shields.io/v/npm/express. For backward compatibility, the badge server will redirect .png badges to the raster server.

Like This?

Have an idea for an awesome new badge?
Tell us about it and we might bring it to you!