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 а-яёА-ЯЁ, Latin a-zA-Z, and digits 0-9 — all at once |
|---|---|
| Kept | Punctuation, spaces, line breaks, emoji and any other non-alphanumeric characters |
| Accented Latin | é, ñ, ü and similar are outside a-zA-Z — not removed |
| Non-Russian Cyrillic | і, ї, ў and similar are outside а-яёА-ЯЁ — not removed |
| Full-width and special digits | 0-9, ², ₃ and similar are outside 0-9 — not removed |
| Processing | Runs locally in the browser, nothing is sent to a server |
When it misleads you
- This combines the exact same two rules used by the standalone letter remover and digit remover: а-яёА-ЯЁ and a-zA-Z for letters, 0-9 for digits. Anything outside those three ranges — accented Latin, non-Russian Cyrillic, full-width or superscript digits — is left in place.
- What survives is essentially punctuation and symbols only: after this pass, "Invoice #INV-2024/09" becomes "# -/" — every letter and digit disappears, leaving a skeleton of separators and marks that on its own rarely reads as meaningful text.
- Currency symbols (€, $, ₽), emoji, math operators and any other non-alphanumeric Unicode characters are never touched, since they belong to neither the letter nor the digit ranges — they remain exactly where they were, sometimes clustered together once the surrounding content is gone.
- Because two independent character classes are stripped in a single pass, the result can look sparse very quickly on ordinary prose — this tool is best suited to short structured strings (codes, IDs, templates) rather than full paragraphs.
How it is calculated
The tool runs a single regular expression, /[а-яёА-ЯЁa-zA-Z0-9]/g, over the text and replaces every match with nothing. It scans the text once, character by character.
The pattern combines three ranges into one match set: the Russian Cyrillic alphabet in both cases plus ё/Ё, the 26-letter Latin alphabet in both cases, and the ten ASCII digits 0-9.
Everything outside those three ranges — punctuation, spaces, line breaks, emoji, symbols from other alphabets, currency signs — passes through unchanged, in its original position.
"Characters removed" is the difference between the original text length and the result length, since every removed character is either one letter or one digit.
Questions and answers
How is this different from removing just letters or just digits?
This tool combines both operations in a single pass: every letter (Cyrillic or Latin) and every digit 0-9 is removed together, rather than one at a time. Use the standalone letter or digit remover if you only need one of the two.
What's left after running this on a typical sentence?
Mostly punctuation, spaces and any symbols that aren't letters or digits — the result is usually sparse, since most ordinary text is made of letters. It's most useful on short structured strings like codes or IDs.
Does it remove accented letters or full-width digits?
No. Only plain a-zA-Z, а-яёА-ЯЁ and 0-9 are removed. Accented Latin, non-Russian Cyrillic and full-width or superscript digits fall outside those ranges and stay in the text.
Are emoji or currency symbols affected?
No, they're neither letters nor digits, so they're left untouched — they may end up sitting right next to each other once the surrounding letters and digits are gone.
Is my text sent anywhere?
No. The whole operation runs in your browser; the text is never transmitted anywhere.