Pixel-perfect Retina-ready Fast Consistent Hackable No tracking
Using dash "-" separator
/badge/<LABEL>-<MESSAGE>-<COLOR>
Dashes -- | → | - Dash |
Underscores __ | → | _ Underscore |
_ or Space | → | Space |
Using query string parameters
/static/v1?label=<LABEL>&message=<MESSAGE>&color=<COLOR>
/endpoint?url=<URL>&style<STYLE>
Create badges from your own JSON endpoint.
/badge/dynamic/json?url=<URL>&label=<LABEL>&query=<$.DATA.SUBDATA>&color=<COLOR>&prefix=<PREFIX>&suffix=<SUFFIX>
/badge/dynamic/xml?url=<URL>&label=<LABEL>&query=<//data/subdata>&color=<COLOR>&prefix=<PREFIX>&suffix=<SUFFIX>
/badge/dynamic/yaml?url=<URL>&label=<LABEL>&query=<$.DATA.SUBDATA>&color=<COLOR>&prefix=<PREFIX>&suffix=<SUFFIX>
The following styles are available. Flat is the default. Examples are shown with an optional logo:
?style=plastic&logo=appveyor | |
?style=flat&logo=appveyor | |
?style=flat-square&logo=appveyor | |
?style=for-the-badge&logo=appveyor | |
?style=social&logo=appveyor |
Here are a few other parameters you can use: (connecting several with "&" is possible)
?label=healthinesses | Override the default left-hand-side text (URL-Encoding needed for spaces or special characters!) |
?logo=appveyor | Insert one of the named logos from (bitcoin, dependabot, gitlab, npm, paypal, serverfault, stackexchange, superuser, telegram, travis) or simple-icons. All simple-icons are referenced using icon slugs. You can click the icon title on simple-icons to copy the slug or they can be found in the slugs.md file in the simple-icons repository. |
?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=violet | Set the color of the logo (hex, rgb, rgba, hsl, hsla and css named colors supported). Supported for named logos and Shields logos but not for custom logos. For multicolor Shields logos, the corresponding named logo will be used and colored. |
?logoWidth=40 | Set the horizontal space to give to the logo |
?link=http://left&link=http://right | Specify what clicking on the left/right of a badge should do. Note that this only works when integrating your badge in an<object> HTML tag, but not an<img> tag or a markup language. |
?labelColor=abcdef | Set background of the left part (hex, rgb, rgba, hsl, hsla and css named colors supported). The legacy name "colorA" is also supported. |
?color=fedcba | Set background of the right part (hex, rgb, rgba, hsl, hsla and css named colors supported). The legacy name "colorB" is also supported. |
?cacheSeconds=3600 | Set 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/npm/v/express
is https://raster.shields.io/npm/v/express
. For backward compatibility, the badge server will redirect .png
badges to the raster server.
Have an idea for an awesome new badge?
Tell us about it and we might bring it to you!