Generates random English words ranked by real-world frequency from a one-billion-word corpus. Useful for typing practice, placeholder content, and testing.
npm install gentextimport gentext from "gentext";
// 25 random words with default settings
gentext();
// 10 nouns only, drawn from the full dictionary
gentext({
numberOfWords: 10,
type: "nouns",
frequencyThreshold: 0,
});
// 40 words, 80% nouns
gentext({
numberOfWords: 40,
nounToVerbRatio: 0.8,
});| Option | Type | Default | Description |
|---|---|---|---|
type |
"nouns" | "verbs" | "nouns-and-verbs" |
"nouns-and-verbs" |
Which word types to include. |
numberOfWords |
number |
25 |
Number of words to return (capped at the pool size — see below). |
frequencyThreshold |
number (0–1) |
1 |
Controls how much the word pool is restricted to high-frequency words. 1 = only the most frequent words; 0 = the entire dictionary. |
nounToVerbRatio |
number (0–1) |
0.5 |
Noun-to-verb ratio when type is "nouns-and-verbs". Higher values produce more nouns. |
The built-in dictionaries contain a finite number of words:
| Constant | Value | Available when type is |
|---|---|---|
MAX_NOUNS |
2 886 | "nouns" |
MAX_VERBS |
609 | "verbs" |
MAX_WORDS |
3 495 | "nouns-and-verbs" |
If numberOfWords exceeds the available pool, the output is silently capped at the pool size. You can import the constants to check or enforce limits in your own code:
import gentext, { MAX_NOUNS, MAX_VERBS, MAX_WORDS } from "gentext";Word lists are derived from wordfrequency.info, based on the one-billion-word Corpus of Contemporary American English (COCA) — the only corpus of English that is large, up-to-date, and balanced between many genres.