← SkillSafe / Random Word Generator free · runs in your tab

Random word generator

Words that do not exist and sound like they should. Not letters shaken in a bag — each one is built out of a real language's own syllables, so you can say it the first time you see it. Pick a flavour, set the length, and every result is checked against 126,000 real words so a coinage is never something that already means something.

Collision checks
Offensive terms — always on

Coinages

    Nothing yet — press Coin words, or try one of the starters below.

    Why this word

    Pick a coinage above and its construction shows here — the syllables it was built from, the shape they make, where the stress falls under this flavour's own rule, and any real words hiding inside it.

    Starters

    Each one sets the controls and pins the seed, so it produces the same words for everybody. They are picked so each shows a different thing the generator can do.

    What it is costing

    There is no model here and nothing to bill. What this app spends is wordlist bytes over the wire, a few milliseconds of your CPU per batch, and — only if you keep a word — a little storage. All three are shown rather than hidden.

    Sign in to see how much storage your kept words use.

    Words you kept

    Keeping is optional and free. Kept words live on your SkillSafe account rather than in this browser, so they follow you to another machine.

    How it works, in one page

    The thing that separates a word generator worth using from a random letter machine is where the randomness happens. Sampling letters gives you qxlpht. Sampling syllables out of an inventory a particular language would actually use, under that language's own constraints, gives you kavinor — a word you can say the first time you see it.

    So a flavour here is not a letter-frequency table. It is a grammar: which onsets may begin a word and which may only appear inside one, the vowel inventory including the digraphs that flavour's spelling actually uses, what may close a syllable in the middle of a word and what may close the word itself, how often a syllable is open, and a curated set of word-final elements. On top of that sit the hard constraints, which is where most of the realism lives.

    Three of those constraints do most of the work. Which onsets may meet which vowels: the Japanese-ish flavour has real gaps in its mora chart, so si, tu, hu, wo and ye are refused outright rather than merely made rare — no amount of frequency weighting expresses a hole. How many consonants may meet at a syllable boundary: every piece can be ordinary and the junction still unsayable, which is how a naive generator produces …ctnt…; the ceiling counts consonant sounds rather than letters, so sh costs one and str costs three, and it is set per flavour. And hiatus: an onsetless syllable after an open one puts two vowels together, and when the letters match you get an accidental long vowel belonging to no inventory at all.

    Two flavours differ at the level of rules rather than inventory, which is the real test of whether a "language flavour" control means anything. The Turkic-ish flavour enforces vowel harmony: the first vowel picks back or front and every vowel after it has to agree, including the one in the suffix, which is why -lar and -ler are one suffix and not two. The Arabic-ish flavour does not assemble syllables at all — it picks three root consonants and pours them into a vocalic pattern, the way words in that family are genuinely built, so two coinages from one root sound like relatives.

    The familiar-to-exotic dial is not a variety knob. Every segment in every inventory carries a tier: the plain everyday material of the flavour, the marked material, and the rare material. The dial is an exponent over that tier, so at the bottom of the range the rare segments are weighted down to roughly one part in eighty and effectively do not appear, and at the top they are on level terms with the common ones. The same dial scales the closed-syllable probabilities, because familiar words in every flavour here are more open and less clustered than marked ones — multiplicatively, so a flavour that declares no codas at all still has none at the top of the range.

    Then everything is checked. A coinage that is already an English word is not a coinage, so every candidate is looked up in SCOWL — 126,000 words and 14,000 proper names — and a hit is discarded and resampled rather than shown. A curated offensive-term list across several languages is always on and cannot be switched off. A list of well-known trademarks is checked by default. Short stems only match at a word edge, because substring-matching three-letter stems is how filters end up rejecting assam and Scunthorpe. None of the discarded candidates are displayed; the counts are, and for dictionary collisions the word that collided is too.

    The randomness is seeded, never Math.random. The seed sits in the address bar, so a batch is a link somebody else can open and get the same words — which is what makes a shortlist worth sending to a colleague.

    These are generated strings, not a clearance. The offensive list covers English and a handful of widely-spoken European languages and nothing else; the trademark list covers marks famous enough to recognise, while a real search covers millions of registrations across dozens of classes and jurisdictions. A clean result here means no obvious collision was found. It never means a name is safe to use.