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 ff7816aac0
refactor: custom text modal rework (#5278)
* start work on saved texts popup

* passing options through, async fill to not block animation

* handle apply

* custom text modal start

* full save custom text modal refactor

* remove import

* full finish on saved texts modal

* fill when chain re-shows it

* fix issues where opening chains within chains would show two modals

* extract type

* add support for passing data between modals

* dont leave the popup if no words were found

* use modalchaindata instead of setting popup state directly

* handling set and append modes in chain data

* move tab insertion code into the custom text modal file

* use chain data instead of state module

* move event handlers to a different file / to the setup function

* move file

* rename file

* rename id

* remove unused line

* add generics to incoming and outgoing modal chain data

* rework the way custom text textarea is handled

* update long custom text warning

* remove variable

* remember to update the state
2024-04-05 13:18:26 +02:00
.github impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
.husky
.vscode impr: add selfhosting using docker only (fehmer) (#5170) 2024-03-12 12:02:13 +01:00
backend impr(profile/account page): show leaderboard rank percentage (fehmer) (#5212) 2024-03-25 12:36:25 +01:00
bin fix(changelog): make sure to always add body property to avoid errors 2024-04-02 19:08:13 +02:00
docker fix: docker build hanging for frontend (fehmer) (#5280) 2024-04-05 12:16:04 +02:00
frontend refactor: custom text modal rework (#5278) 2024-04-05 13:18:26 +02:00
shared-types impr(profile/account page): show leaderboard rank percentage (fehmer) (#5212) 2024-03-25 12:36:25 +01: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
.nvmrc chore: update node version to 18.19.1 (#5060) 2024-02-15 21:23:29 +01:00
.prettierignore
.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
commitlint.config.js
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
example.env
LANGUAGES.md
LICENSE
monkeytype.code-workspace refactor: get actual rank with the user data instead of using lbmemory (fehmer) (#5189) 2024-03-11 20:29:18 +01:00
package-lock.json chore: release v24.14.0 2024-04-02 19:13:02 +02:00
package.json chore: release v24.14.0 2024-04-02 19:13:02 +02:00
QUOTES.md
README.md
SECURITY.md
SELF_HOSTING.md fix: self-hosting failing to run without valid serviceAccountKey.json (fehmer) (#5255) 2024-04-02 11:54:57 +02:00
THEMES.md


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.