Random word generator
Invented words you can say the first time you see one, built from a real language's own syllables and checked against the dictionary.
Coinages
Nothing yet — press Coin words, or try one of the starters below.
Why this word
Pick a coinage above to see how it was built.
Starters
Each pins a seed, so it gives everybody the same words.
What it is costing
What these numbers mean
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
Optional and free. Kept words live on your account, not this browser, so they follow you.
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 — 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.
Questions people ask
How is this different from a random letter generator?
Where the randomness happens. Sampling letters gives you qxlpht. This samples syllables out of an inventory a particular language would actually use, under that language's own constraints - which onsets may begin a word, which vowels may follow which consonants, how many consonants may meet at a syllable boundary, what may close a word. The result is a word you can say the first time you see it.
What does the language flavour control actually change?
The whole grammar, not a letter-frequency table. Each flavour has its own onset, vowel and coda inventories split by position in the word, its own probabilities for open versus closed syllables, its own ceiling on consonant clusters at a syllable boundary and its own set of word-final elements. Two of them differ at the level of rules rather than inventory: the Turkic-ish flavour enforces vowel harmony, so the first vowel decides the backness of every vowel after it including the one in the suffix, and the Arabic-ish flavour does not assemble syllables at all - it picks three root consonants and pours them into a vowel pattern, the way words in that family are actually built.
Could a generated word turn out to be a real word?
Does it check for offensive words or trademarks?
Both, with honest limits. A curated offensive-term list covering English and several widely-spoken European languages is always on and cannot be switched off; anything matching it is discarded and never displayed. A list of well-known trademarks is checked by default and can be switched off. Neither list is exhaustive and neither can be: the offensive list does not cover most of the world's languages, and a real trademark search covers millions of registrations across dozens of classes and jurisdictions.
Why does the same seed give the same words?
Because the randomness is a seeded generator rather than the browser's. The seed appears in the address bar, so a batch of coinages is a link somebody else can open and get the same list - which is what makes a shortlist worth sending to a colleague, and what makes every example on the page reproducible.
Does this cost credits or need an account?
No. There is no AI model behind this app, so there is no run to meter and nothing to charge for. It is completely free and works signed out. Signing in is optional and does one thing: it lets you keep the words you liked on your account, so they follow you to another browser and can be searched by meaning later.