Result
This page has no server side at all. The table you paste is parsed by JavaScript inside your own browser, the chart is drawn on a canvas element on your machine, and the export file is assembled locally. Nothing is uploaded, stored or written to any log. You can disconnect from the network after the page has loaded and everything will still work — which is the simplest way to verify the claim yourself.
Facts and limits of this method
| Removed | Cyrillic letters а-яёА-ЯЁ and Latin letters a-zA-Z |
|---|---|
| Kept | Digits 0-9, punctuation, spaces, line breaks and any other characters |
| Accented Latin | é, ñ, ü and similar are outside a-zA-Z — not removed |
| Non-Russian Cyrillic | і, ї, ў and similar are outside а-яёА-ЯЁ — not removed |
| Case sensitivity | Both uppercase and lowercase are removed equally |
| Processing | Runs locally in the browser, nothing is sent to a server |
When it misleads you
- The letter ranges are а-яёА-ЯЁ for Cyrillic and a-zA-Z for Latin — nothing outside those two ranges is touched. Accented Latin letters like é, ñ, ü, accented vowels in French or German words, and Turkish ı/ğ pass straight through unchanged.
- Cyrillic letters unique to Ukrainian, Belarusian or other Cyrillic-based alphabets (і, ї, є, ў, ґ) are outside the а-яёА-ЯЁ range and are left in place. If your text mixes Russian with Ukrainian, only the Russian-range letters are removed.
- Digits, punctuation and whitespace are never touched, so removing letters from "Model X-500 (v2.1)" leaves " -500 (2.1)" — the letters disappear but the surrounding spacing and punctuation stay exactly where they were, which can look odd without a following cleanup pass.
- Emoji, currency symbols (€, $, ₽) and other non-letter Unicode characters are never touched — they are not letters in the a-zA-Z or а-яёА-ЯЁ sense, so the tool leaves them exactly as they are.
How it is calculated
The tool runs a single regular expression, /[а-яёА-ЯЁa-zA-Z]/g, over the text and replaces every match with nothing. It scans the text once, character by character.
The Cyrillic range covers the full Russian alphabet in both cases plus ё/Ё. The Latin range covers the 26 letters of the English alphabet in both cases — nothing more, nothing less.
Everything that isn't in one of those two ranges — digits, punctuation, spaces, line breaks, emoji, symbols from other alphabets — passes through unchanged, in its original position.
"Letters removed" is simply the difference between the original text length and the result length, since every removed character is exactly one letter.
Questions and answers
Does it remove accented letters like é or ñ?
No. Only plain a-zA-Z and а-яёА-ЯЁ are removed. Accented Latin letters and Cyrillic letters outside the Russian alphabet are left untouched.
What happens to the spaces where letters used to be?
Nothing — spaces, punctuation and digits stay exactly where they are. If you need the leftover gaps cleaned up, run the result through a separate spacing tool.
Does it work with mixed Cyrillic and Latin text?
Yes, in a single pass. Both alphabets are stripped at once, so mixed strings like product codes with Cyrillic and Latin letters are cleaned in one go.
Are digits or punctuation affected?
No, only letters are removed. Digits 0-9, punctuation marks, spaces and line breaks are left exactly as they were.
Is my text sent anywhere?
No. The whole operation runs in your browser; the text is never transmitted anywhere.