Esc Reset
0s
WPM: 0
Accuracy: 100%
0/0
⚠️ Note: Only ASCII text files are supported. Files with non-ASCII characters (Japanese, Chinese, etc.) may not display correctly.

        

Results

Page 1/10 characters
Time 0s
WPM 0
Accuracy 100%

Settings

🌙 Dark
☀️ Light
📜 Off
📃 On
After chars (0 = off)
Seconds (0-3):

Take a Break

Time for a short break.

Rest your hands and eyes before continuing.

WPM: 0
Time: 0s
Characters: 0

📖 Help & Guide

🚀 Getting Started

Select a practice mode from the dropdown menu and start typing to begin your session. The timer starts automatically when you type your first character.

Quick Tips:

  • New to typing? Start with TypeWell Original - Lowercase mode
  • Want to practice code? Select any Programming Language from the dropdown
  • Need a challenge? Try TypeWell Mode (no backspace allowed!)

⌨️ Basic Controls

  • Type: Start typing to match the displayed content
  • Backspace: Fix mistakes by pressing Backspace (Normal mode only)
  • Enter: Press Enter for new lines (shown as ⏎ symbol)
  • Spaces: Press Spacebar for spaces (incorrect ones display as ␣)
  • Tabs: Shown as → and require Tab key press

Note: Japanese, Chinese, and Korean characters are automatically skipped during typing practice.

📊 Understanding Statistics

  • WPM (Words Per Minute): Typing speed calculated from correctly typed characters. Formula: (characters / 5) / (time in minutes)
  • Accuracy: Percentage of correct keystrokes out of total keystrokes
  • Progress: Shows current position / total characters (e.g., "125/500")
  • Timer: Elapsed time since first keystroke
  • Mistakes: Tracked per-character for detailed analysis

🎮 Practice Modes

The app offers 12 different practice modes across 6 categories:

  • 💻 Programming Languages - Python, JavaScript, Java, C, C++, Rust, Lua
  • ⌨️ TypeWell Original - Random character drills with 4 difficulty levels
  • 🔤 TypeWell English Words - Vocabulary practice with NGSL word lists
  • ⚡ Initial Speed - Single character reaction time training
  • 📚 Word Practice - Individual word-by-word typing
  • 🔧 Custom Code - Practice with your own files and text

💻 Programming Languages Mode

Practice with real code from 7 popular programming languages:

  • Languages: Python, JavaScript, Java, C, C++, Rust, Lua
  • Page System: Long code is automatically split into 20-line pages
  • Mode Selection: Choose Normal (backspace allowed) or TypeWell (strict, no backspace)
  • Navigation: Use Page dropdown to jump between pages, or continue sequentially

Pro Tip: Use TypeWell mode for languages you want to master - it forces you to type accurately without relying on backspace!

⌨️ TypeWell Original Mode

Build fundamental typing skills with random character generation:

  • Format: 360 characters × 10 lines (36 chars per line)
  • Difficulty Levels:
    • 📝 Lowercase - a-z + space, comma, period
    • 📝 Mixed Case - a-z, A-Z + space, comma, period
    • 📝 With Symbols - All alphanumeric + symbols
    • 🔢 Numbers Only - 0-9 focused practice
  • Strict Mode: Backspace is completely disabled - stop on mistakes
  • Countdown: Configurable 0-3 second preparation time before start
  • Lap Times: Line-by-line completion tracking displayed in results

🔤 TypeWell English Words Mode

Improve typing speed while learning practical English vocabulary:

  • Format: 400 characters × 8 lines of English words
  • Word Sets:
    • 📚 Top 500 Words - Most frequent everyday words
    • 📚 Top 1500 Words - Extended vocabulary coverage
    • 📚 All Words - Complete 2809 word database
  • NGSL Database: Based on the New General Service List - scientifically validated frequency data
  • TypeWell Style: Strict mode with no backspace
  • Educational: Perfect for ESL learners and vocabulary building

License: NGSL by Browne, Culligan & Phillips, licensed under CC BY-SA 4.0

⚡ Initial Speed Mode

Train your reaction time and finger reflexes with single-character drills:

  • Character Sets:
    • 🔤 Lowercase + Punctuation - a-z, comma, period
    • 🔢 Numbers Only - 0-9
    • Left Hand - qwertasdfgzxcvb keys
    • Right Hand - yuiophjklnm,. keys
    • 🎯 Hand Primitive - Specialized left/right reflex training
  • Trials: Configure 5-20 attempts per session
  • Measurement: Millisecond-precise reaction time tracking
  • Anti-cheat: Detection and penalty for premature key presses
  • Statistics: Trial-by-trial breakdown with fastest/slowest/average times
  • Rankings: TOP3 records based on average reaction time

How it works: A character appears on screen. Press it as fast as possible. The time from character appearance to correct keystroke is measured.

📚 Word Practice Mode

Individual word-by-word typing practice:

  • Word Sets: Top 500, Top 1500, or All 2809 NGSL words
  • Session Length: Configure 5-20 words per session
  • Real-time WPM: Immediate speed calculation per word
  • Results: Word-by-word performance with best/worst tracking
  • First Key Analysis: Reaction time measurement for word recognition

Perfect for: Improving word recognition speed and building typing fluency with common vocabulary.

🔧 Custom Code Mode

Practice with your own content - perfect for learning specific codebases or documents:

  1. Click the "Custom" button to open the custom code panel
  2. Select typing mode: Normal (allows backspace) or TypeWell (strict, no backspace)
  3. Paste your code in the text area, or click "Choose File" to upload
  4. Enter a name and click "Save" to store for later use
  5. Use "Load" to select previously saved code from the dropdown
  6. Use "Delete" to remove saved code you no longer need

Supported Formats: .txt, .js, .py, .c, .cpp, .java, .rs, .lua, .md, .json, .html, .css, and more

Size Limit: Maximum 1MB per file

Note: Only ASCII text files are fully supported. Files with non-ASCII characters (Japanese, Chinese, etc.) may not display correctly.

📚 Page Navigation

Long code is automatically split into pages of 20 lines each for manageable practice sessions.

Navigation Options:

  • Page dropdown: Jump to any page directly
  • Next button: Continue to next page after completing current
  • Retry button: Practice current page again
  • Restart All button: Start over from page 1

Result Card Buttons:

  • Next (Enter): Proceed to next page or finish if last page
  • Retry (r): Practice current page again
  • Restart All (R): Start entire practice from beginning

🧘 Auto Break Feature

Prevent fatigue with automatic break reminders:

  • Setting: Configure character count threshold in Settings (0 = disabled)
  • Trigger: Break dialog appears when you reach the set character count
  • Smart Detection: Monitors cumulative typing across sessions
  • Resume: Click "Continue" button or press Enter to proceed
  • Break Stats: View current WPM, time, and character count during break

Recommendation: Set to 1000-2000 characters for regular break reminders. Take breaks to rest your hands and eyes!

📈 Statistics & Analytics

Click the 📊 Stats button to view comprehensive practice analytics:

📊 Graph Tabs:
  • 📈 Progress: Performance trends over time (line chart)
  • 📊 Compare: Side-by-side language performance comparison (bar chart)
  • ⚡ Speed: Initial Speed reaction time analysis (scatter plot)
  • ⌨️ Keys: Keyboard heatmap + mistake frequency chart
🎯 Mistake Analysis:
  • Overall Mistakes: Character-level tracking of all errors
  • Keyboard Heatmap: Visual QWERTY layout showing mistake frequency
  • Problem Characters: Top 8 most-mistyped characters
  • Initial Speed Mistakes: Separate tracking for reaction time mode
📋 Practice History:
  • Click language sections to expand/collapse
  • View all attempts for each page/part
  • Best records highlighted with 🏆 icon
  • Click column headers to sort history tables

⚙️ Settings & Customization

Click the ⚙️ Settings button to customize your experience:

🎨 Appearance:
  • Theme: Switch between Dark mode (🌙) and Light mode (☀️)
  • Text Wrap: Enable/disable line wrapping for long code lines
⏱️ Practice Settings:
  • Auto Break: Set character threshold for automatic break reminders (0-10000, 0 = off)
  • TypeWell Countdown: Preparation time before TypeWell modes (0-3 seconds)
💾 Data Management:
  • Export: Download all your data as JSON backup
  • Import: Restore data from previously exported JSON file
  • Delete All Data: Clear all settings, statistics, and custom codes
🎯 Color Coding:
  • 🟢 Green - Correctly typed characters
  • 🔴 Red - Incorrectly typed characters
  • ⚪ Gray - Characters not yet typed
  • 🔵 Blue background - Current cursor position

💡 Tips for Better Practice

  • 🎯 Focus on accuracy first: Speed will come naturally with practice. Aim for 95%+ accuracy before pushing speed.
  • ⌨️ Use proper finger positioning: Follow touch typing guidelines - home row position for best results.
  • 📅 Practice regularly: Short, frequent sessions (15-30 minutes) are more effective than occasional long sessions.
  • 🧘 Take breaks: Use the auto-break feature to prevent fatigue and RSI.
  • 🐢 Don't rush: Maintain a steady rhythm. Avoid "hunting" for keys.
  • 📊 Review your stats: Check the Stats panel regularly to identify patterns and weak points.
  • ⛔ Try TypeWell Mode: Strict mode (no backspace) builds better accuracy habits.
  • ⚡ Practice Initial Speed: Single character drills improve reaction time and reduce hesitation.
  • 🔄 Mix it up: Practice different languages and modes to build versatility.
  • 📈 Track progress: Use the Progress graph to see improvement over time.

⌨️ Keyboard Shortcuts Reference

Key Action When
Esc Reset and restart from beginning Anytime during practice
Enter Continue to next page / finish During results display
r Retry current page During results display
R Restart entire practice During results display
Enter Resume from break During break dialog
Enter / Space Start practice On start screens
Backspace Delete last character Normal mode only

🔧 Troubleshooting

  • App not responding: Refresh the page (F5 or Ctrl+R) to reset. Your data is safely stored.
  • Wrong character highlighted: Make sure you're typing exactly what's shown. Check for spaces (␣) and tabs (→).
  • Custom code not displaying: Ensure the file is plain text (UTF-8). Binary files won't work.
  • Stats not saving: Check that localStorage is enabled in your browser settings.
  • Break dialog not appearing: Check Auto Break setting is > 0 in Settings panel.
  • Graphs not showing: Ensure canvas is supported by your browser (all modern browsers support this).
  • Import not working: Make sure you're importing a valid JSON file exported from this app.
  • Dark/Light theme issues: Toggle the theme switch in Settings to refresh.

Still having issues? Try clearing browser cache or opening in an incognito/private window. All data is stored locally - no server involved!

🔒 Privacy & Data Storage

  • 100% Private: All data is stored locally in your browser using localStorage
  • No Server: This app works completely offline - no data is ever sent to any server
  • Your Control: You own your data. Export it anytime as JSON backup
  • Retention: Data persists for 365 days (browser standard) or until you clear it
  • Cross-Device: Use Export/Import to move data between devices

Data Stored: Practice statistics, TOP3 records, custom code files, theme preferences, mistake character data, and settings.

📊 Statistics

🎯 Frequent Mistakes (Overall)

0
Total Sessions
0
Average WPM
0
Best WPM
+0
WPM Improvement

🎯 Detailed Mistake Analysis

⚠️ DELETE ALL DATA
🚨
Are you sure you want to delete ALL your data?