Private AI Tools

Free Invisible Character & Prompt Injection Scanner

Invisible Character & Prompt Injection Scanner finds zero-width characters, bidirectional controls, hidden text in Unicode tag characters (decoded), data smuggled in emoji variation selectors, odd spaces, homoglyph words and typical injection phrases in five languages. It also flags hidden HTML elements, comments and remote Markdown images, then gives you cleaned text and a JSON report. It is a heuristic check, not a proof of safety.

Inputs:
Text, Markdown, HTML, JSON (up to 20 MB)
Decodes:
Tag characters, emoji variation selectors
Phrases:
English, Italian, Spanish, French, German
Price:
Free
Runs:
Locally, in your browser
Uploads:
None: files never leave your device
Account:
Not needed

Quick answers

Can it prove that a text is safe to paste into ChatGPT, Claude or another AI?

No. It is a heuristic check: it finds known tricks such as invisible characters, lookalike letters, hidden HTML and typical injection phrases, but a prompt injection can be written in plain, visible words that no list of patterns catches. A clean result only means none of these tricks was found.

What are Unicode tag characters?

The code points U+E0000 to U+E007F are invisible copies of the ASCII letters, digits and symbols. They do not show on screen but stay in the text when you copy it, so any program that reads the characters, an AI model included, receives them. The scanner decodes them and shows the hidden text; the only legitimate use it keeps is the tags inside subdivision flags such as England's.

Loading tool…

Processed on your device: your files are never uploaded. How it works

How to use the Invisible Character & Prompt Injection Scanner

  1. Paste text, open a .txt, .md, .html, .htm or .json file, or drop it on the box: the input type is detected automatically, or pick it yourself.
  2. Read the summary: decoded hidden messages come first, then every finding with its type, severity, line and column. Press Show to jump to it in the highlighted text.
  3. Under “What to remove or fix”, choose what the cleaner removes or replaces (for HTML you can keep only the visible text), then copy or download the cleaned text.
  4. Copy or download the JSON report to keep the findings or pass them to another program.

Credits & open source

Built from scratch on web standards. Thank you to the people who make these projects.

Web platform APIs used: Intl.Segmenter, DOMParser, TextEncoder, File API, Clipboard API.

Full license texts: third-party notices · all credits

Frequently asked questions

How can data hide in an emoji?

A variation selector after an emoji normally just picks its style. A run of them can carry bytes: each of the 256 selectors stands for one byte. The scanner reads such runs, decodes the bytes as UTF-8 text when they are readable, and the cleaner removes the extra selectors while keeping the emoji.

Will cleaning break emoji or other languages?

No. Zero-width joiners inside emoji sequences, joiners inside Persian, Arabic or Indic words, the tags of subdivision flags, a single variation selector after a character and direction marks next to Hebrew or Arabic letters are kept. Each kind of fix has its own option, and lookalike letters are mapped to Latin only if you ask.

Is my text uploaded?

No. Everything runs in your browser. HTML is parsed into an inert document, so no script runs and no image or other resource is loaded, and nothing is sent anywhere.

Can it tell whether a text was written by an AI?

No. It looks only for invisible and unusual characters, hidden content and instruction-like phrases. Finding or not finding them says nothing about who or what wrote the text.

Recommended

Sponsored · we may earn a commission · details

More developer tools tools