The most customizable typing website with a minimalistic design and a ton of features. Test yourself in various modes, track your progress and improve your speed.
Find a file
Jack b7d7cac99f
Word generation rewrite (#4258)
* fixed not being able to start an infinite custom test

* moved words bound function to a different file

* moved wordset class to the wordset file

* moved more code to test words

* moved to to new words generator

* removed unnecessary function

* unnecessary function

* reordered functions

* pushing to ret instead

* reordered lines

* moved code to a function, merged two functions into one

* refactor

* reorder

* removed comment

* setting config to array instead

* moved code

* added a check to protect against infinite init loop

* small refactor

* moved wordset definition

* moved text has tab check to the end

* moved ß replacement to getNextWord

* tracking current quote

* removed comment

* fixed type

* delaying words height and input position update

* moved tab testing code outside the word generato

* removed console log

* removed unnecessary word count variable

* moved funbox section to its own function

* fixed custom text not working correctly

* passing in previous words instead of always getting it from testwords

* missing type definition

* get next word now always returns one word, keeps track of the current section (mutli word "word")

* fixed incorrect limit for custom mode

* tracking section index

* - not updating language when group is other
 - activating funbox after language has been loaded
 - combined 2 language checks into 1
 - awaiting init calls

* greater or equal

* removed comment

* extracted quote generation to its own function

* prettier
2023-05-05 13:25:40 +02:00
.github Upgrade actions in workflows (#4232) 2023-04-30 11:20:09 -04:00
.husky updated to husky 8 2022-10-21 14:51:44 +02:00
backend Update PersonalBests Interface (#4158) Ferotiq 2023-05-03 11:39:32 +02:00
bin
frontend Word generation rewrite (#4258) 2023-05-05 13:25:40 +02:00
.editorconfig
.eslintignore
.eslintrc.json Require === and !== in Backend (#4086) Ferotiq 2023-03-20 12:11:21 +01:00
.gitignore added script to gitignore 2023-04-18 12:32:08 +02:00
.npmrc
.nvmrc
.prettierignore
.prettierrc
CODE_OF_CONDUCT.md
CONTRIBUTING.md Housekeeping (#3816) 2022-12-08 14:46:17 +01:00
CONTRIBUTING_ADVANCED.md Use the <kbd> tag instead of markdown code backticks (#4081) UnrealApex 2023-03-17 11:51:47 +01:00
CONTRIBUTING_BASIC.md Update CONTRIBUTING_BASIC.md (#3328) unrealapex 2022-07-09 14:15:23 +02:00
LANGUAGES.md converted required leftToRight to optional rightToLeft (#4229) 2023-04-26 23:34:13 +02:00
LICENSE
package-lock.json Add Monkey CI (#3799) 2022-12-05 18:52:15 +01:00
package.json Fix ESLint Error (#4026) ferotiq 2023-02-25 22:33:09 +01:00
QUOTES.md Corrected typo (#3402) JacoChong 2022-08-12 15:01:55 +02:00
README.md updated email addresses 2023-02-14 00:22:37 +01:00
SECURITY.md updated email addresses 2023-02-14 00:22:37 +01:00
THEMES.md Adding new theme earthsong and fixing typo on THEMES.md (#3756) Guillermo-N 2022-11-21 13:24:48 +01:00


TypeScript SASS HTML5

About

Monkeytype is a minimalistic and customizable typing test. It features many test modes, an account system to save your typing speed history, and user-configurable features such as themes, sounds, a smooth caret, and more. Monkeytype attempts to emulate the experience of natural typing during a typing test, by unobtrusively presenting the text prompts and displaying typed characters in-place, providing straightforward, real-time feedback on typos, speed, and accuracy.

Features

  • minimalistic design, with optional advertisements and focus mode while typing
  • type what you see, see what you type
  • live errors, wpm, and accuracy displays
  • variety of test lengths and languages
  • punctuation and numbers modes
  • quotes
  • themes
  • smooth caret
  • account system
  • challenges and just-for-fun test modifiers
  • and much more

Discord bot

On the Monkeytype Discord server, we added a Discord bot to auto-assign optional roles based on typing performance and challenge completion. You can find its code over at https://github.com/monkeytypegame/monkeytype-bot.

Bug report or Feature request

If you encounter a bug or have a feature request, send us an email, create an issue, create a discussion thread, or join the Discord server.

Want to Contribute?

Refer to CONTRIBUTING.md.

Code of Conduct

Before contributing to this repository, please read the code of conduct.

Credits

Montydrei for the name suggestion.

Everyone who provided valuable feedback on the original Reddit post for the prototype of this website.

All of the contributors that have helped with implementing various features, adding themes, fixing bugs, and more.

Support

If you wish to support further development and feel extra awesome, you can donate, become a Patron or buy a t-shirt.