Walter van Heuven

About Lab    Research Publications Software > software > Pseudo>

Pseudo is a program that generates nonwords from a list of words by randomly substituting one or more letters, transposing two letters, or by adding/inserting/deleting one or more letters. Multiple constraints (e.g., minimum bigram or trigram frequency) can be applied so that the generated nonwords become word-like strings that are more likely pronounceable (i.e., pseudowords). Furthermore, generated nonwords can be checked against one or more lexicons to make sure that it is not an actual word in a language.

Screenshot of Pseudo

Pseudo also automatically checks whether a newly generated nonword is already in the list of generated nonwords. When the program is unable to generate a nonword (e.g., due to strict constraints), it adds a "<" and ">" around the source string and copies this to the list of nonwords. The program can also generate all possible nonwords from a single letter string. First, enter a single letter string as source and then select "Generate all nonwords" in the menu "Generate".

The program calculates (position specific and position non-specific) letter, bigram, and trigrams frequencies from a word frequency database (e.g., SUBTLEX-UK) and these can be used to generate more word-like nonwords. The lexicon file format needs to be plain text (e.g., ASCII, UTF8 format) with two columns separated by a space or tab. The first column should contain words and the second column word frequencies. Letter, bigram and trigram frequencies can be viewed in the program and saved to a text file.

Pseudo can generate nonwords in alphabetic and non-alphabetic languages. Vowels and consonants need to be defined for languages other than English and the character set of a non-alphabetic language can be imported into the program.

Pseudo runs on macOS, Windows and Linux computers. Java is required when using the jar version. macOS and Windows versions include OpenJDK.

Current version: 2.10

macOS: Pseudo.dmg


jar (requires OpenJDK 14 / Java SE 14):

Please note that the installer for macOS has not been notarized. To open the installer follow the instructions on this page, see section: How to open an app that hasn’t been notarized or is from an unidentified developer.