InvisibleIT
Back to generator

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.

CharacterUnicodeBest forNot forAvoid this mistake
Zero Width Non-JoinerU+200CKeep 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 JoinerU+200DHelp 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 SpaceU+200BLet text wrap at an invisible break point.Preventing letters from joining.Using Zero Width Space where ZWNJ is needed.
Hangul FillerU+3164A blank-looking character that normally takes up space.Preventing or requesting letter joining.Assuming Hangul Filler works exactly like ZWNJ or ZWSP.
Regular SpaceU+0020Separate 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 NameZERO WIDTH NON-JOINER
AbbreviationZWNJ
Code PointU+200C
Decimal8204
Unicode BlockGeneral Punctuation
General CategoryCf — Format
WidthZero Width
UTF-8E2 80 8C
HTML Named Entity‌
HTML Decimal‌
HTML Hex‌
JavaScript / JSON\u200C
Python\u200C

Unicode Name

ZERO WIDTH NON-JOINER

Abbreviation

ZWNJ

Unicode

U+200C

Decimal

8204

HTML Named

‌

HTML Decimal

‌

HTML Hex

‌

JavaScript / JSON

\u200C

Python

\u200C

UTF-8

E2 80 8C

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

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.

  1. Copy and verify. Tap Copy Zero Width Non-Joiner, then paste into Check Your Copied ZWNJ above to confirm that U+200C is present.
  2. 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.
  3. Add it to a website or code. Use an escape such as \u200C in JavaScript or Python, or the HTML entity ‌. These are code snippets; use the main copy button when you need the invisible character itself.
  4. 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.

Related Unicode Tools

Want to compare other zero-width characters or find hidden characters in your text? Try these tools.