Invisible Character Tool
Detect, copy, and remove invisible characters.
Overview
Some Unicode characters render as nothing at all — zero-width spaces, zero-width joiners, soft hyphens, and various format controls. They can sneak into pasted text from chat apps, PDFs, or copy-pasted code samples and quietly break parsing, search, or layout.
This tool detects every invisible character in your input, shows where it is, and lets you strip them out. Developers debugging "why does my JSON not parse", security analysts hunting for homoglyph attacks, content editors normalizing pasted text, and SEO auditors checking for hidden keyword stuffing all rely on it.
How it works
The tool walks your input character by character. Any code point classified as a format character, a zero-width character, or part of the variation selectors / tag block is flagged. The display annotates each find with its code point (e.g., U+200B) and name (ZERO WIDTH SPACE), and the "remove" action filters them out. You can also copy individual invisible characters for testing.
Examples
Input (visible): HelloWorld ← hidden ZWSP between "Hello" and "World"
Detected: U+200B ZERO WIDTH SPACE at position 5
After removal: HelloWorld
Input: resumé ← hidden soft hyphen
Detected: U+00AD SOFT HYPHEN
FAQ
Where do invisible characters come from?
Common sources: rich-text editors that insert formatting controls, copy-pasting from PDFs, ligature handling in advanced fonts, and intentional steganography. Some malware uses them in URLs and file names.
Are they always harmful?
No. Zero-width joiners legitimately combine emoji into family glyphs, and soft hyphens give the browser hints about where to wrap. Context matters — strip them when they're unexpected.
What about regular spaces?
Regular spaces are visible (they take up space). This tool focuses on characters that occupy zero or near-zero render width. For visible whitespace, see the Whitespace Visualizer.