Pixel-perfect   Retina-ready   Fast   Consistent   Hackable   No tracking


Chromium HSTS preload:Chromium HSTS preload badge/hsts/preload/:domain
Mozilla HTTP Observatory Grade:Mozilla HTTP Observatory Grade badge/mozilla-observatory/:format/:host?publish
NodePing status:NodePing status badge/nodeping/status/:checkUuid?down_color=lightgrey&down_message=offline&up_color=blue&up_message=online
NodePing uptime:NodePing uptime badge/nodeping/uptime/:checkUuid
Security Headers:Security Headers badge/security-headers?url=https%3A%2F%2Fshields.io
Uptime Robot ratio (30 days):Uptime Robot ratio (30 days) badge/uptimerobot/ratio/:monitorSpecificKey
Uptime Robot ratio (7 days):Uptime Robot ratio (7 days) badge/uptimerobot/ratio/7/:monitorSpecificKey
Uptime Robot status:Uptime Robot status badge/uptimerobot/status/:monitorSpecificKey
Website:Website badge/website?down_color=lightgrey&down_message=offline&up_color=blue&up_message=online&url=https%3A%2F%2Fshields.io

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!