What this tool removes
Special characters are the symbols, marks and pictures that sit alongside ordinary letters and numbers: # $ % & * @ ~ brackets, punctuation, emoji, arrows, bullets and many more. They cause trouble in file names, usernames, database fields, spreadsheet imports and URLs. This tool removes them and keeps what you choose to keep.
By default it keeps letters from any alphabet, digits, spaces and line breaks. Everything else goes.
How to use it
- Paste your text into Your text. The clean version appears under Clean text straight away.
- Under Letters to keep, choose Any alphabet to keep letters in every language, or A to Z only for plain English letters.
- Use the option buttons to decide what else stays: Keep numbers, Keep spaces, Keep line breaks and Keep basic punctuation.
- Type any other characters you need into Also keep these characters, such as
-for hyphenated names or@._for email addresses. - Under Replace removed characters with, choose Nothing or A space.
- Press Copy or Download.
The note under the tool tells you how many characters were removed.
Options explained
Any alphabet keeps all letters, including accented letters and other scripts such as Greek, Cyrillic, Hindi or Chinese. The marks that combine with letters in many scripts are kept too, so words are not broken.
A to Z only first turns accented letters into their plain form (é to e, ü to u, ß to ss, æ to ae). Then it removes any letter that is still outside A to Z. Use it for file names, URLs and systems that only accept plain ASCII text.
Keep basic punctuation keeps these characters: full stop, comma, exclamation mark, question mark, apostrophe, double quote, hyphen, colon, semicolon and round brackets. Useful when you want readable sentences without symbols or emoji.
Replace removed characters with: A space puts a space where each character was. That stops words from joining together when a symbol sat between them, as in “red*green”. Double spaces created by the removal are reduced to one, and spaces at the start and end of lines are trimmed.
Examples
Each result below was produced by the tool.
| You paste | Settings | Result |
|---|---|---|
| Hello, World! #2024 | Default | Hello World 2024 |
| Order #4521 (paid) ** Ship to: José @ 12 Main St.!! |
Default | Order 4521 paid Ship to José 12 Main St thanks |
| Café Ωmega | A to Z only | Cafe mega |
| Price: $5.99 (today only)! | Keep basic punctuation | Price: 5.99 (today only)! |
| Email: [email protected]! | Also keep @._ | Email [email protected] |
| red*green&blue | Replace with a space | red green blue |
| Wi-Fi password: abc#123! | Also keep - | Wi-Fi password abc123 |
| Room 12B | Keep numbers off | Room B |
Notice the Greek letter in “Café Ωmega”. With A to Z only, the é becomes e, but the Ω is not part of the English alphabet, so it is removed.
Common uses
- File names: remove characters such as / \ : * ? “ < > | that Windows and macOS do not allow.
- Usernames and IDs: many sign-up forms accept only letters and numbers.
- Spreadsheet and database imports: stray symbols break CSV files and SQL queries.
- Social media text: strip emoji and decorative symbols before reusing a caption elsewhere.
- Search and matching: compare product names or addresses without punctuation getting in the way.
- Slugs and URLs: combine A to Z only with A space, then replace spaces with hyphens.
Tips and limits
- If the result has words stuck together, switch to A space.
- Turning Keep line breaks off joins every line. Choose A space as well, or the last word of one line will meet the first word of the next. For more control over line breaks, use the line break remover.
- With A to Z only, text written entirely in another script, such as Russian or Chinese, will be removed completely.
- Fancy Unicode fonts, such as bold or script letters copied from social media, are treated as symbols and removed. Convert them to normal letters first with the plain text converter.
- To deal only with spaces, tabs and blank lines, the whitespace remover is a better fit. For underscores in file names and variable names, use the underscore remover.
How it works
The tool looks at each character in turn and asks a few questions. Is it in your keep list? Is it a line break, a space, a letter, a number or basic punctuation, and is that group switched on? If the answer is yes, it stays. If not, it is removed or replaced with a space. Letters and numbers are recognized with Unicode categories, which is why letters in any language are handled correctly.
Other ways to remove special characters
Excel: Excel 365 has =REGEXREPLACE(A1,"[^A-Za-z0-9 ]",""). In older versions, you need nested SUBSTITUTE formulas or Find and Replace, one symbol at a time.
Google Sheets: =REGEXREPLACE(A1,"[^A-Za-z0-9 ]","") removes everything except plain letters, digits and spaces.
Microsoft Word: Find and Replace with wildcards turned on, finding [!A-Za-z0-9 ] and replacing it with nothing.
JavaScript: text.replace(/[^\p{L}\p{N}\s]/gu, '') keeps letters and numbers in any language.
Python: re.sub(r'[^\w\s]', '', text) keeps letters, digits, underscores and whitespace.