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
Nad Alaba 5cd8b0e6e4
fix(xp): displayed level-xp not calculated correctly, animations sometimes not playing correctly (NadAlaba) (#5379)
* new xp details calculation based on same level-xp-formula

* fix displayed xp on profile page

* fix xp-bar width on account-button

* change ordering to minimize code duplication

* animate xp bar between different levels when (endingLevel-startingLevel<1)

* refactoring and commenting on levels functions

* fix flash level animation

the animation of flashLevel() was not visible because the css property
'transition',
which was set to 0.125s in order to highlight the level on hover,
was conflicting with the parameters of jquery animate()

* annotate a clever trick and give more suitable variable names

* update function and variable names

* rename function

* naming

* reeename

* reeeeEeeeEeeeename

* rererereeeeeeeeeeeeee

name

* fix function names in comments

---------

Co-authored-by: Miodec <jack@monkeytype.com>
2024-05-15 15:17:06 +02:00
.github impr: build docker images for linux/arm64 on release (#5369) 2024-05-13 11:53:46 +02:00
.husky chore: disable commitlint in commit-msg hook 2023-08-13 12:34:54 +02:00
.vscode test: replace jest with vitest on backend (fehmer) (#5314) 2024-04-17 13:39:10 +02:00
backend test: update to vitest 1.6.0, use v8 coverage provider (#5389) 2024-05-13 13:25:21 +02:00
bin fix(changelog generation): remove unnecessary console log 2024-04-08 15:01:19 +02:00
docker fix(self hosting): remove extra quotations on firebase/recaptcha config (#5383) 2024-05-13 12:26:46 +02:00
frontend fix(xp): displayed level-xp not calculated correctly, animations sometimes not playing correctly (NadAlaba) (#5379) 2024-05-15 15:17:06 +02:00
shared-types refactor: live stats (#5352) 2024-05-02 17:33:17 +02:00
.dockerignore impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
.editorconfig
.eslintignore impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
.eslintrc.json chore: add no mixed operators rule 2024-02-17 17:24:41 +01:00
.gitignore impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +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
.release-it-fe.json build: replace webpack with vite (#5096) 2024-02-22 02:24:20 +01:00
.release-it.json build: replace webpack with vite (#5096) 2024-02-22 02:24:20 +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 impr(dev): allow docker compose to start the backend server (plbstl, Miodec) (#4995) 2024-02-28 14:17:09 +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
monkeytype.code-workspace test: replace jest with vitest on backend (fehmer) (#5314) 2024-04-17 13:39:10 +02:00
package-lock.json chore: release v24.20.0 2024-05-13 15:13:59 +02:00
package.json chore: release v24.20.0 2024-05-13 15:13:59 +02: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
SELF_HOSTING.md fix(self hosting): remove extra quotations on firebase/recaptcha config (#5383) 2024-05-13 12:26:46 +02: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.