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
Bruce Berrios 1eb71dc517
Add memoize async util (rewrite get json lists in misc) (#3596) Bruception Miodec
* Add memoize async util

* Stricter types

* type cast

* added getjson function

* removed unnecessary code
removed comments

* ignoring cache if value is undefined

* checking if layouts list exists

* messed up merge

* checking if layouts exist

* throwing if layouts list or layout is undefined

* catching in case layouts or layout is undefined

* catching in case layouts list or layout is undefined

* breaking in case layouts list is undefined

* showing a message if layout list is undefined

* removed console log

* themes list can return undefined

* removed catch from fetch json

* getlayoutslist no longer can return undefined

* console logging then throwing again

* rethrowing with a different message

* try catch

* catch

* try catching

* try catching

* typo

* url fix

* moved definition up

* moved functions up

* moved functions up

* removed unnecessary update

* catching errors

* updated return type
not returning

* try catching

* updated return type
throwing if list ends up undefined

* removed return

* moved functions up

* try catching

* checking if not undefined

* removed unused file

* try catching

* try catching

* rewrote language getting

* rewrote funbox

* try catching

* notification instead of console error

* notification instead of console error

* rewrote fonts

* rewrote challenges

* try catch

* typo

* rewrote contributors and supporters

Co-authored-by: Miodec <jack@monkeytype.com>
2022-10-30 22:53:24 +01:00
.github Housekeeping (#3374) 2022-08-08 16:16:07 +02:00
.husky updated to husky 8 2022-10-21 14:51:44 +02:00
backend not recording uids for now 2022-10-29 14:31:36 +02:00
bin Fix (#2550) 2022-02-20 22:29:39 +01:00
frontend Add memoize async util (rewrite get json lists in misc) (#3596) Bruception Miodec 2022-10-30 22:53:24 +01:00
.editorconfig Add .editorconfig (#1976) 2021-10-10 16:09:32 +01:00
.eslintignore remove run-script-os and change the script back (#2573) 2022-02-23 01:07:48 +01:00
.eslintrc.json added rule to avoid duplicate imports 2022-09-27 15:49:02 +02:00
.gitignore updated git ignore 2022-10-29 16:45:33 +02:00
.npmrc Enforce save exact (#2918) 2022-05-01 21:34:29 +02:00
.nvmrc chore: updated node/npm versions (#2440) 2022-02-08 00:28:56 +01:00
.prettierignore Add pretty check (#2990) bruception 2022-05-19 11:31:18 +02:00
.prettierrc TypeScript FrontEnd: Add Account Files (#2494) 2022-02-19 17:44:27 +01:00
CODE_OF_CONDUCT.md Update CODE_OF_CONDUCT.md to new verison (#2964) sillyangel 2022-05-11 14:16:08 +02:00
CONTRIBUTING.md Added basic information about redis. (#3495) victorKochkarev 2022-09-04 12:40:10 +02:00
CONTRIBUTING_ADVANCED.md backend server, not database 2022-10-18 12:35:40 +02:00
CONTRIBUTING_BASIC.md Update CONTRIBUTING_BASIC.md (#3328) unrealapex 2022-07-09 14:15:23 +02:00
LANGUAGES.md Update some document links (#2919) 2022-05-03 13:44:39 +02:00
LICENSE Create LICENSE 2020-05-30 00:30:54 +01:00
package-lock.json updated to husky 8 2022-10-21 14:51:44 +02:00
package.json updated to husky 8 2022-10-21 14:51:44 +02:00
QUOTES.md Corrected typo (#3402) JacoChong 2022-08-12 15:01:55 +02:00
README.md Update README link to discord bot (#3420) NaeNate 2022-08-22 13:57:44 +02:00
SECURITY.md Update Links to Use New Org Name (#3327) 2022-07-09 14:14:42 +02:00
THEMES.md fix basic typos (#3235) 2022-06-26 12:41:55 +02: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.