The job
What the Perplexity invisible character detector is for
This is the diagnostic step. You paste a draft, press Analyze, and get a written account of what looks hidden or out of place in it. Your text comes back unchanged, so nothing is fixed at this stage and nothing is lost either.
Know which kind of tool this is before you build a process on it. This route sends your text to our server and has a model read it. The deterministic scan, the one that checks against a fixed character list without anything leaving your browser, is the watermark checker in this network. Two different tools, two different surfaces, and a workflow usually wants both.
Before you check
Trace the path the text took
Published testing by Originality.ai found no model in its sample emitting an invisible character at all. If that holds, then the characters in your document arrived somewhere between the answer and the file, and knowing where saves you cleaning the same text twice.
- The browser copy
- Copying rendered HTML out of a web answer brings formatting decisions with it, including spaces that are not ordinary spaces.
- The word processor
- Word and Google Docs substitute characters as you type and on paste. No-break spaces around numbers are the classic case.
- The CMS field
- Rich-text editors normalise, sanitise and re-encode. Text that was clean going in is not necessarily clean coming out.
- The round trip
- Anything that has been through a PDF, an email client, or a spreadsheet cell and back out again. Each hop is another chance to pick something up.
The run
How to run an invisible character check in three steps
Three steps here, plus a cleaning step that happens on a different tool.
- Step 1
- Paste between 1 and 12,000 characters, copied from the place the problem shows up rather than from your original source.
- Step 2
- Optionally add up to 300 characters of instruction naming what you are chasing, for example a broken URL slug or a find-and-replace that keeps missing.
- Step 3
- Press Analyze and read the findings. To actually strip the characters, take the text to the watermark cleaner, which runs locally against a fixed list.
The list
What the local engine covers, exactly
Fourteen characters, named, because a number you can check is worth more than a promise you cannot. Three of them are replaced by an ordinary space instead of being deleted.
- U+200B, U+200C, U+200D
- Zero-width space, non-joiner and joiner. The first is the one that quietly breaks find-and-replace and URL slugs.
- U+2060, U+FEFF
- Word joiner and byte-order mark. A byte-order mark mid-document confuses parsers, feeds and validators.
- U+00AD
- Soft hyphen. Invisible until the line wraps, then a hyphen appears in a word that never had one.
- U+00A0, U+202F, U+200A
- No-break space, narrow no-break space, hair space. Replaced with a normal space, because deleting them would run two words together.
- U+202A to U+202E
- The five directional controls. U+202E in particular can make a file name display differently from what it actually is.
The gap
Characters this network does not handle
Competing tools list 87 codepoints, or ranges reaching U+E007F. Ours is 14. If your problem character is outside that set, a clean run will leave it in place and you will think the tool worked.
Outside the list: U+200E and U+200F directional marks, U+2028 and U+2029 line and paragraph separators, U+034F combining grapheme joiner, variation selectors U+FE00 to U+FE0F, tag characters U+E0000 to U+E007F, and the typographic spaces U+2000 to U+2009 along with U+205F and U+3000. Build that into your process: if the symptom persists after a clean, the character is probably one of these and you need a tool with a wider list.
Do not strip everything
The characters you should keep
A blanket strip is the most common mistake in this category, and it damages real text. Other tools warn that zero-width joiners and non-joiners are not always noise. Ours acts on it rather than only warning.
A zero-width joiner between two pictographic characters is read as part of an emoji sequence and left in place, so composed emoji survive a clean instead of splitting into their components. The non-joiner is harder, because it carries meaning in Persian and in several Indic scripts and there is no reliable automatic test for which instance is meaningful. The workflow rule: if the document contains those scripts, review before cleaning rather than after.
Perplexity specifically
Protect the citation markers in a Perplexity draft
Perplexity writes numbered inline citations through its answers, in the style of an academic paper, with the sources listed below. Copy the answer out and those bracketed numbers come with it as ordinary text.
So they are in scope for any cleanup script you run and they should not be. Exclude bracketed content from find-and-replace passes before you start. It is also worth knowing that Perplexity does not convert those sources into APA or MLA for you, so the markers are a task list rather than a finished bibliography, which is another reason not to lose them in a cleaning step.
Direct answer
Does stripping invisible characters help with AI detection?
No, and the workflow should not be built on the idea. If models are not inserting these characters, which is what the published testing indicates, then removing them is not removing a signal.
We make no claim about Turnitin, GPTZero, Copyleaks or Originality.ai, run no tests against them, and have no affiliation with any of them. We also make no assertion about a character-based marker in Perplexity output in either direction. We have seen no evidence of one, and that is not the same as proving there is none.