Badge Builder

1) Keypair
Enter base64url keys only (no JSON). Private = d, Public = x. Or generate a pair.
Private Key (d, base64url)
Keep d secret.
Public Key (x, base64url)
Alg: Ed25519 via crypto.subtle (native)
2) Sign
Uses the keys from section 1. Output updates automatically as you type. Format: 01 | sig(64) | varint(len) | message, base64url-encoded.
Payload (multiline)
Output Text (Packed Signed Output)
3) Verify
Independent of sections 1 and 2. Paste the packed blob and a public key (x) to verify & extract.
Text (Packed Signed Output, base64url)
Public Key (x, base64url)
Status
Extracted Payload
Compact format for “Output Text”: 01 | sig(64) | varint(len) | message, then base64url. URL-safe and smaller than JSON.

Scroll to Top