Remove punctuation
Strips punctuation and symbols, optionally keeping apostrophes and hyphens.
Press the button and every punctuation mark and symbol is removed, leaving letters, numbers and spaces. Double spaces created by the removal are collapsed so the text stays readable.
What counts as punctuation
This is where tools differ, and the difference matters. A simple implementation lists the punctuation on a US keyboard and removes those. That leaves behind everything your text actually contains once it has been through a word processor: curly quotes, em dashes, ellipsis characters, guillemets, the Spanish inverted question mark, Chinese full stops, and dozens more.
This tool removes anything Unicode classifies as punctuation or a symbol, whatever the language. Straight and curly quotes, all the dash widths, brackets of every kind, mathematical and currency symbols. What survives is letters in any alphabet, digits, and whitespace.
Keeping apostrophes and hyphens
The option exists because these two marks are often part of words rather than punctuation around them. Remove them and "don't" becomes "dont", "it's" becomes "its", and "state-of-the-art" becomes "stateoftheart" — three words fused into one nonsense token.
If you are preparing text for word counting, frequency analysis or a word cloud, keep them. If you are normalising text for comparison, where "dont" and "don't" should match, remove them. Both are legitimate; the wrong one silently skews your numbers.
What this is for
- Text analysis. Frequency counts and word clouds treat "word." and "word" as different tokens unless you strip punctuation first. Our frequency counter handles this internally, but other tools often do not.
- Search and matching. Normalising both sides of a comparison so punctuation differences stop causing misses.
- Speech and voice. Some text-to-speech engines read punctuation aloud or pause oddly at it.
- Passwords and identifiers. Stripping to alphanumerics for systems that reject symbols.
- Language exercises. Producing an unpunctuated text for students to punctuate.
If you need to keep only letters and numbers, with no punctuation and optionally no spaces, the second button is stricter and covers that.
Doing it without this tool
Excel: nested SUBSTITUTE calls, one per mark. Around fifteen levels in you hit the nesting limit
and still have not covered curly quotes.
Word: Find & Replace with wildcards, searching [!A-Za-z0-9 ]. It works for English and
deletes accented letters along with the punctuation, which is rarely intended.
Command line: tr -d '[:punct:]' < file.txt. The POSIX punct class covers ASCII only, so curly
quotes and em dashes survive.
Python: s.translate(str.maketrans('', '', string.punctuation)) — same ASCII-only limitation. The
Unicode-aware version is re.sub(r'[\p{P}\p{S}]', '', s) with the regex module, since the
standard re module does not support those categories.
Runs entirely in your browser. Your text is never uploaded — open DevTools, Network tab, and you will see zero requests while you use this tool.
How to use it
- Paste your text into the box.
- Decide whether apostrophes and hyphens should stay — tick the option if your text has contractions or hyphenated words.
- Press "Remove punctuation".
- Use "Keep letters and numbers only" instead if you also want symbols and everything else gone.
Related tools
Frequently asked questions
Yes. It removes anything Unicode classifies as punctuation or a symbol, not just the marks on a US keyboard, so smart quotes, ellipsis characters and every dash width are handled.
Keep them if you are counting or analysing words, otherwise the contraction don’t becomes "dont" and hyphenated words fuse together. Remove them if you are normalising text so that punctuation differences stop mattering in comparisons.
No. Letters in every alphabet are preserved, including accented Latin, Cyrillic, Greek and CJK characters. Only punctuation and symbols are removed.
Runs of two or more spaces created by the removal are collapsed to one, so the text does not end up with visible gaps.
Yes, emoji are symbols and go with the rest. If that is all you want to remove, the remove emojis tool leaves everything else alone.