Pixel-perfect   Retina-ready   Fast   Consistent   Hackable   No tracking


Discord:Discord badge/discord/:serverId
Discourse topics:Discourse topics badge/discourse/topics?server=https%3A%2F%2Fmeta.discourse.org
Discourse users:Discourse users badge/discourse/users?server=https%3A%2F%2Fmeta.discourse.org
Discourse posts:Discourse posts badge/discourse/posts?server=https%3A%2F%2Fmeta.discourse.org
Discourse likes:Discourse likes badge/discourse/likes?server=https%3A%2F%2Fmeta.discourse.org
Discourse status:Discourse status badge/discourse/status?server=https%3A%2F%2Fmeta.discourse.org
Gitter:Gitter badge/gitter/room/:user/:repo
Matrix:Matrix badge/matrix/:roomAlias
Matrix:Matrix badge/matrix/:roomAlias?server_fqdn=matrix.org
Stack Exchange monthly questions:Stack Exchange monthly questions badge/stackexchange/:stackexchangesite/qm/:query
Stack Exchange reputation:Stack Exchange reputation badge/stackexchange/:stackexchangesite/r/:query
Stack Exchange questions:Stack Exchange questions badge/stackexchange/:stackexchangesite/t/:query

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!