Invisible character guide
Zero Width Non-Joiner (U+200C) Copy & Paste
Copy Zero Width Non-Joiner (ZWNJ, U+200C) in one click. It helps keep certain letters from joining in Persian and other scripts. Copy, check, or insert it exactly where you need it.
Zero Width Non-Joiner · U+200C
Copy Zero Width Non-Joiner
Copy Zero Width Non-Joiner (ZWNJ, U+200C) in one click. It helps keep certain letters from joining in Persian and other writing systems.
Copies exactly one U+200C character, without brackets.
Character
The invisible character is between the brackets. The brackets are not copied.
Unicode
U+200C
Purpose
Keeps letters separate
Check Your Copied ZWNJ
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
ZWNJ (U+200C) found
0
Result
Waiting for paste
Insert ZWNJ into Text
Place the cursor where you want letters to stay separate, select Insert ZWNJ at Cursor, and copy the result. Your other characters stay unchanged.
Text direction
Use right-to-left (RTL) for Persian text, or left-to-right (LTR) for English. Place the cursor where you want to add ZWNJ.
Preview: میروم · no ZWNJ yet
How ZWNJ Changes Text
ZWNJ stops certain letters from connecting. The effect may look different depending on your font or app.
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.
What Is a Zero Width Non-Joiner?
Zero Width Non-Joiner (ZWNJ, U+200C) is an invisible Unicode character that keeps certain neighboring letters from joining. It is especially useful in Persian and other writing systems where letters normally connect.
ZWNJ does not create a regular gap or line break. Some apps may remove it from names or other fields. If you need an invisible place where text can wrap, use 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.
ZWNJ can be part of correct spelling. Removing it just because it looks empty may change the appearance or meaning of real language text. Check where it appears before deleting it. To find hidden characters in a longer passage, use 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 روم. This spelling places U+200C between the two parts.
A regular space separates words, while Zero Width Space (U+200B) can offer an invisible line break. ZWNJ instead affects how letters connect. Replacing U+200C with a space or deleting it can change how words are written, even when the difference is hard to see.
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.
Is ZWNJ the Same as a Half Space in Persian?
Persian writers often call U+200C a “half space.” It is not a regular keyboard space. ZWNJ keeps parts of certain words from joining without inserting an ordinary gap.
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.
Use ZWNJ when certain letters should not join in Persian or other connecting scripts. Use ZWJ for certain joining effects or emoji sequences, and use Zero Width Space when text needs a possible line break without a visible space.
ZWNJ is not a regular space. Some apps reject it, while others require it for correct letter forms. Check before removing it from a word.
| Character | Unicode | Best for | Not for | Avoid this mistake |
|---|---|---|---|---|
| Zero Width Non-Joiner | U+200C | Keep certain neighboring letters from joining in Persian and other scripts. | A regular space or an empty-looking name. | Using ZWNJ as a space when it can change letter shapes. |
| Zero Width Joiner | U+200D | Help characters join in some writing systems and emoji sequences. | Making blank spaces in text. | Using ZWJ to try to create an empty display name. |
| Zero Width Space | U+200B | Let text wrap at an invisible break point. | Preventing letters from joining. | Using Zero Width Space where ZWNJ is needed. |
| Hangul Filler | U+3164 | A blank-looking character that normally takes up space. | Preventing or requesting letter joining. | Assuming Hangul Filler works exactly like ZWNJ or ZWSP. |
| Regular Space | U+0020 | Separate words with an ordinary keyboard space. | Keeping connected letters separate without a normal gap. | Replacing a needed ZWNJ in Persian text with a space. |
Zero Width Non-Joiner Unicode and HTML Codes
Need ZWNJ in HTML or code? The options below copy written codes such as ‌ or \u200C. To copy the invisible character itself, use the main button at the top.
| 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 8CJavaScript 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
How to Type or Insert a ZWNJ
Keyboard shortcuts for ZWNJ vary by device and language layout. On Windows, Mac, iPhone, and Android, you can use the copy button at the top of this page. Some Persian keyboards also offer a “half space” key.
- Copy and verify. Tap Copy Zero Width Non-Joiner, then paste into Check Your Copied ZWNJ above to confirm that U+200C is present.
- Insert into a word. Type or paste your text into the Insert ZWNJ into Text box. Place your cursor between letters, select Insert ZWNJ at Cursor, and copy the result.
- 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 result. If an app removes the character, paste the text back into the checker above or use the invisible character detector. An app that does not allow the character cannot be overridden from this page.
On a phone, copying from this page may be easier than finding a ZWNJ key. If an app changes your text, paste the result back here to check for U+200C.
Why Isn't My ZWNJ Working?
I pasted ZWNJ but nothing changed
ZWNJ only changes how certain characters connect. It may not look different between Latin letters, and the result can vary by font. Paste the text into the checker above to confirm U+200C is present.
The app removes ZWNJ
Some apps do not allow invisible formatting characters in names or messages. Copying correctly here does not mean every app will accept or save ZWNJ.
My Persian text looks wrong
Check where U+200C appears in the word. A regular space, Zero Width Space (U+200B), and Zero Width Joiner (U+200D) have different effects and should not be substituted for it.
Frequently Asked Questions
What is a Zero Width Non-Joiner (ZWNJ)?
Zero Width Non-Joiner (ZWNJ, U+200C) is an invisible Unicode character that prevents certain letters from joining. It is useful in Persian, Arabic-script writing, and other scripts where letters can connect. It is not a regular space.
How do I copy and paste U+200C?
Select Copy Zero Width Non-Joiner, then paste into Check Your Copied ZWNJ to confirm U+200C is present. The same steps work on iPhone and Android. To add it to a word, use Insert ZWNJ at Cursor and copy the updated text.
Is ZWNJ the same as a regular space?
No. A regular space (U+0020) separates words. ZWNJ (U+200C) controls whether certain letters join, without adding a normal gap. Zero Width Space (U+200B) has a different role: it allows a line break without a visible space.
What is the difference between ZWNJ and ZWJ?
ZWNJ (U+200C) prevents certain letters from joining. ZWJ (U+200D) requests joining and is used in some text and emoji sequences. Zero Width Space (U+200B) instead provides an invisible line-break opportunity. These characters are not interchangeable.
How do I type ZWNJ on Windows, iPhone, or Android?
Keyboard shortcuts vary by system and language layout. You can copy U+200C from this page on Windows, Mac, iPhone, or Android. To add it inside a word, place your cursor in the Insert ZWNJ into Text box and select Insert ZWNJ at Cursor.
Why is ZWNJ important in Persian and Arabic text?
In Persian and other connecting scripts, ZWNJ can help preserve the intended spelling and letter shapes. For example, میروم contains U+200C after می. Removing it can change how the text appears, so check its position before deleting it.
Is ZWNJ the same as half space in Persian?
In Persian typing, “half space” often refers to ZWNJ (U+200C). It is not the same as an ordinary keyboard space. ZWNJ keeps parts of certain words from joining without inserting a regular gap.
Does ZWNJ create a line break?
No. ZWNJ (U+200C) controls letter joining, not word or line breaks. For a possible invisible line break, use Zero Width Space (U+200B) instead.
Why can't I see U+200C after pasting?
ZWNJ has no visible symbol of its own. Its effect appears only with certain nearby characters and may depend on the font or app. Paste your text into the checker above to confirm whether U+200C is present.
Can removing ZWNJ change Persian spelling?
Yes. In Persian and related writing systems, ZWNJ may be part of correct spelling. Removing it can change how parts of a word connect or appear. Check each occurrence before deleting it.
Learn More from Unicode and W3C
These official references explain what ZWNJ does, how it differs from other zero-width characters, and why it matters for Persian and Arabic-script text.
- Unicode Standard — Arabic Script explains how U+200C prevents letter connections.
- Unicode Standard — Format Characters compares U+200C, U+200D and U+200B.
- W3C — Arabic & Persian Layout Requirements describes how ZWNJ is used in joining scripts.
Related Unicode Tools
Want to compare other zero-width characters or find hidden characters in your text? Try these tools.
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.