Speedtype Lab / Scoring

8 min read

What Backspace and Corrections Change in a Speedtype Result

Learn how attempted keystrokes, unresolved errors, completed words, and the current word affect a Speedtype result after corrections.

Written and reviewed by SaurabhLast reviewed August 18, 2026

Evidence checked: Input workflow, edit-distance logic, and scorer tests. Product behavior and limitations are described for the current release.

Corrections affect two different records

When you press Backspace, the visible input changes. The history of attempted typing does not.

Speedtype keeps those ideas separate:

  1. The attempt counter records accepted character attempts during the run.
  2. The comparison state records errors that remain in completed words and the word currently being typed.

Gross WPM uses the first record. Errors, net WPM, and accuracy use both. This is why removing a mistake can clear a red mark without reducing gross activity as if the original keystroke never occurred.

A simple correction sequence

Suppose the target begins with market.

You enter:

markwt

The w is wrong at position five. Before completing the word, you press Backspace twice to remove wt, then enter et.

The final visible word is market. The unresolved mismatch is gone, but the run included more typing activity than six clean characters. The exact attempted total depends on which keyboard events the input handler accepted. Backspace itself is not counted as a printable character; replacement characters are attempts.

At the result stage, gross WPM can therefore be slightly higher than it would be for a perfectly clean six-character entry, while unresolved Errors can be zero. That is not the same as claiming the correction was free. The additional attempts remain in the denominator used for accuracy.

How completed words are compared

After a word is followed by whitespace, Speedtype commits it and compares it with the corresponding target word. The comparison uses edit distance: the minimum number of single-character insertions, deletions, and substitutions needed to turn the typed word into the target word.

Consider three examples:

TargetCompleted inputMinimum edits
pacepace0
pacePace1 substitution
paceplace1 insertion
pacepac1 deletion

Using a word boundary prevents one missing character from shifting every later character in the whole passage. The next word is evaluated against the next target word rather than against a permanently displaced character stream.

This does not make word order flexible. If complete words are omitted or inserted, the word positions no longer describe the same passage, and errors can accumulate across those word slots.

How the current word is compared

The current word has not been committed yet, so its missing suffix is not treated as an error. If the target is confidence and the current input is conf, those four entered characters can all be correct. The six characters that have not been typed are simply future work.

If the current input is conF, one typed position is already wrong because comparison is case-sensitive. The app can mark that position immediately. If you correct it before moving on, the unresolved current-word error disappears.

This current-word rule is important for live feedback. Counting an untyped suffix as wrong would make the error count start high and fall during ordinary typing, which would not describe actual mistakes.

Trailing spaces do not create ghost words

A completed word normally includes a space as the action that moves to the next target word. The scorer avoids treating a trailing space as an extra empty word. Automated tests cover the case where a correct phrase ends with a space and confirm that no ghost error appears.

Whitespace is still meaningful. Extra internal spaces or whitespace that commits a wrong word can affect the comparison. The safeguard is narrow: normal completion should not invent a missing word after the final correct token.

What net WPM deducts

Speedtype calculates correct attempted characters as attempted keystrokes minus unresolved errors, clamped at zero. It then converts those correct attempts into five-character units per minute.

For a 60-second run with 75 attempts and two unresolved errors:

Gross WPM = 75 / 5 = 15.0
Correct attempted characters = 75 - 2 = 73
Net WPM = 73 / 5 = 14.6
Accuracy = 73 / 75 = 97.33%, displayed as 97%

If several earlier mistakes were corrected, the attempt total may already include their replacement characters. The Errors value of two describes what remains unresolved, not every wrong key ever pressed.

The four worked results show the same formulas across clean, case-mismatch, and error-heavy inputs.

Why this is a product choice, not a universal law

Typing tools differ in how they handle corrections. Some disable Backspace. Some count every corrected mistake as a permanent error. Some report only the final text. Some use word-based penalties instead of character-based penalties.

Speedtype's current model tries to preserve activity in gross WPM while making the final unresolved text visible in errors and net WPM. That model has a limitation: users who correct aggressively and users who rarely correct may reach similar final text through different attempt histories. The result fields help expose part of that difference, but they do not reconstruct every edit.

Do not compare Speedtype values directly with another site until you know whether its correction and error rules match. Even identical labels can hide different formulas.

A reproducible Backspace check

Run this controlled experiment:

  1. Open Practice and select a one-minute session.
  2. Reset so the timer and attempts start from zero.
  3. Type the first five displayed characters correctly.
  4. Type the next character incorrectly.
  5. Observe the live error marking.
  6. Press Backspace once and enter the correct character.
  7. Continue for a short, clean fragment.
  8. Let the result finish or complete the passage.
  9. Record gross WPM, net WPM, accuracy, errors, and keystrokes.
  10. Repeat after Reset without making the deliberate error.

Use the same passage only if the Reset behavior preserves it; otherwise treat the exercise as a behavior check rather than a score comparison. The expected observation is that the unresolved visual error clears after correction while the replacement contributes to attempted activity.

Cases worth reporting

A useful defect report includes enough detail to repeat the state. Report the target word, typed sequence, Backspace sequence, whether a space was entered, language, browser, operating system, and input method.

These would be functional defects:

  • a corrected current-word character remains red;
  • a wrong-case character is accepted as correct;
  • a normal trailing space creates an additional missing word;
  • one missing letter makes every later word appear wrong despite correct word boundaries;
  • Reset leaves attempts or errors from the prior session.

Submit the smallest reproducible example through Feedback and Support. For the broader scoring contract, refer to the methodology, which is the maintained reference rather than relying on an old screenshot.

Reproduce it, then report the mismatch

Product documentation is useful only while it matches the app. Keep the settings and smallest input sequence that expose a difference, and include those facts in a correction report.