Blog
Text tools

Keep only letters in text

Paste your text and everything that isn't a letter (Cyrillic or Latin) or a space is removed — digits, punctuation, emoji and other symbols disappear, leaving just the words. Optionally collapses the resulting whitespace down to single spaces so the output reads cleanly.

Your data never leaves this device

Result

Characters removed

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

Kept Cyrillic letters а-яёА-ЯЁ, Latin letters a-zA-Z, and whitespace
Removed Digits, punctuation, emoji, currency signs and any other non-letter characters
Accented Latin é, ñ, ü and similar are outside a-zA-Z — removed along with the rest
Non-Russian Cyrillic і, ї, ў and similar are outside а-яёА-ЯЁ — removed along with the rest
Collapse option On by default; folds runs of whitespace into single spaces and trims the ends
Processing Runs locally in the browser, nothing is sent to a server

When it misleads you

How it is calculated

The tool runs a single regular expression, /[^а-яёА-ЯЁa-zA-Z\s]/g, over the text — the leading ^ means it matches anything that is NOT a letter or whitespace — and replaces every match with nothing.

The letter ranges are the same as elsewhere on this site: the Russian Cyrillic alphabet in both cases plus ё/Ё, and the 26-letter Latin alphabet in both cases. Whitespace (spaces, tabs, line breaks) is preserved by the pattern itself.

If the collapse option is checked, a second pass runs afterward: consecutive whitespace characters are folded into a single space, and leading/trailing whitespace is trimmed from the whole result.

"Characters removed" is the difference between the original text length and the result length after both steps, so it reflects the collapse step too when that option is on.

Questions and answers

What exactly counts as a letter here?

Only а-яёА-ЯЁ (Russian Cyrillic) and a-zA-Z (plain Latin). Accented Latin letters and non-Russian Cyrillic letters are treated as non-letters and removed.

What does the collapse option do?

It's on by default. After stripping non-letters, it folds any run of leftover spaces into one and trims the start/end of the result, so you get clean single-spaced words instead of gaps where punctuation used to be.

Can I use this to extract just the words from a messy string?

Yes, that's the main use case — pulling readable words out of text mixed with codes, prices, punctuation or emoji, like extracting a name from "John Smith, age 34 (ID #482)".

What happens to numbers mixed into words, like "item2"?

The digit is removed and the letters on either side are joined directly: "item2description" becomes "itemdescription" — there's no way to tell where a number used to sit once it's gone.

Is my text sent anywhere?

No. The whole operation runs in your browser; the text is never transmitted anywhere.

Related tools

All tools