What Are Unicode Control Characters?
Many Unicode characters are designed to control the interpretation or display of text without having any visual or spatial representation. The C0 control codes (U+0000 to U+001F) originate from the ASCII standard and include characters such as NULL, TAB (horizontal tabulation), LF (line feed), and CR (carriage return). Additionally, Unicode introduces zero-width characters like the zero-width space (U+200B), zero-width non-joiner (U+200C), and zero-width joiner (U+200D), as well as bidirectional text control marks.
These characters often sneak into text when copying and pasting from web pages, word processors, or PDF files, causing issues in string comparison, search, form validation, and automated data processing. C1 control codes (U+0080 to U+009F) inherited from ISO/IEC 8859-1 also exist.
Frequently Asked Questions
What are invisible Unicode characters?
How to remove invisible characters from text?
What problems do control characters cause in programming?
What is a zero-width space (U+200B) and how to remove it?
How to normalize line endings between Windows, Linux, and macOS?
Why does my text pasted from a PDF contain strange characters?
Common Use Cases
- Clean text pasted from the web: Remove invisible Unicode characters that sneak in when copying text from web pages, PDF documents, or emails.
- Normalize line endings: Unify different line break formats (LF on Linux/macOS, CR+LF on Windows, CR on classic macOS) to a single standard.
- Remove zero-width characters: Strip zero-width spaces (U+200B) and other invisible markers that break string comparison and database searches.
- Debug bidirectional text: Detect and remove directional control characters (LRM, RLM, LRE, RLE) that can alter the expected display of text.
Related Tools
UUID v3 Generator
Generate deterministic UUID v3 (namespace + MD5) from namespace (DNS, URL, OID, X.500) and name.
RFC 3339 / ISO 8601 Converter
Convert dates between RFC 3339, ISO 8601 local and Unix Timestamp.
Caesar Cipher
Encrypt and decrypt text with the classic Caesar cipher. Configurable shift of 1-25.
UUID v5 Generator
Generate deterministic UUID v5 (namespace + SHA-1) from namespace (DNS, URL, OID, X.500) and name.