Local Unicode compatibility tool
Invisible text watermark
Add a short, removable hidden marker to plain text, or read an InvisiChar IVC1 marker back. It is not proof of ownership. Your text and marker stay in this browser.
Task
0Frame overhead
46Max carrier
199,954Remaining
199,954
Enter a non-empty marker of at most 64 UTF-8 bytes.
Text, output, marker payloads, and context stay in this browser. Copy only happens when you choose it. Other platforms may display, reorder, normalize, or strip hidden characters.
Add · read back · remove
A removable marker, not proof of ownership
An invisible text watermark here is a short hidden marker added to the end of plain text without changing its existing visible words. You can read it back or remove it later. InvisiChar uses its own public IVC1 format: it is not a universal hidden-text decoder and cannot extract every watermark made by another tool.
IVC1 is public and removable. Its CRC detects accidental corruption only. It is not encryption, a signature, evidence of authorship or ownership, an identity system, or a tracking guarantee. Anyone who knows the format can read, remove, replace, or recreate a marker.
Try adding, reading, and removing a marker
- Add: enter
Helloin Carrier text anddemoin Short marker, then click Add hidden marker. The marked text keeps the visible wordHelloand adds one hidden marker at the end. - Read back: click Verify marker to open Extract and recover
demo. For text copied earlier, paste the complete marked text into Text containing marker and click Extract marker. - Remove: from Extract, click Inspect unknown characters to inspect that text. Choose Review removal options, select the IVC1 finding in Clean, then click Apply 1 selected change and confirm the warning. For this example, the cleaned output is exactly
Hello.
Carrier: Hello
Marker: demo
Visible result: Hello plus one hidden terminal IVC1 frame
Compatibility limits
Mark accepts one non-empty marker of at most 64 UTF-8 bytes. Extract returns it only when exactly one complete, supported IVC1 frame is at the absolute end and passes its length, UTF-8, and CRC checks. Damaged, multiple, unsupported, or non-terminal markers do not return a best-effort or partial result. If someone sends you hidden text in an unknown format, Inspect can check supported characters, but Extract cannot decode an arbitrary message.
Copying through another editor, messaging service, sanitizer, normalizer, or publishing system may expose, reorder, strip, or otherwise damage format characters. A successful local round trip does not guarantee survival elsewhere. Adding a frame after otherwise valid JSON also makes the complete text invalid JSON, so the tool requires an explicit warning before that operation.
Sources and format boundary
- Unicode Core Specification, Chapter 23: special areas and format characters
- Unicode Emoji, Version 17.0
IVC1 itself is an InvisiChar V1 transport format, not a Unicode standard or security protocol.
Last reviewed: 2026-09-01