How punctuation stripping works
The strip set is fixed and matches the most common punctuation found in English copy: . , ; : ! ? ' " ( ) [ ] { } - _ * @ # $ % ^ & + = ` ~ / \ | < >. The set also includes the en dash and em dash. Letters, digits, spaces, tabs, and line breaks are not in the set, so they always survive. Unicode punctuation outside this set (smart quotes, ellipsis, fullwidth marks) is not removed by default; paste it into find and replace if you need finer control.
The Keep field is a character-by-character whitelist. Type the marks you want to keep, no separator needed. Common patterns: ., to keep periods and commas in prose, . alone to keep decimal points, @-_. to keep email and URL punctuation. Whitelisted characters are checked one codepoint at a time, so multi-byte symbols work fine.
The pass walks the input one character at a time and writes to a new string, dropping any character that is in the strip set and not in your keep list. Output runs on every keystroke in your browser, no upload involved. To remove every non-letter character including numbers, follow up with remove numbers.
How to use remove punctuation from text
- 1Paste your text into the input panel on the left.
- 2Read the result on the right with the default punctuation set removed.
- 3Type marks you want to retain into the Keep field, no spaces needed.
- 4Tweak the keep list until the output matches what you want.
- 5Click Copy to take the cleaned text.
Keyboard shortcuts
Drive TextResult without touching the mouse.
| Shortcut | Action |
|---|---|
| Ctrl F | Open the find & replace panel inside the input Plus |
| Ctrl Z | Undo the last input change |
| Ctrl Shift Z | Redo |
| Ctrl Shift Enter | Toggle fullscreen focus on the editor Plus |
| Esc | Close find & replace, or exit fullscreen |
| Ctrl K | Open the command palette to jump to any tool Plus |
| Ctrl S | Save current workflow draft Plus |
| Ctrl P | Run a saved workflow Plus |
What this tool actually does
Fixed strip set covers ASCII punctuation
The set hardcoded into the strip is .,;:!?'"()[]{}-_*@#$%^&+=`~/\|<> plus en dash and em dash. Anything in this set is removed unless your keep list rescues it. The set is intentionally narrow so you can predict the output.
Keep field whitelists marks per character
The Keep field reads one character at a time. Type ., to keep periods and commas, . alone to keep decimal points in numbers, @-_. to keep email-friendly marks. There is no need for separators or quotes around the characters.
Letters, digits, and whitespace pass through
Anything outside the punctuation set is untouched: A through Z and a through z, 0 through 9, accented letters, CJK characters, emojis, spaces, tabs, and newlines. To remove digits as well, follow this with remove numbers.
Unicode punctuation outside the set survives
Smart quotes (", ", ', '), ellipsis (...), bullets (·), and other typographic marks are not in the strip set. They pass through untouched. Use find and replace if you need to target them specifically.
Walks the input one codepoint at a time
Implemented as a single linear pass with no global regex, so behaviour is predictable on tricky strings. The Keep lookup is a simple set check, so adding marks to the keep list does not slow the pass perceptibly.
Worked example
Default settings strip every mark in the set. Add ., to Keep if you want commas and periods to survive.
Hello, world! Don't say "that's not it." (Why?)
Hello world Dont say thats not it Why
Settings reference
| Setting or behaviour | Effect on output |
|---|---|
| Keep field (default empty) | Whitelist of single characters to leave alone. ., keeps periods and commas, . alone keeps decimal points. |
| Default strip set | Removes . , ; : ! ? ' " ( ) [ ] { } - _ * @ # $ % ^ & + = ` ~ / \ | < > plus en dash and em dash. |
| Letters and digits | Always pass through. Use remove numbers for digits. |
| Whitespace | Always passes through. Use remove extra spaces if leftover gaps need tidying. |
| Smart quotes and Unicode punctuation | Pass through. Run find and replace if you need to target them. |
| Emojis and accented letters | Pass through. Use remove emoji or remove accents as separate passes. |
FAQ
How do I keep periods and commas in my text?
., into the Keep field, no separator. Both characters will then survive every pass while the rest of the punctuation set still gets stripped. To also keep apostrophes, use .,'.Does it remove smart quotes and curly apostrophes?
", ", ', ') and the ellipsis (...) are Unicode punctuation outside the default ASCII set, so they pass through. Use find and replace to target them, or paste through a smart-to-straight converter first.Will it strip numbers as well?
What about hyphens inside compound words?
well-known becomes wellknown. To keep hyphens, add - to the Keep field. The same trick works for any character: drop it into Keep and the strip leaves it alone.