An identifier that does not match
AB followed by U+200B and then 123 looks like AB123 but is a different string. Removing zero-width spaces joins the visible pieces.
A string can look ordinary while containing a zero-width space, a nonbreaking space, or a direction mark. Paste it here to see those code points, their positions, and a preview of the changes you choose.
Paste text to begin.
0 code points selected for removal or replacement. Joiners, bidirectional controls, and variation selectors are preserved by default. Maximum input: 250,000 UTF-16 code units.
No external text service is used. Descriptions are a small curated set; unnamed findings use a property-based description and an exact U+ code.
Paste the text that is producing an unexpected match, line break, or copy-and-paste result.
Review the visible markers and the table of code points. Positions count code points from 1; UTF-16 offsets start at 0.
Select only the character groups you want to remove or replace. Joiners, direction marks, and variation selectors remain intact by default.
Copy the cleaned text or download the text and a separate JSON findings report.
AB followed by U+200B and then 123 looks like AB123 but is a different string. Removing zero-width spaces joins the visible pieces.
👨👩👧👦 uses U+200D between its component emoji. The detector flags those joiners, but the default cleanup preserves the family sequence.
In Order number, the gap can be U+00A0 NO-BREAK SPACE. Converting unusual spaces to ordinary spaces changes where the text may wrap.
Zero-width joiners and non-joiners can control shaping in Arabic, Persian, and Indic scripts. Variation selectors can choose emoji or text presentation, and direction marks can keep mixed-direction text readable. Review their context before selecting a removal group.
The scanner checks the browser’s Unicode default-ignorable property, unusual Unicode whitespace, and control characters. Ordinary U+0020 spaces, tabs, carriage returns, and line feeds are not flagged. Unicode line and paragraph separators are flagged separately and can be converted to LF. This is a text-inspection tool, not a comprehensive confusable-character or security scanner.
Some emoji use joiners, variation selectors, or tag characters to form a particular presentation. They can be essential parts of the emoji. Those groups are off by default in cleanup.
No. It previews a separate output using your selected groups. Only removal of U+200B zero-width spaces and U+FEFF byte-order marks is selected initially; you can also deselect it.
The displayed position counts Unicode code points from 1. JavaScript indexes count UTF-16 code units from 0, so a supplementary character before a finding changes the difference. The table shows both measures.
The detector processes your text locally in browser memory. Copy and download actions use browser features and do not send the input to a server.