Press "Settings" to customize, "Generate" to begin, and "Random" for a random theme.
This site uses Markov chains to procedurally generate original names. Given a set of words as training data, the generator calculates the conditional probability of a letter appearing after the sequence of letters chosen so far. There are dozens of training presets, and the corpus can also be manually edited through the settings dropdown.
The generator maintains an array of models that look up to "n" characters back, where "n" is the maximum model order specified in the settings. The process starts by checking the highest order model, falling back to lower order models if necessary, using an approach called Katz's back-off model. As you increase the order setting, larger chunks of familiar words will appear in the generated output.
A Dirichlet prior is used to add a constant probability that any letter may be picked as the next letter. It acts like an additive smoothing factor, making the generated name content a bit more "random". In most cases it is best to keep this parameter small, but it can be useful to increase this if you aren't getting many results.
The generator generates as many names as possible, then filters and sorts the results according to tweakable criteria in the settings section. The length range parameter limits how many characters long the words are. The start, end, includes and excludes options limit the acceptable content of the word.
The similarity parameter allows you to sort the generated names by their similarity to the name that you enter. The similarity of the words is determined by the Damerau-Levenshtein distance.
This generator is suitable for generating all sorts of names - be they funny names, fantasy names, Scottish names, German names, Irish names, names of towns, animal names, theological names, werewolf names, all kinds of names.
If you have any suggestions, requests or comments then feel free to contact me.