Pick a handle.
Make it yours.
Adjective+noun, gamer tag, or your own pattern. Drop in a seed word to keep it personal, set a length cap to fit any platform, generate twenty at a time.
Style & settings
About this generator
The good username is dead. Every short handle was claimed in 2008, every cool word was squatted by 2014, and the platforms that matter all enforce minimums and uniqueness. Modern username design is less about creativity than collision avoidance — and that is exactly the kind of problem random generators solve well.
The trick is keeping handles typeable, memorable, and short enough to fit. Pure noise (a32jx9q) is unique but no one will remember to tag you. A real word plus a number (RaspberryDeer47) is collision-rare, sticks in the head, and slides under the 16-character cap most platforms enforce. That is what this tool optimizes for: combinations that read like names a person might choose, not random output that reads like a serial number.
Five styles are built in. Adjective+Noun is the safe default and what most people want. Noun+Noun reads quirkier (NebulaOtter, MetalKraken). Noun+Number is the gamer-tag classic. Adjective+Noun+Number stacks the lot for maximum uniqueness on big platforms. And Custom Pattern hands you a tiny template language — drop {adj}, {noun}, {num}, {seed} and any separators in any order, and we'll fill the slots.
One feature most generators skip: a seed word. Type your real first name, your project's name, or your dog's name and we'll splice it into every result. The output stays random where it matters (the modifiers) but personal where you want it. This is also how you make a coordinated set of handles for a project — same seed, different style, generate, done. If you need a password to go with the username, the password generator is two clicks away.
What people use it for
Five places this tool earns its keep.
Signup wizards
The "username taken" loop is the worst part of any onboarding. Generate ten candidates, paste them in one by one until one sticks, move on with your life.
Gaming handles
Steam, Discord, Riot, console launchers — each wants a unique tag. Adjective+Noun+Number gives a usable handle on almost any platform first try.
Throwaway accounts
For the forum you'll visit twice, the survey site, the trial subscription — you don't want a name tied to you. Random handle, random email, done.
Brand brainstorming
Picking a project name? Generate a hundred Noun+Noun combos with no numbers, scan for ones that sound like real products. Half the indie SaaS world was named this way.
Kid-safe first handle
Setting up a kid's first online presence shouldn't expose their real name. Generate a handle that's fun and obviously fake — Crimson Otter beats their birth name.
Roleplay & pseudonyms
RP forums, fanfic accounts, anonymous review sites. Drop the seed word for theme (e.g. "moon" for a fantasy world) and every handle stays in-flavor.
How it works
The picking
Each token ({adj}, {noun}, {num}) draws an index from its wordlist using crypto.getRandomValues with rejection sampling. A naïve random % N would slightly favor lower indices when N doesn't divide evenly into 2³². We discard out-of-range draws and re-roll until each entry is exactly 1/N probable.
The shaping
The chosen tokens are slotted into your pattern and the result is checked against your length cap. If it busts the cap, we try again — up to 12 retries per slot, swapping shorter words. If we still can't fit, we drop the number suffix as a last resort. You get exactly the count you asked for, all under the cap.
State & sharing
Style, count, length, seed, and pattern live in the URL query string and mirror to localStorage. Loading the URL anywhere recreates the exact configuration. Recent generations are kept locally for ten batches.
Common questions
Are these usernames actually available?
We can't check live availability across thousands of platforms — that would require API access nobody hands out. But the wordlists are large enough that combinations like CrimsonOtter47 rarely collide. Generate a batch, paste your favorite into the signup, see if it sticks.
If the first one is taken, the next is probably free. The space of possible Adjective+Noun+Number is well over a million.
What styles are supported?
Adjective + Noun (CrimsonOtter), Noun + Noun (NebulaOtter), Noun + Number (Otter47), Adjective + Noun + Number (CrimsonOtter47), and Custom Pattern with tokens {adj}, {noun}, {num}, {seed}. The "include numbers" toggle and length cap apply across all styles.
Can I include my real name or a seed word?
Yes. Drop a word into the seed field and it becomes part of every username. With a built-in style, the seed slots between the adjective and the number. With a custom pattern, you control where via the {seed} token.
Useful for personal handles where you want some recognition, or for branding a set of related accounts.
Why no special characters?
Most platforms allow letters and numbers; underscores are coin-flip; everything else is rejected outright. We stick to letters and optional digits so any name you copy can be pasted into any signup form without hitting validation errors.
If you need underscores or dots, the custom pattern lets you add them as literal separators — {adj}_{noun} works fine.
How long can a username be?
The length cap defaults to 16 characters, which fits most platforms (X is 15, Instagram is 30, Steam is 32, TikTok is 24). Bump it for longer handles or drop it lower for tight platforms. Names that exceed the cap are regenerated, so you always get exactly the count you asked for.
Can I share a specific style with my friends?
Yes. The page URL captures your style, length, seed, and pattern in the query string. Send the link, your friend gets the same kind of names you got. Hit Generate and the list is fresh — the configuration stays.
Is this free? Limits?
Free, no signup, no daily limit. You can generate up to 20 names per click and click as many times as you want. If you need a thousand at once for testing, ping [email protected] — we have an unlisted bulk endpoint.
Related generators
Pick something else for the same person.