Overview
Introduction
Testing a spell-checker, a fuzzy search, or an OCR-correction pipeline is easier with text that already contains realistic mistakes, rather than clean, error-free sentences.
This tool introduces plausible typos into any text you paste, at whatever rate you choose.
What Is Text Error Introducer?
A typo generator that walks through your text's words and, for a configurable percentage of them, applies one of three common typing mistakes: an adjacent-letter swap, a dropped letter, or a duplicated letter.
It runs entirely client-side as part of this site's String Tools collection, so nothing you paste is ever uploaded to a server.
How Text Error Introducer Works
For each alphabetic word in the input, the tool rolls against the error rate to decide whether that word gets a typo, and if so, picks one of the three mistake types at random and applies it to a random position in the word.
The randomness is seeded from your input text and error rate together, so the same input and settings always produce the same result rather than a new one on every run.
When To Use Text Error Introducer
Use it to generate test fixtures for a spell-checker, autocorrect feature, or fuzzy-matching search, or to simulate noisy OCR/handwriting-recognition output.
It's a fast way to get realistic mistakes without opening a code editor, a REPL, or writing a one-off script just to check.
Often used alongside Random Letter Remover, Random Symbol Remover and Find & Replace Tool.
Features
Advantages
- Produces three distinct, realistic typo types instead of just one.
- Deterministic output for a given input and error rate, useful for reproducible test fixtures.
Limitations
- Only affects alphabetic words of three or more letters; numbers and short words are never touched.
- Doesn't model keyboard-layout-aware mistakes like adjacent-key substitution.
Examples
Best Practices & Notes
Best Practices
- Use a low error rate (5-15%) to simulate occasional human typos, and a higher rate to stress-test error-tolerant matching.
- Re-run with a slightly different input if you need a fresh set of typo positions, since the same input and rate always reproduce the same result.
Developer Notes
Typo placement uses a mulberry32 PRNG seeded from a hash of the input text concatenated with the error rate, rather than Math.random(), so the transform is pure and reproducible: the same input and settings always yield identical output, which also keeps server-rendered and client-hydrated output in sync.
Text Error Introducer Use Cases
- Generating test fixtures for a spell-checker or autocorrect feature
- Stress-testing a fuzzy search or fuzzy-matching algorithm
- Simulating noisy OCR or handwriting-recognition output
Common Mistakes
- Setting the error rate to 100% and expecting every word to change; short words under three letters are always skipped.
- Assuming a re-run with identical input and rate will produce different typos; the result is deterministic.
Tips
- Pair this with a spell-checker tool to test how well it catches and corrects the introduced typos.