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
NeraShi c2691b334e
impr(quotes): add Russian quotes (@NeraShi) (#7152)
### Description

Some quotes from my favourite literature.

### Translations
id_1151: Almost five years! There were probably moments today when the
living Daisy did not quite match the Daisy of his dreams - and it was
not her fault, but the immense life force of the image he had created.
This image was better than her, better than anything in the world. He
shaped it with the genuine passion of an artist, constantly adding
details, decorating every bright feather that came into his hand. No
tangible, real charm can compare to what a person can accumulate in the
depths of their imagination.
id_1152: Gatsby believed in the green light, the gleam of an incredible
future happiness that recedes each year. Even if it eluded him today,
tomorrow we will run faster, reach further... And one fine morning... So
we try to swim forward, struggling against the current, and it keeps
pushing our little boats back into the past.
id_1153: They say emotional wounds heal - a thoughtless analogy to
bodily injuries, but in life it is not so. Such a wound may shrink,
partially close, but it is always an open wound, even if no larger than
a pinprick. The trace of suffered pain can perhaps be compared to the
loss of a finger or sight in one eye. You come to terms with the injury,
remembering it maybe only once a year - but when it suddenly comes to
mind, there is no help for it.
id_1154: Youth is like a plate piled high with sweets. Sentimental
people claim they would like to return to the simple, pure state in
which they existed before tasting the sweets. This is incorrect. They
would like to experience those pleasurable sensations again.
id_1155: Self-sacrifice, like a high elective office or inherited power,
for some people at some times is a luxury, yet it brings not guarantee
but responsibility, not calm but desperate risk. By its own inertia, it
can push one to ruin — an emotional wave causes it, and the person is
left alone forever on a bare rock of hopelessness.
id_1156: There is so much within me that I want to express. But it is
all so immense. I cannot find the words, I cannot convey what is inside.
Sometimes it feels as if the whole world, all of life, everything in
existence resides within me and demands: be our voice. I feel, oh, I
don’t know how to explain... I feel its vastness, and when I begin to
speak, it comes out as childish babble. How difficult it is to convey
feeling, sensation in words, on paper or aloud, so that the reader or
listener feels the same as you. It is a great task.
id_1157: Facing life in all its forms, whirling in its changing vortex,
Martin learned one rule: when playing an unfamiliar game, give the first
move to another. This rule saved him thousands of times, honing his
observation. He knew how to scrutinize the unknown and wait until a
weakness or vulnerable point revealed itself. Just as in a boxing match,
you test the opponent to find a weakness. And once found, - long
experience taught him - use it fully.
id_1158: Wherever he went, he was liked by everyone, because whether in
work or in play, he remained true to himself, always ready and able to
fight for his rights and demand respect. But he never put down roots.
Those around him were pleased, but he himself was never fully content.
There was no peace in him; he was constantly drawn and beckoned,
wandering through life, not knowing what he sought or where the call
came from, until he discovered books, creativity, and love.
id_1159: The dream of love was more important to him than the dream of
knowledge. The world seemed wondrous not because it consisted of
molecules and atoms obeying some mysterious laws - it seemed wondrous
because Ruth lived in it. She was a miracle, one that had never appeared
to him even in dreams.
id_1160: In the mouths of these people, the books he had read came
alive. They spoke passionately, fervently. Thought burned them, as
alcohol or anger might burn others. Philosophy was no longer dry printed
lines from legendary demigods like Kant or Spencer. Philosophy had come
alive, embodied in these two, filled with boiling crimson blood,
transforming their faces.

### Checks

- [x] Adding quotes?
- [x] Make sure to include translations for the quotes in the
description (or another comment) so we can verify their content.
- [x] Check if any open issues are related to this PR; if so, be sure to
tag them below.
- [x] Make sure the PR title follows the Conventional Commits standard.
(https://www.conventionalcommits.org for more info)
- [x] Make sure to include your GitHub username prefixed with @ inside
parentheses at the end of the PR title.
2025-11-26 23:31:24 +01:00
.github chore: bump node version 2025-10-31 14:18:59 +01:00
.husky chore: update hooks 2025-08-10 13:18:21 +02:00
backend chore: upgrade typescript 2025-11-24 13:33:49 +01:00
docker chore: bump node version 2025-10-31 14:18:59 +01:00
docs docs: Add author name requirement to PR titles (@fehmer) (#7089) 2025-11-12 12:34:12 +01:00
frontend impr(quotes): add Russian quotes (@NeraShi) (#7152) 2025-11-26 23:31:24 +01:00
packages feat(funbox): Add rot13 funbox (@Leonabcd123) (#7116) 2025-11-26 22:40:10 +01:00
.dockerignore
.editorconfig
.eslintignore chore: bump eslint typescript plugin (@miodec) (#6915) 2025-08-26 22:12:27 +02:00
.gitignore chore: update nodejs to 24.10.0 (@fehmer) (#7035) 2025-10-27 13:38:37 +01:00
.npmrc chore: switch from npm to pnpm (#5690) 2024-07-30 22:36:19 +02:00
.nvmrc chore: bump node version 2025-10-31 14:18:59 +01:00
.prettierignore ci(assets): use zod in json-validation (@fehmer) (#6902) 2025-08-27 15:23:26 +02:00
.prettierrc
commitlint.config.cjs chore: remove gulp dependency (@NadAlaba) (#6889) 2025-08-20 20:10:41 +02:00
knip.json chore: move knip to project root (@fehmer) (#6842) 2025-08-07 15:00:43 +02:00
LICENSE
monkeytype.code-workspace chore: reorder folders 2025-11-23 22:21:02 +01:00
package.json chore: release v25.48.0 2025-11-26 13:17:33 +01:00
pnpm-lock.yaml chore: upgrade typescript 2025-11-24 13:33:49 +01:00
pnpm-workspace.yaml chore: switch from npm to pnpm (#5690) 2024-07-30 22:36:19 +02:00
README.md docs(readme): shields link to their respective websites rather than to the images source (@matthew-wright07) (#6931) 2025-09-03 09:47:58 +02:00
turbo.json build: rename json-validation to check-assets, improve error messages (@fehmer) (#6933) 2025-09-03 18:10:34 +02:00
vitest.config.ts test: support to run/watch all tests in vscode (@fehmer) (#6868) 2025-08-13 11:14:21 +02:00


ChartJs Eslint Express Firebase Fontawesome HTML5 JQuery MongoDB OXLint PNPM Redis SASS TsRest Turborepo TypeScript Vite Vitest Zod

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.

Security

To report a security vulnerability, please refer to SECURITY.md.

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.