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.
Go to file
Jack 01790d8a3a
refactor: shared user types (#5080)
* move user to shared definitions

this includes whatever user can have on it, tags, presets and so on

* profiles, mail and others

* fix logic

* yeet

* same as master for now

* tsc fixes

* remove comment

* fix tests

* chore: omit ips

* fix(language): remove some unnecessarily capitalised words in german 1k

* fix(typing): first space sometimes soft locking the website

* perf: speed up settings page loading

* fix: use selected typing speed unit on personal best popup (fehmer) (#5070)

* fix: Use selected typing speed unit on personal best popup

* refactor

* refactor

* test coverage

* use Format in more places

* Make config mockable

* dependency injection

* wip

* fix

* test

* touch

* fix(language): typos in russian_10k.json (kae) (#5082)

* Update russian_10k.json

- fixed typos
- removed duplicates

* - fixed extra typos

* remove duplicates

* fix(language): typos in russian_10k.json

* feat: add copy missed words to result screen (fehmer) (#5086)

* feat: Add copy missed words to result screen

* remove margin

* update icons

---------

Co-authored-by: Miodec <jack@monkeytype.com>

* impr(funbox): add 46 group languages to wikipedia funbox (RealCyGuy) (#5078)

* impr: provide all-time LB results during LB update (fehmer) (#5074)

Try to provide LB results during the LB update. There is a very small time-frame where
already running queries might fail during the update. For now we keep the 503 error in this
cases and monitor how often this happens on production.

* impr(funbox): add ` (grave accent, 96) and ~ (tilde, 126) to specials (#5073)

* impr: add testWords and wordsHistory to copy result stats (#5085)

* feat: add testWords and wordsHistory to copy result stats

* fix

* add fe ts dep

---------

Co-authored-by: Christian Fehmer <fehmer@users.noreply.github.com>
Co-authored-by: Andrey Kuznetsov <akuznetsov@outlook.com>
Co-authored-by: Cyrus Yip <cyruscmyip1@gmail.com>
Co-authored-by: fitzsim <fitzsim@fitzsim.org>
2024-02-19 17:15:15 +01:00
.github chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +01:00
.husky chore: disable commitlint in commit-msg hook 2023-08-13 12:34:54 +02:00
backend refactor: shared user types (#5080) 2024-02-19 17:15:15 +01:00
bin chore: improve bulid changelog script 2024-01-24 13:44:30 +01:00
frontend refactor: shared user types (#5080) 2024-02-19 17:15:15 +01:00
shared-types refactor: shared user types (#5080) 2024-02-19 17:15:15 +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 chore: add no mixed operators rule 2024-02-17 17:24:41 +01:00
.gitignore chore: configure vscode-jest extension (#4962) 2024-01-24 20:44:43 +01:00
.npmrc Enforce save exact (#2918) 2022-05-01 21:34:29 +02:00
.nvmrc chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +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
.release-it-fe.json chore: testing frontend before release 2024-02-08 13:51:02 +01:00
.release-it.json chore: testing frontend before release 2024-02-08 13:51:02 +01:00
CODE_OF_CONDUCT.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
commitlint.config.js build: update allowed commit type 2023-08-10 23:19:51 +02:00
CONTRIBUTING.md docs: fix typos and grammar (LifeAdventurer) (#4818) 2023-11-28 14:13:04 +00:00
CONTRIBUTING_ADVANCED.md chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +01:00
CONTRIBUTING_BASIC.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
example.env build: add script to deploy backend server 2023-08-11 16:28:20 +02:00
LANGUAGES.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +01:00
LICENSE Create LICENSE 2020-05-30 00:30:54 +01:00
monkeytype.code-workspace refactor: pretty fix 2024-02-07 17:46:47 +01:00
package-lock.json chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +01:00
package.json chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +01:00
QUOTES.md Corrected typo (#3402) JacoChong 2022-08-12 15:01:55 +02:00
README.md docs: fix typos and grammatical errors (theranjitraut) (#4728) 2023-10-23 16:51:09 +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 a natural typing experience 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
  • a 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 have helped implement various features, add themes, fix 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.