Enter your credential reference and first name, pick a shape and a theme, copy the code. Each badge links straight to your own verification result — no scripts, no fonts, no build step.
Every snippet is a single <a> tag with inline styles and an inline SVG. Paste it into any HTML embed — WordPress, Webflow, Framer, Squarespace, Ghost, a hand-written portfolio — and it renders the same. There is no stylesheet to load, so nothing on your page can break the badge and the badge cannot leak styles into your page.
Vue and Svelte take the HTML as-is. For React or Next.js use Copy JSX — the attributes and the style object are converted for you, ready to paste into a component.
Badges are set in the visitor's system font rather than Geist. A badge should look identical wherever it lands, and loading a webfont would make it depend on the host page. Credential IDs use the system monospace face so the characters stay unambiguous.
With ID prints the credential reference on the badge itself — the reader can check it against the verification page without clicking. Simple leaves it off for a quieter mark that sits better in a header, a signature or a design-led site.
Both link to the same place. Switching version changes only what is printed, never where the badge points.
The link carries your credential ID and first name, so the page opens on your result — this is true of the Simple version too, where the ID is in the href but not on the face of the badge. Publish a badge only for a credential actually issued to you — anyone can click it, and anything else returns “No public credential found.”