Press any key and this tool timestamps every event using the browser's Performance API. Any two events from the same key arriving within 80ms of each other are flagged as contact bounce. See your fault rate, health score, and a recommended firmware debounce value.
The technical name is contact bounce or switch chatter. Understanding the mechanism helps you choose the right fix rather than wasting time on solutions that will not work for your specific situation.
Inside every mechanical keyboard switch are two metal contacts that physically touch when you press a key, completing an electrical circuit that registers as a keystroke. In a healthy switch, they touch cleanly and stay closed. In a worn or contaminated switch, the contacts bounce against each other for a fraction of a second before settling, meaning each bounce generates a separate electrical signal, which the keyboard controller reads as an additional keypress. This is contact bounce, and it happens entirely within the 10 to 50 millisecond window after your finger makes contact.
Every keyboard, mechanical or membrane, uses debounce logic to filter contact bounce. When a keypress is registered, the controller ignores all subsequent signals from that key for a set window, typically 4 to 8 milliseconds. Under normal conditions this completely masks the natural micro-bounce in a healthy switch. When a switch wears or becomes contaminated, the bounce window grows longer, eventually exceeding the debounce filter and leaking through as a second registered keypress.
Contact bounce is a degradation process, not a sudden failure. The gold-plated metal contacts develop microscopic pitting from electrical arcing over millions of actuations. Each impact leaves a slightly rougher surface that bounces a fraction longer. This is why a keyboard that occasionally double-types one week will reliably do it every few presses the following month, as the underlying wear is cumulative and does not reverse without intervention.
The tool listens for keydown events and timestamps each one using performance.now(). For each key, it tracks the time since the previous event for that same key. Any two events arriving within 80ms of each other, a window no human hand can physically replicate, are flagged as contact bounce. The interval is shown in the log so you can see exactly how far your worst-case events sit from the normal range.
Your operating system has a separate feature called key repeat, holding a key for about half a second and it starts firing repeated events automatically. This is intentional behaviour, representing how pressing backspace repeatedly deletes characters in text fields. OS key repeat has nothing to do with contact bounce and this test is not measuring it. This tool only counts deliberate single presses. If you hold a key and see multiple events, that is OS key repeat working correctly, not a hardware fault.
Keys that are pressed more frequently develop contact wear faster. For typing-heavy users, the home row letters, including A, S, D, E, T, and N, are typically first affected. For gamers, WASD keys, spacebar, and the left Control key accumulate wear fastest. The spacebar is particularly prone because its stabiliser adds torsional force to the switch actuation, which accelerates contact fatigue. If you want to isolate and test your spacebar specifically, you can use our spacebar speed test. Keys pressed gently and infrequently, such as F-keys and the number row, typically develop this problem last.
Knowing the specific cause of the problem points you to the specific fix. These are the four causes, in order of how commonly they occur.
The most common cause by a significant margin. With repeated use, the gold-plated contact leaves inside the switch develop microscopic pitting from electrical arcing. The contacts lose their spring memory and begin bouncing on contact. According to 2026 testing data, Cherry MX switches show measurable chatter in approximately 8% of units after two years of daily use. Kailh Box switches perform better due to a dust-resistant contact design. Optical and Hall Effect switches are immune entirely because they use no metal contacts.
The fault appears on the most-used keys first and gets progressively worse. Cleaning provides temporary relief but does not permanently fix worn contacts.
Debris beneath the keycap or inside the switch housing can interfere with clean contact closure. Dust particles between the contacts prevent them from making full contact on each press, causing irregular bounce. Liquid contamination, including even minor humidity in high-moisture environments, accelerates oxidation on the contact surfaces, which produces the same bouncing effect as mechanical wear. This is more treatable than pure wear because cleaning genuinely resolves contamination-caused faults.
Sudden onset after eating near the keyboard, working in a dusty environment, or high humidity periods. It responds well to compressed air and contact cleaner.
Keyboard firmware includes a debounce window, representing a brief delay during which repeated signals from a switch are ignored after the initial detection. Most keyboards ship with 4 to 8ms. A switch that is slightly worn but not critically degraded may produce bounce events that fall just outside the firmware filter window. Increasing the debounce time to 10 to 12ms in your keyboard's companion software can mask this without any physical intervention, often resolving early-stage double typing entirely. If you want to check if changing these settings impacts your key response times, you can measure switch delay using our keyboard latency test.
The fault appeared recently on a keyboard less than two years old. It is intermittent, meaning it happens only during fast typing, not slow deliberate presses.
Occasionally, a keyboard driver update introduces new debounce behaviour, or a companion software conflict causes duplicate input registration at the software level rather than the hardware level. This is the least common cause and is distinct from genuine contact bounce because the event timing is not sub-80ms. It also tends to affect all keys simultaneously rather than specific frequently-used ones. Uninstalling and reinstalling the keyboard driver, or testing in a different browser or operating system account, usually reveals whether this is the cause.
All keys are affected simultaneously. The problem appeared after a driver or software update and resolves when switching to a different USB port or operating system account.
The number and pattern of detected events tell you more than just "fault" or "no fault." Here is how to read the detail.
One detected event in 20 or more presses of the same key may be test sensitivity, so rerun that specific key before drawing conclusions. Two or more consistent detections below 40ms reliably indicate contact bounce requiring intervention.
The test is straightforward, but the way you press keys affects the quality of the result. These habits give you data you can act on.
The detector listens globally to keyboard inputs on the page. You do not need to click inside any specific text field or focus a special zone. Simply begin pressing keys on your keyboard, and they will register in the test tool immediately.
The goal is one clean press per key. Press firmly at your normal typing force and do not press unusually lightly or hard. Press and release, then move to the next key. You are not timing yourself and you are not trying to press fast. Deliberate single presses are what separate contact bounce events from everything else.
If you already have a hunch, such as the D key feeling wrong or seeing double letters when typing quickly, test those keys first. You can click the Lock button in the settings bar and press a key to isolate it, which ignores all other keys and lets you concentrate purely on that single switch. Press the suspected key five to ten times with a one-second pause between presses. Contact bounce is often intermittent early in a switch's degradation, so multiple presses increase the chance of catching it.
The log shows every event with the time gap from the previous event on the same key. Gaps above 200ms are your deliberate presses, which are clean and expected. Any gap below your chosen threshold (default 80ms) is contact bounce. The log marks these in red. The fastest repeat stat shows your worst-case interval across the whole session.
The 80ms default works for most keyboards. If you want to detect slower bounce events, you can increase the threshold up to 120ms or higher using the settings box. For keyboards with very fast firmware debounce where you want stricter detection, you can reduce it to 50ms or lower. The right threshold is the one that matches how your symptoms manifest in everyday use.
Review your overall health score, grade, and recommended firmware debounce threshold. You can copy the raw text report to your clipboard or download it as a JSON or CSV file. This report can serve as proof of switch chatter for warranty claims or guide your custom keyboard configuration.
These fixes are ordered from the simplest and cheapest to the most involved. Start at step one, as most cases are resolved without needing to reach step four or five.
| Fix Method | Effort | Permanence | Best When |
|---|---|---|---|
| Increase firmware debounce timeOpen your keyboard's companion software, such as Logitech G HUB, Razer Synapse, QMK Configurator, or VIA. Find "Debounce Time" and raise it from the default of 4 to 5ms to 10 to 12ms. Avoid going above 15ms because it adds perceptible input delay. | 2 minutes | Temporary, buys time as wear progresses | Fault is recent or only happens at fast typing speeds |
| Adjust OS repeat delayWindows: Settings, Accessibility, Keyboard, Repeat Delay, Long. macOS: System Settings, Keyboard, reduce Key Repeat Rate. Note: this affects OS key repeat, not genuine contact bounce, so only use this if firmware debounce is not accessible. | 2 minutes | Does not fix hardware contact bounce, only OS level repeats | No companion software available and want a quick stopgap |
| Clean with compressed airUnplug the keyboard. Remove the keycap from the affected key. Direct short bursts of compressed air around the switch housing to dislodge dust from between the contacts. Reattach the keycap and retest. | 5 minutes | Permanent if contamination was the cause | Problem appeared suddenly or keyboard is in a dusty environment |
| Clean switch with isopropyl alcoholUnplug the keyboard. Apply 2 to 3 drops of 90% plus isopropyl alcohol to the switch seam, not the keycap hole, using a dropper or cotton bud. Press the switch 20 to 30 times to work the cleaner through the contacts. Allow 20 minutes to dry before reconnecting. Do not use standard WD-40 because it leaves oily residue. | 15 minutes | Months of relief for mild wear and permanent for contamination | Compressed air alone did not resolve it and contacts appear oxidised |
| Use software debounce toolFree tools like Keyboard Chatter Blocker for Windows add a software filter layer that discards repeated events within a configurable window. Set the threshold to 10ms. This adds minor input latency and does not stop hardware degradation, so use it while planning a permanent fix. | 10 minutes | Temporary, worsens as the switch degrades further | No companion software and want a stopgap before repair |
| Replace the affected switchFor hot-swap keyboards: use a switch puller, remove the faulty switch, and press in a replacement, such as Kailh Box, Gateron, or Cherry MX costing about $0.50 to $2.00 each. For soldered keyboards: this requires desoldering the old switch and soldering the replacement, which takes about 30 to 60 minutes. A keyboard repair shop can do this if you lack the tools. | 30-60 minutes | Permanent | Cleaning and software fixes have not held and contacts are worn |
| Replace the keyboardIf multiple switches are affected or the keyboard is not worth repairing, replacement is the practical choice. Consider optical or Hall Effect switches for the next keyboard, which use light or magnetism instead of metal contacts, making contact bounce impossible by design. | Varies | Permanent | Multiple keys are affected or the keyboard is old or out of warranty |
Test your keyboard in a different browser or on a different computer. If the double typing only happens in one application, for example, only in a specific game, it may be a software input handling issue in that application, not a keyboard hardware fault. A hardware fault will be detected by this tool regardless of which browser, application, or operating system you use.
Accurate answers to what people genuinely ask when their keyboard starts typing letters twice, written to help you fix it, not to fill a page.