?

PseudoText Generator

How It Works

This tool generates pseudo-text by replacing words from your input with new, non-semantic words that mimic the original's phonetic and structural patterns. It does this using a character-level Markov Chain model (Meyn & Tweedie, 2009) built from a source text you provide.

The Algorithm (N-grams)

  1. Build Model: The generator reads your chosen source text (e.g., "The Little Prince") and breaks it down into small overlapping chunks of characters called n-grams (e.g., trigrams are 3 characters long). It learns which characters are likely to follow any given chunk.
  2. Generate Word: For each word in your input, it takes its length, picks a random starting n-gram from the model, and builds a new word character-by-character by predicting the most likely next character until the new word matches the original's length.
  3. Validate: The new word is checked against the source dictionary. If it already exists, the process repeats until a unique pseudo-word is found.
1. Model is built from source text: Source: "...constrictor..." co n on s ...etc 2. New words are generated: Original: "page" st Start with "st" sto Lookup "st" → "o" stor Lookup "to" → "r" Result: "stor"

This tool is inspired by UniPseudo (Boris et al., 2024), a new tool to generate readable pseudowords for psycholinguistic experiments. The present resource extends UniPseudo's methodology by adding robust support for (1) longer text support in another web interface and (2) Thai language support. We plan to extend this tool to Devanagari and Arabic, also using UniPseudo's framework.

This tool was developed by Héctor Mangas (MSc), for Typotheque's 2025 Weight Survey. The study needed a systematic approach to generate nonword stimuli in several scripts. The code for this page was generated with the help of LLM Gemini 2.5 Pro.

How to Use

  1. Paste Text: Add your content to the left panel.
  2. Select Script: Choose "Latin", "Thai", "Tamil", "Urdu", "Hindi", or "Japanese" based on your text. (The system will also try to auto-detect this!)
  3. Import Source: In the right panel, import a source text (or paste your own) to build the generation model. This is crucial for the generator to work.
  4. Adjust & Copy: Use the settings to fine-tune the output, then copy or download your new pseudo-text.

You can download the 812 lines of code to run this yourself here. This work is available under Creative Commons License BY-SA 4.0.