1001Ferramentas
🏷️Utilities

Shields.io Badge Builder

Builds a shields.io badge URL from label, message and color, ready to embed in READMEs.


  

That colored pill at the top of a README

You want the familiar grey and green build passing pill in your README, but the shields.io URL has its own grammar: label, message and color separated by hyphens inside the path. The trouble starts when your own text contains a hyphen and the badge splits in the wrong place. This builder writes the correct URL and hands you the Markdown line ready to paste.

The rule that solves most of the confusion is shields.io's own escaping: inside the path a hyphen separates the three parts and an underscore renders as a space. To show a literal hyphen you write two of them, and the same goes for a literal underscore. The tool applies that doubling before URL-encoding, so type your text normally and let it handle the conversion. What comes out is always a static badge in the default style.

This is the fixed badge endpoint: it does not query your CI, read a version from package.json, or accept style and logo parameters. If you want a pill that updates itself with each build, you need the dynamic shields endpoints, which are different URLs entirely. For colors, use names like brightgreen, blue, orange and lightgrey, or a plain hex value without the hash. The URL is built in your browser and the page shows no image preview.

Frequently asked questions

How do I put a space in the badge text?
Just type a normal space and let URL encoding handle it. If you prefer editing the URL by hand, shields.io also reads an underscore as a space.
Can I make a badge that shows the real build status?
Not with this URL, which is the static badge endpoint. Shields.io offers service-specific endpoints, such as GitHub Actions or npm, that query the source and render the live value.
Can I use a hex color?
Yes. Put only the digits in the color field, such as 4c1 or 007ec6, leaving out the hash so the URL stays clean.

Related Tools