A black square-shaped head of a cartoon robot with yellow circular eyes



September 2023

This program makes acronyms out of people's names: you input a list of people's full names, and for each person, the program has the option of either using their first name or their last name, which greatly increases the number of possible words that can be spelt. To test it out, press the "Generate Acronames" button below.

Input Names List:

Loading wordlist...




My roommates and I wanted a name for our group: a name that was spelt with our first initials. My name is Ike Bischof, and for the sake of this demo, my roommates' names have been changed to Bruce Lee, Emma Watson, and Louis Armstrong, but their first and last initials have been kept the same.

Unfortunately, the only English word that can be spelt with our first initials is "BILE", which isn't the most flattering acronym. But it occured to me that if some of us used our last initial instead of our first, you could spell a lot more words than just "BILE", so I wrote this program, which checks every combination of first and last names against an English word list.

Eventually, I optimized the program enough that it could work with very large lists of names, and it even came up with the word "THERMOFORMABLE" as an acroname for every person in my circle of friends.

Try inputting the names of your friends, classmates, or colleagues. You can even include middle names if you want to increase the possibilities.

The Solar System

To see what the program is really capable of, we can input the names of the planets in the solar system.

Normally, there are no words that can be spelt with the standard initials for the planets, which is why we instead have to use mnemonics like "My Very Educated Mother Just Served Us Nachos" to remember them. However, the planets are named after Roman gods (except Earth and Uranus), and if you allow the program to optionally use the names of their Greek counterparts, then you can spell all sorts of words.

A crowd of Roman gods

The program can come up with even more words if you include optional celestial bodies, like the sun, Pluto, and other dwarf planets like Ceres and Eris. These bodies can be listed in [brackets] to tell the program that they're optional. Click the button below to try it out.

The main caveat is that the program will reorder the planets to spell words with them, so the resulting acronames will not help you remember the order of the planets.

How it works

  1. Prune the word list: The program uses a large word list that I downloaded from the internet, but depending on what names you input, many of the words on the word list will be unusable. For example, if none of your names start with an "X", then any words that have an "X" in them are unusable. Also, if your names list only has five people in it, then any words with more than five letters are unusable. So we should make a new word list that only includes words that are possible to be used as acronames. This new word list is called the "pruned" word list.
  2. Generate combinations: The program uses a special function that can generate every combination of names. For example, between my four roommates and I, there are: 2 * 2 * 2 * 2 = 8 ways to choose either a first or last name for each of us.
  3. Look for matches: For each combination, the program checks whether those initials can be used to spell any of the words in the pruned word list. The pruned word list will often still have thousands of words in it, so to make this process faster, the pruned word list is also indexed, which means that the words are categorized so that they're easier to find. Specifically, the words are categorized by the first three letters in the word when the letters are sorted alphabetically. This can vastly increase the speed of the program.