Nirmion
Help Find a tool

Locate hidden Unicode format characters

Invisible Character Finder

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.

  1. 01Private by designYour text stays in this browser tab.
  2. 02Bounded and responsiveUp to 250,000 characters for bounded local analysis.
  3. 03Ready to reuseCopy the result or download a branded TXT file.
No text upload to Nirmion

Counting and transformations run locally. Nirmion does not send the text in this workspace to an API.

01 / Input

Paste the exact sequence that behaves unexpectedly

Use the original copied value rather than a retyped version, because retyping or moving through another editor can already remove the character being investigated. Analysis is limited to 250,000 characters and the report is capped at one million characters to protect the tab when input contains many findings.

Complete the required fields to enable this action.

Runs in this tab without an API request.

Product guide

Inspect hidden characters before deciding to remove them

A hidden code point can explain failed equality, suspicious identifiers, line wrapping, cursor movement, or bidirectional display, but context determines whether it is harmful. Review the complete result in its destination because automated text rules cannot infer every language, house style, data model, or publishing intention.
Step A

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.

Step B

Choose the rule

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.

Step C

Review the output

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

One-pass code-point inspection against an explicit map

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

Debug hidden differences and display anomalies

Use the report to identify exact code points before applying a narrow, reviewed correction to the real data source.

  1. Investigate strings that look equal but fail validation, search, comparison, deduplication, or identifier checks.
  2. Review copied content for unexpected bidi overrides, zero-width spaces, soft hyphens, or non-breaking spaces.
  3. Explain cursor, wrapping, emoji, or script-shaping behavior without blindly deleting legitimate joiners.

Questions answered

Invisible Character Finder questions

Practical boundaries matter with text tools. These answers explain what is measured, what is retained, and when a manual review is still needed.

Does the tool remove findings?

No. It creates a report only, because removal requires language, security, and application context.

Why is a zero-width joiner reported in emoji?

Joined emoji legitimately use U+200D. A finding identifies the code point; it does not label it malicious.

Are all control characters included?

No. The map focuses on commonly confusing invisible and directional values and intentionally excludes ordinary tabs and line breaks.

Privacy and retention

Your draft stays on your device.

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

A non-destructive hidden Unicode character report

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.