Prepare the input
Paste the exact source string and avoid transformations first. Joined emoji and some scripts intentionally use zero-width joiners or non-joiners.
Locate hidden Unicode format characters
Report positions, code points, and names for a reviewed set of zero-width, directionality, joiner, no-break, soft-hyphen, and invisible operator characters. The tool identifies but never removes findings, because many invisible characters are legitimate in scripts, bidirectional layout, mathematical notation, or non-breaking text.
Counting and transformations run locally. Nirmion does not send the text in this workspace to an API.
Product guide
Paste the exact source string and avoid transformations first. Joined emoji and some scripts intentionally use zero-width joiners or non-joiners.
The finder checks a reviewed code-point map including no-break space, soft hyphen, zero-width controls, bidi embeddings and isolates, word joiner, and invisible mathematical operators.
Use the reported U+ value and position to inspect the authoritative source. Remove or normalize only through a documented policy that preserves required language and layout behavior.
How it works
The source is iterated by Unicode code point rather than UTF-16 unit. A reviewed map assigns names to selected invisible and formatting values, and each match records its one-based code-point position. Tabs, ordinary spaces, and line breaks are deliberately not reported as suspicious by default. Input is capped at 250,000 characters and report output at one million characters; no text is rendered with directional overrides inside generated HTML. The operation runs in this browser tab, applies explicit bounds before expensive work, and does not send workspace text to a Nirmion API.
Useful when
Use the report to identify exact code points before applying a narrow, reviewed correction to the real data source.
Questions answered
Practical boundaries matter with text tools. These answers explain what is measured, what is retained, and when a manual review is still needed.
No. It creates a report only, because removal requires language, security, and application context.
Joined emoji legitimately use U+200D. A finding identifies the code point; it does not label it malicious.
No. The map focuses on commonly confusing invisible and directional values and intentionally excludes ordinary tabs and line breaks.
Privacy and retention
Nirmion performs these operations with browser JavaScript. The workspace does not call the catalogue API with your source text, and completed-job content is kept only in this component memory for re-download.
A downloaded file remains in your browser downloads, device storage, backups, and any location where you share it. Clear or close the page when working on a shared device, and avoid pasting secrets into extensions or third-party clipboard managers.
Tool details
Nirmion Invisible Character Finder scans text by Unicode code point and reports selected zero-width, no-break, soft-hyphen, directionality, joiner, and invisible operator values with positions and U+ codes. It helps debug equality, validation, wrapping, cursor, and security-review anomalies. The source is iterated by Unicode code point rather than UTF-16 unit. A reviewed map assigns names to selected invisible and formatting values, and each match records its one-based code-point position. Tabs, ordinary spaces, and line breaks are deliberately not reported as suspicious by default. This makes the behavior inspectable and repeatable instead of presenting an unexplained result.
The report downloads as text_nirmion_tools_invisible_character_report.txt for input up to 250,000 characters. The page explains legitimate script, emoji, bidi, mathematics, and layout uses and deliberately performs no automatic deletion. The operation runs in this browser tab, applies explicit bounds before expensive work, and does not send workspace text to a Nirmion API. Downloading clears the active workspace while the latest three completed results remain available in this tab for re-download.