Text Error Introducer

Randomly introduces typos into your text at a configurable error rate: for each affected word, it either swaps two adjacent letters, drops a letter, or duplicates a letter. A free online tool from Staaarter, right in your browser.

Runs locallyUpdated 2026-07-23

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.

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

Introducing typos at a 50% rate

Input

the quick brown fox

Output

the quikc brown fxo

Two of the four words happened to be selected and each received one typo: an adjacent-letter swap and a dropped letter.

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.

References

Frequently Asked Questions