Remove Emojis from Text

Paste your text and every emoji, flag, keycap and skin tone is stripped at once, with optional cleanup of symbols such as ♥ ★ and arrows.

Your text and cleanup options

Options

How to remove emojis from text

  1. Paste your text into Text with emojis. A sample is already there, and Clear text empties the box.
  2. Check the options. Remove emojis, Collapse extra spaces and close emoji gaps and Trim spaces around each line are on by default. Remove symbols too is off.
  3. Read the result under Text without emojis. The line below it says how many emojis were removed and gives the character count before and after.
  4. Press Copy clean text.

What counts as an emoji

The tool follows the Unicode emoji rules (Unicode Technical Standard #51). It removes pictographs that display as emoji by default (😀 ⭐ ⌚ ✅), text characters turned into emoji by the emoji selector (❤️ ▶️), country flags made of two regional letters (🇺🇸), the England, Scotland and Wales flags, keycaps (1️⃣), skin tone modifiers (👍🏽) and sequences joined with zero-width joiners (👨‍👩‍👧). A joined sequence is removed as one emoji. Plain digits, # and *, and the characters ©, ® and ™ written as ordinary text are not emoji and stay.

Remove symbols too also takes out text symbols that are not emoji: ♥ ★ ♠ ✓ ☺ and other dingbats and miscellaneous symbols, arrows such as →, math signs such as ∑ and ≠, technical symbols, and box and geometric shapes. Currency signs, ©, ®, ™, °, ±, × and ordinary punctuation stay. With Remove emojis switched off it removes only these text symbols and leaves emoji alone.

Worked example

The sample is Hello 👋 world 🌍! Let's code 💻 together ✨ and build 🚀 cool things 🎉. With the default options the result is:

Hello world! Let's code together and build cool things.

The line under the result reads "Removed 6 emojis. Characters: 67 before, 55 after." The gap each emoji leaves is closed, including the space before the exclamation point and the final period.

Limits and edge cases

An emoji between two words with no spaces, as in go🚀now, leaves gonow, so add the space yourself. Zero-width joiners inside words in scripts such as Hindi and Malayalam are kept, because only joiners inside emoji sequences are removed. A heart typed as the bare character ❤ without the emoji selector is a text symbol and needs Remove symbols too, but phones normally add the selector. The collapse option shrinks every run of spaces or tabs to one space, including indentation, so switch it off for code. Your text stays in your browser. To strip accents next use the Accent Stripper, to tidy line breaks use the Whitespace Cleaner, and to check the new length use the Word Counter.

Sources: Unicode Technical Standard #51, Unicode Emoji; MySQL 8.4 Reference Manual, The utf8mb3 character set.

Frequently asked questions

How do I remove emojis from text?

Paste the text into Text with emojis and copy the result from Text without emojis. Remove emojis is on by default, so nothing else needs changing.

Does it remove flags, skin tones and keycap emojis?

Yes. Country flags, skin tone modifiers, keycaps like 1️⃣ and family or couple sequences joined with zero-width joiners are removed as one unit, with nothing left behind.

Will it remove hearts, stars and check marks?

Emoji versions such as ❤️, ⭐ and ✅ are removed by default. Plain text symbols like ♥, ★ and ✓ stay unless you tick Remove symbols too.

Will it remove accented letters?

No. Letters such as á, é and ñ stay as they are. Use the Accent Stripper to remove accents.

Why remove emojis before importing text into a database?

Some systems cannot store them. The MySQL utf8 character set holds at most three bytes per character and emojis need four, so an insert fails or is cut short unless the column uses utf8mb4. Older email and reporting tools may also show emojis as question marks.