Paste text to strip every emoji, including flags and family emojis, and tidy the gaps they leave. Click any emoji in the list to keep it.
This tool runs entirely in your browser. What you enter is never sent anywhere.Your input is never sent anywhere.
DetailsInput text
Options
Tidy spaces turns repeated spaces and tabs into one and trims each line. Replace with space stops words from running together, as in I💙you.
Result
Strip emojis, flags, and skin-tone variants in one pass
Many emoji are not one character. A flag is two letters, a skin tone is an emoji plus a modifier, and a family is several emoji joined by invisible characters. A simple search for single emoji characters misses the flag or leaves invisible joiners in your text.
This tool matches each emoji as a whole sequence, so the result has no stray modifiers or joiners. It also shows every kind of emoji it found, so you can click one to keep it and remove the rest.
After removal it can tidy the spaces the emojis leave behind, or put a space in their place so words do not run together.
When you need plain text
Social posts reused as formal copy
Turn a caption or a chat message into text for an email, a press release, or a report without deleting each emoji by hand.
Data going into a database or an API
Strip 4-byte emoji before an import so a legacy MySQL utf8 column does not reject the rows or cut the text.
Customer comments and survey responses
Clean exported text before you analyze it or paste it into a spreadsheet, and keep a few emoji if they carry meaning.
Meta tags, headings, and product titles
Remove emoji from titles and descriptions that need to be plain text, then check the length in the next tool you use.
How to strip emojis in 4 steps
- Paste your text into the Input text box.
- Check the Emoji found list. Click any emoji you want to keep, or use Keep all and click the ones to remove.
- Choose your options. Replace with space and Tidy spaces control the gaps left behind.
- Click Copy result.
Note: Everything updates as you type, so you can change an option and see the result at once.
What gets removed and what stays
- Removed: anything Unicode lists as an emoji, including faces, hands, animals, flags, keycaps like 1️⃣, skin-tone and family emojis, and symbols such as ♥, ✔, ⚠, ☀, and ✂.
- Kept: letters, digits, punctuation, text smileys like :), and plain symbols such as ★, →, •, ✓, and ♪.
- Keep © ® ™ is on by default and also keeps plain ℹ, ↔, and ▶. Turn it off to remove them.
- Tidy spaces is on by default. It merges repeated spaces and tabs into one and trims each line, across all of the text, so indentation is lost.
- A kept emoji is matched exactly, including its skin tone. Two skin tones of the same emoji are listed as two kinds.
How each kind of emoji is stored and removed
Emojis are built in different ways. This is what a one-character search leaves behind and how this tool handles each type.
| Type | Example | Made of | What a simple removal can leave | This tool |
|---|---|---|---|---|
| Single emoji | 😊 | One code point | Nothing | Removed |
| Flag | 🇺🇸 | Two regional indicator letters | The flag, because the pair is not matched | Removed as a pair |
| Family or profession | 👨👩👧 | Emojis joined by zero-width joiners (U+200D) | Invisible joiners | Removed with the joiners |
| Skin tone | 👋🏽 | Emoji plus a modifier (U+1F3FB–U+1F3FF) | The skin-tone modifier | Removed together |
| Keycap | 1️⃣ | Digit, U+FE0F, then U+20E3 | The digit or the combining keycap | Removed as one unit |
| Subdivision flag | 🏴 | Black flag plus invisible tag letters | Invisible tag characters | Removed with the tags |
Why leftovers matter. Invisible characters such as the zero-width joiner (U+200D) and the variation selector (U+FE0F) do not show on screen. They still count as characters and can make text that looks identical compare as different.
Invisible leftovers and database errors from emoji
Why emoji cause trouble outside the screen, and what a clean removal changes.
Zero-width joiners and variation selectors
A zero-width joiner (U+200D) glues emoji into one picture, and a variation selector (U+FE0F) asks for the colored form of a symbol. Neither shows on screen.
If a tool deletes only the visible emoji, these characters stay in the text and can throw off character counts, string comparisons, and unique-value checks.
Why MySQL utf8 columns reject emoji
Emoji need 4 bytes in UTF-8, but MySQL's utf8 character set stores at most 3 bytes per character. Inserting one can raise ERROR 1366: Incorrect string value, or with a looser SQL mode it can cut the text at the emoji.
The lasting fix is to use utf8mb4 for the column and the connection. Removing the emoji first is a workaround when you cannot change the schema.
Spaces left behind after removal
Deleting an emoji from Hello 😊 world leaves two spaces. Deleting it from I💙you glues two words together.
Tidy spaces handles the first case and Replace with space handles the second, so you do not have to proofread every spot.
Common problems after deleting emoji
A flag or a family emoji survives the cleanup
A search for single emoji characters skips flags, which are pairs of regional indicator letters, and leaves the zero-width joiners of a family emoji in the text. The emoji looks gone but the string still holds hidden characters.
💡 See the solution▼
Words run together after the emoji disappear
When an emoji sits between two words with no spaces, as in I💙you, deleting it joins them into Iyou.
💡 See the solution▼
A legacy database still rejects the cleaned text
Some other 4-byte characters, such as rare symbols, can trigger the same MySQL utf8 error, and text can pass this tool and still fail on a column with a different limit.
💡 See the solution▼
A symbol you wanted to keep is gone
Some symbols that look like plain marks, such as ♥, ✔, and ⚠, are listed as emoji in Unicode and are removed along with the rest.
💡 See the solution▼
Emoji remover questions
Q.How do I remove emojis from text?
A. Paste your text into the input box. The emojis are removed as you paste, and the cleaned text appears under Result. Click Copy result to take it with you. There is no run button.
Q.Can I keep some emojis and remove the rest?
A. Yes. Under the input box the tool lists each kind of emoji it found, with a count. Click an emoji to keep it, and it turns green. Remove all and Keep all switch every emoji at once, so the quickest way to keep one is to click Keep all and then click the ones you want gone.
Q.Does it remove flags, skin-tone emojis, and family emojis completely?
A. Yes. Each of these is a sequence of several code points, and the tool matches the whole sequence as one emoji: a flag is two regional indicator letters, a skin tone is a modifier after the emoji, and a family joins people with invisible zero-width joiners. No joiners, modifiers, or tag characters are left in the result.
Q.Are text smileys like :) and symbols like ★ removed?
A. No. Text smileys such as :) and ;-) are plain characters, so they stay. Plain symbols such as ★, →, •, ✓, and ♪ are not classed as emoji, so they stay too. Symbols that Unicode lists as emoji are removed, for example ♥, ✔, ⚠, ☀, ✂, and ❤.
Q.Does it remove ©, ®, and ™?
A. Not by default. Unicode classes these three as emoji, but they are ordinary marks in business writing, so Keep © ® ™ is on. The same switch also keeps plain ℹ, ↔, and ▶. The versions with the emoji variation selector, such as ▶️, are removed. Turn Keep © ® ™ off to remove them all.
Q.What does Replace with space do?
A. It puts a space where each emoji was. Without it, text like I💙you becomes Iyou. With it, you get I you, and Tidy spaces then merges any double spaces. It is off by default.
Q.What does Tidy spaces change besides emojis?
A. Tidy spaces is on by default. It turns every run of two or more spaces or tabs into one space and trims the spaces at both ends of each line, so Hello 😊 world becomes Hello world instead of Hello world. It does this to all of the text, not only around emojis, so turn it off if you need to keep indentation.
Q.Why does my database reject text with emojis?
A. Emojis are 4-byte characters in UTF-8. MySQL's utf8 character set holds only 3 bytes per character, so inserting an emoji into a utf8 column can raise error 1366 (Incorrect string value) or cut the text at the emoji. The proper fix is to move the column to utf8mb4. If you cannot change the database, remove the emojis first with this tool.
Q.Does it work on phones and tablets?
A. Yes. It runs in any current browser. Copy your text from a messaging or social app, paste it in, and copy the cleaned result back out.
Q.Is my text sent to a server?
A. No. The tool removes emojis with JavaScript in your browser, and there is no upload step. Closing or reloading the page clears your text.
Your feedback
makes this tool better.
Tell us which features you'd like, what should be fixed, or which new tool you'd like to see. An engineer reads every submission and uses it to guide development.