At one point, I was looking for a unique name for a character. After fumbling with trying to come up with a random name myself, I decided instead to write a script to analyze a source list of words, and generate new words based off of that.

This script works by taking a block of letters, and keeping a list of what the next possible letters are, along with how common it is.

For example, given the words through, test, temple, and the, we can see that to start any word, we would only be using the letter t. Then, if we have a t at the beginning of the word, we can go with either h or e. We pick one at random, and end up with "th".

The script then "forgets" the letters before and continues picking likely letters based off the last two letters only. It continues doing so until it runs out of possibilties, or the word starts getting too long and it increases the probability that the word ends.

I ended up not using anything I generated with this script as a character name, though. Who would name a kid "Jospermarmo", for example?

Download:namegen.tar.gzRequires: Web interface requires a running web server with CGI support.See it in action: You can also run this script in your web browser by clicking here!