Code name generator

Several months ago I updated the list of words and frequencies of occurrence that I’ve used in various natural language processing experiments (keyword search “ngrams”) over the years, to reflect last year’s update to the Google Books Ngrams dataset.

This past weekend I updated it again, to include the words in the WordNet parts of speech database developed by Princeton University, restricting to just those 63,745 terms consisting of single words of all lowercase letters, i.e., no capitalization, spaces, hyphens, or other punctuation.

Most– over 98%– of these words were already in the list. But including them lets us also use their categorization into parts of speech (nouns, verbs, adjectives, and adverbs), to automate the generation of random code names for your next super secret project.

Just select a random adjective, followed by a random noun, and you get Operation ALIEN WORK, or DISSENTING CITY, or one of my favorites, OCCASIONAL ENEMY. Weighting the random selections by word frequency keeps the code names reasonably simple, so that you don’t end up with Operation PARABOLOIDAL IMMIGRATION (although an unweighted sample did yield Operation YONDER KING, which sounds pretty cool).

The Python code name generator and word lists of parts of speech and corresponding frequencies are available on GitHub.


  1. Google Books Ngram Viewer Exports, English versions 20120701 and 20200217
  2. Princeton University “About WordNet.” WordNet. Princeton University. 2011.
This entry was posted in Uncategorized. Bookmark the permalink.

3 Responses to Code name generator

    • Interesting. There’s something to be said for a manually curated dictionary, even if it is a bit short– “commonly occurring” code words don’t necessarily lead to cool-sounding code phrases :). (On a related note, the example Python code is arguably a really bad example of appropriate actual use for a project. That is, I found it fun to generate a couple dozen code names at a time, and find at least one or two that were amusing… but in practice this would lead to “searching” for code names that might have some actual relationship with the project whose security you’re trying to protect.)

  1. Pingback: New project: Wheel of Fortune solver! (and Rust is still faster than Python) – Greg's Blog

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.