License Key Generator
Software license keys, product activation codes, and serial numbers all share a common shape: short, grouped, readable strings like A1B2-C3D4-E5F6. This tool generates keys in that familiar format with full control over the layout and character set.
What you can configure
- Segments — how many groups the key is divided into (1 to 10). Five-segment
XXXX-XXXX-XXXX-XXXX-XXXXkeys are popular for desktop software. - Segment length — how many characters per group (2 to 12). Four- and five-character segments are the most readable.
- Separator — dash
-, underscore_, dot., space, or nothing. Choose whatever matches the rest of your product branding. - Character set — alphanumeric (A-Z + 0-9), alphabet only, digits only, hexadecimal, or your own custom characters.
- Exclude ambiguous — drop
I,O,0, and1, which are easily confused when typed by hand. Strongly recommended for keys customers have to read off a sticker. - Count — generate up to 50 keys at once for batch licensing.
Good license key practices
- Keep them short but entropic. A 20-character alphanumeric key (5 segments of 4) gives around 10^30 combinations — more than enough for typical product licensing.
- Avoid ambiguous characters in keys that humans will type (
I/1,O/0). - Store the issued keys server-side. This tool is a generator, not a key-management system. A generated key is not "valid" on its own — your backend has to record which keys you issued and to whom.
- Don't rely on the format for security. Licensing is an honour system; motivated attackers will eventually bypass client-side checks. Treat license keys as a convenience, not a protection mechanism.
How randomness works
Each character is drawn from the selected charset using crypto.getRandomValues, the browser's cryptographically secure random generator. Because the selection is uniform across the charset, every key is effectively unique — collisions are astronomically unlikely with any sensible length.
Common formats you can reproduce
- Microsoft / Office-style:
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX(5 × 5 alphanumeric) - Adobe-style:
XXXX-XXXX-XXXX-XXXX-XXXX-XXXX(6 × 4) - Indie-app style: 3 segments of 5 letters and numbers
- Hexadecimal serials: 4 segments of 8 hex characters
All keys are generated locally in your browser — they never touch a server and there is no usage limit.
Tiny Online Tools







