Invisible
Back to generator

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 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

For 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.

CharacterUnicodeBest forSkip whenCommon mix-up
Zero Width Non-JoinerU+200CRequest 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 JoinerU+200DRequest 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 SpaceU+200BInvisible 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 FillerU+3164Blank-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.

  1. 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.
  2. 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.
  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 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.