Invisible character guide
Zero Width Non-Joiner (U+200C) Copy & Paste
Copy the Zero Width Non-Joiner (ZWNJ, U+200C) with one click. This invisible Unicode character prevents letters from joining in certain writing systems, including Persian and Arabic-script text. Copy it, test your pasted text, and see how it works.
Zero Width Non-Joiner · U+200C
Copy Zero Width Non-Joiner
Copy the Zero Width Non-Joiner (ZWNJ, U+200C) with one click. This invisible character keeps letters separate at a chosen point in writing systems such as Persian and Arabic. The brackets help you see its position and are not copied.
Character
The field contains only U+200C · ZERO WIDTH NON-JOINER. Brackets are visual markers.
Unicode
U+200C
Name
Zero Width Non-Joiner
Purpose
Keeps letters separate
Character code
U+200C
How ZWNJ Changes Text
ZWNJ keeps letters from joining at a chosen point. The result can look slightly different depending on the app or font you use.
Without ZWNJ
میروم
No ZWNJ between the two parts
With ZWNJ
میروم
U+200C inserted between the parts
Joining appearance depends on your device fonts. If the two samples look almost the same, use Show ZWNJ Position or the paste checker to confirm U+200C is present.
Persian example
ZWNJ between می and روم requests that the letters do not join at that boundary.
Test Your Copied ZWNJ Character
Paste text here to check whether it contains ZWNJ and where it appears. Your text is checked in this browser and is not uploaded.
Characters checked
0
U+200C count
0
Text units
0
Result
Waiting for paste
Insert ZWNJ into Text
Place the cursor where letters should stay separate, insert U+200C, then copy the result. Your existing spaces and underscores stay as they are.
Text direction
Default is RTL for Persian samples. Switch to LTR for English or code snippets. Caret insert still uses the browser selection position.
Preview: میروم · no U+200C yet
What Is a Zero Width Non-Joiner?
A Zero Width Non-Joiner (ZWNJ, U+200C) is an invisible Unicode format character. It does not draw a mark by itself. Instead, it asks neighboring characters not to join where a writing system would otherwise connect them.
That job is different from blank-looking fillers and from Zero Width Space. ZWNJ is not a general invisible nickname character, and some apps may filter or reject it. If you need an invisible break opportunity, prefer Zero Width Space (U+200B). If you need letters or emoji to join, open the Zero Width Joiner (U+200D) page. For blank-looking display text, compare options on the empty character page.
In plain terms: ZWNJ is a joining brake, not blank paper. It belongs in real language text when a script needs a non-joining boundary, not in every field that only wants an empty-looking name. Removing every U+200C because it “looks empty” can change letter forms or spelling in Persian, Arabic-script text, and some other languages. Inspect nearby characters before deleting it. To scan a longer string without bulk-removing joining controls, open the invisible character detector.
How Zero Width Non-Joiner Works in Persian and Arabic Text
In connecting scripts, a letter’s shape depends on whether it joins the characters beside it. Many Arabic-script letters have isolated, initial, medial, and final forms. ZWNJ marks a place where joining should not happen, so the letters on each side keep the forms that fit a deliberate break.
A common Persian teaching pair is میروم without ZWNJ versus میروم with U+200C between می and روم. Writers often describe that boundary as a half space: it can look quieter than a full word space, yet it is still U+200C, not a regular keyboard space (U+0020) and not Zero Width Space (U+200B).
Why the difference matters: a normal space separates words and is usually visible. ZWSP mainly offers an invisible wrap opportunity. ZWNJ is a joining control. Substituting a plain space, deleting the control during “cleanup,” or stripping every zero-width character can change spelling, search matching, or letter shapes even when the line still looks almost the same to a quick glance.
The same text may look a little different in different apps or fonts. Use Show Character Position to see exactly where the invisible character sits. Copy Example always copies U+200C itself, not the visible label used to explain it.
Character Details and Code Options
Most people only need the copy button above. These options are for adding ZWNJ to a website or code. They copy code text, not the invisible character itself.
| Unicode Name | ZERO WIDTH NON-JOINER |
|---|---|
| Abbreviation | ZWNJ |
| Code Point | U+200C |
| Decimal | 8204 |
| Unicode Block | General Punctuation |
| General Category | Cf — Format |
| Width | Zero Width |
| UTF-8 | E2 80 8C |
| HTML Named Entity | ‌ |
| HTML Decimal | ‌ |
| HTML Hex | ‌ |
| JavaScript / JSON | \u200C |
| Python | \u200C |
Unicode Name
ZERO WIDTH NON-JOINERAbbreviation
ZWNJUnicode
U+200CDecimal
8204HTML Named
‌HTML Decimal
‌HTML Hex
‌JavaScript / JSON
\u200CPython
\u200CUTF-8
E2 80 8CFor developers: JavaScript example
const zwnj = "\u200C"; // Verify U+200C console.log(zwnj.codePointAt(0)?.toString(16)); // "200c" // Persian example const text = "می\u200Cروم"; // Detect the invisible character console.log(text.includes(zwnj)); // true // Count occurrences const count = Array.from(text).filter(c => c === zwnj).length; console.log(count); // 1
ZWNJ vs ZWJ vs Zero Width Space
These characters sit near each other in Unicode tables and are easy to mix up. ZWNJ asks characters not to join. ZWJ asks them to join. Zero Width Space provides an invisible break opportunity without joining behavior.
A quick rule of thumb: use ZWNJ when Persian or Arabic-script text needs letters to stay separate inside a word; use ZWJ when emoji or letters should combine; reach for Zero Width Space when you only need a quiet wrap or invisible break point.
ZWNJ is not a regular space or a reliable way to make a name look blank. Some apps do not allow it, and removing it from real text can change letter forms. When checking text, review each invisible character before removing it.
| Character | Unicode | Best for | Skip when | Common mix-up |
|---|---|---|---|---|
| Zero Width Non-Joiner | U+200C | Request that neighboring characters do not join in connecting scripts. | Everyday invisible spacing or blank names. | Using ZWNJ as a quiet spacer, then wondering why joined letters split. |
| Zero Width Joiner | U+200D | Request joining: emoji sequences and some script shaping. | As a generic blank filler — it is a format control, not empty spacing. | Pasting ZWJ alone into a username and expecting a blank-looking name. |
| Zero Width Space | U+200B | Invisible break opportunity with no visible gap. | Stopping letter joins — that is ZWNJ territory. | Putting ZWSP between Arabic letters and expecting a correct non-join. |
| Hangul Filler | U+3164 | Blank-looking wide character that still occupies space. | When you need zero width or a joining control. | Treating U+3164 as interchangeable with ZWNJ or ZWSP in filters and forms. |
How to Type or Insert a ZWNJ
Copying U+200C from this page is the most portable method on Windows, macOS, iPhone, and Android. Some Persian desktop layouts expose a ZWNJ or “half space” key, but the exact key differs by layout and editor, and many English or mobile keyboards do not offer one. Keyboard shortcuts vary, so copying from this page is the more dependable option.
- Copy and verify. Tap Copy Zero Width Non-Joiner, paste into the test box on this page, and confirm the result shows U+200C before you trust the clipboard.
- Insert into existing text. Paste your sentence into Insert ZWNJ at Cursor, place the caret at the boundary you need, insert once, then copy the full result. Your ordinary spaces and underscores stay unchanged.
- Add it to a website or code. Use an escape such as
\u200Cin JavaScript or Python, or the HTML entity‌. These are code snippets; use the main copy button when you need the invisible character itself. - Check the saved text. If an app removes the character after you save, paste the saved text back into this checker or the invisible character detector. An app that does not allow the character cannot be overridden from this page.
On iPhone and Android, the browser copy button is usually simpler than searching the keyboard for a missing half-space key. After you paste into Messages, notes, or a form, come back and verify once if the field is known to strip invisible characters.
Frequently Asked Questions
What is a Zero Width Non-Joiner (ZWNJ)?
A Zero Width Non-Joiner is Unicode U+200C, an invisible format character that requests neighboring letters not to join. It is used in Persian, Arabic-script text, and some other writing systems where letters normally connect. It has no glyph of its own and is not a blank nickname filler.
How do I copy and paste U+200C?
Tap Copy Zero Width Non-Joiner near the top of this page, then paste into the Test Your Copied ZWNJ Character box to confirm you got U+200C. On iPhone and Android, use the same copy button in Safari or Chrome. If clipboard access is blocked, select the readonly character field between the brackets and copy manually. To place U+200C inside existing text, use Insert ZWNJ at Cursor, then copy the full result.
Is ZWNJ the same as a regular space?
No. A regular space (U+0020) is visible spacing between words. ZWNJ has no width of its own and only affects joining behavior. It is also not the same as Zero Width Space (U+200B), which provides an invisible line-break opportunity rather than non-joining control. In Persian, people sometimes call a correct ZWNJ boundary a half space, but that everyday name still points at U+200C, not a keyboard space.
What is the difference between ZWNJ and ZWJ?
ZWNJ (U+200C) requests that characters do not join — useful when connecting scripts need a clean break inside a word or compound. ZWJ (U+200D) requests joining and often appears in emoji sequences such as profession or family emoji. Use ZWNJ when letters should stay separate in shape; use ZWJ when characters should combine. Neither is a general blank space, and neither replaces Zero Width Space.
How do I type ZWNJ on Windows, iPhone, or Android?
There is no single shortcut on every device and keyboard. Some Persian desktop layouts insert ZWNJ with a dedicated key or Shift combination, but other Windows, macOS, iPhone, and Android keyboards do not expose the same control. The most portable method is to copy U+200C from this page, verify the paste here, then paste into your destination. On mobile, use the browser copy button or the insert tool above rather than hunting for a missing key.
Why is ZWNJ important in Persian and Arabic text?
In connecting scripts, letters change shape depending on whether they join their neighbors. ZWNJ marks a boundary where joining should not happen, which can affect correct spelling and readable letter forms — for example the Persian pair میروم versus میروم. Deleting every U+200C because it looks empty can change real language text, so review matches before bulk cleanup.
Related Unicode Tools
ZWNJ is a non-joining control. These tools cover zero-width space, joining controls, empty characters, and detection.
Zero Width Joiner (U+200D)
Copy ZWJ, explore emoji sequences, and verify U+200D.
Zero Width Space (U+200B)
Copy an invisible break character with no joining behavior.
Invisible Character Detector
Find U+200C and other hidden characters without bulk-deleting them.
Empty Character Copy Paste
Compare empty-looking Unicode options side by side.
Hangul Filler (U+3164)
Copy a blank-looking character that still occupies space.